11.07.2015 Views

Full document describing all aspects of the curriculum, release 2 (pdf)

Full document describing all aspects of the curriculum, release 2 (pdf)

Full document describing all aspects of the curriculum, release 2 (pdf)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Joint MSc <strong>curriculum</strong> in s<strong>of</strong>tware engineeringEuropean Union TEMPUS Project CD_JEP-18035-2003Curriculumspecification- 2 nd <strong>release</strong> -Version: May 25, 2006Contents1. Declaration <strong>of</strong> <strong>the</strong> project consortium2. Goals <strong>of</strong> <strong>the</strong> Joint <strong>curriculum</strong> in s<strong>of</strong>tware engineering3. Structure <strong>of</strong> <strong>the</strong> <strong>curriculum</strong>4. Module lists5. Principles for implementing <strong>the</strong> <strong>curriculum</strong>6. Quality assurance and control7. Module templates- Glossary- Version historyConsortium members <strong>of</strong> <strong>the</strong> European union (EU) Tempus project:Humboldt University, Berlin (Pr<strong>of</strong>. Klaus Bo<strong>the</strong>, Grantholder)University <strong>of</strong> Novi Sad (Pr<strong>of</strong>. Zoran Budimac, Co-ordinator)Deusto University, Bilbao (Pr<strong>of</strong>. Rebeca Cortazar)De Montfort University, Leicester (Pr<strong>of</strong>. Hussein Zedan)University <strong>of</strong> Belgrade (Pr<strong>of</strong>. Dragan Bojić)University <strong>of</strong> Niš (Pr<strong>of</strong>. Milena Stanković)University ‘Sts. Cyril and Methodius’, Skopje (Pr<strong>of</strong>. Katerina Zdravkova)Individual Experts:Pr<strong>of</strong>. Ioan Jurca (Timisoara, Romania)Pr<strong>of</strong>. Stanimir Stoyanov (Plovdiv, Bulgaria)http://perun.im.ns.ac.yu/msc-se/ 1


1. DeclarationThe project consortium recognizes difficulties in developing a <strong>curriculum</strong> for<strong>the</strong> joint master studies in ‘S<strong>of</strong>tware Engineering’ for changing anddifferent environments for four universities in two different countries inSerbia and Macedonia.Therefore we are not defining a fixed <strong>curriculum</strong>, but ra<strong>the</strong>r a <strong>curriculum</strong>template that can be implemented in several different ways by <strong>the</strong>participating institutions. All <strong>of</strong> <strong>the</strong> implemented curricula share:• goals, structure, and <strong>the</strong> module list <strong>of</strong> <strong>the</strong> <strong>curriculum</strong>,• principles for implementing (adopting) <strong>the</strong> <strong>curriculum</strong>,• quality assurance and control mechanism,• pool <strong>of</strong> implemented modules (study packs) fully developedaccording to:o module templates ando principles for <strong>the</strong> development <strong>of</strong> modules.All mentioned items are described in this <strong>document</strong>.This <strong>document</strong> will be accompanied by fur<strong>the</strong>r <strong>curriculum</strong> <strong>document</strong>s:<strong>curriculum</strong> handbook, detailed module template handbook, staff handbook,and student’s handbook. The information that will be contained in <strong>the</strong>se<strong>document</strong>s will not be <strong>the</strong> subject <strong>of</strong> this <strong>document</strong> (i.e., assessments,grading, detailed rules for <strong>the</strong> final project, etc…).http://perun.im.ns.ac.yu/msc-se/ 2


2. Goals <strong>of</strong> <strong>the</strong> Joint MSc <strong>curriculum</strong> in s<strong>of</strong>twareengineeringMissionThe MSc <strong>curriculum</strong> in s<strong>of</strong>tware engineering is committed to excellence inEuropean-wide s<strong>of</strong>tware education and training <strong>of</strong> engineers to deliver highquality and trustworthy s<strong>of</strong>tware systems that meet <strong>the</strong> local industrialneeds.General competencies <strong>of</strong> a successful MSc graduate <strong>of</strong> <strong>the</strong> joint<strong>curriculum</strong>• Ability to work in an interdisciplinary team• Capacity for analysis and syn<strong>the</strong>sis• Capacity for applying knowledge in practice• Capacity for generating new ideas (creativity)• Capacity to learn• Critical and self-critical abilities• Decision-making• Knowledge <strong>of</strong> a second language• Research skillsSpecific learning outcomes <strong>of</strong> a successful MSc graduate <strong>of</strong> <strong>the</strong>joint <strong>curriculum</strong>• Show mastery and critical thinking <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware engineering (SE)knowledge and skills and pr<strong>of</strong>essional issues necessary to beginpractice/research as a s<strong>of</strong>tware engineer.• Work as individual or as part <strong>of</strong> a team to develop and deliver highquality s<strong>of</strong>tware artefacts, being able to analyze its level <strong>of</strong> quality.• Identify, analyse, and reconcile conflicting project objectives, findingacceptable compromises within limitations <strong>of</strong> cost, time, knowledge,existing systems and organizations.• Analyze, design and <strong>document</strong> appropriate solutions in more thanone application domains using SE approaches that integrate ethical,social, legal and economic concerns• Demonstrate an understanding <strong>of</strong> and critic<strong>all</strong>y analyze and applycurrent <strong>the</strong>ories, models and techniques that provide a basis forproblem identification and analysis, s<strong>of</strong>tware design, development,implementation, verification and <strong>document</strong>ation.• Demonstrate an appreciation and understanding for <strong>the</strong> importance<strong>of</strong> negotiation, effective work habits, leadership and goodcommunication with stakeholders in a typical s<strong>of</strong>tware environment.• Learn new <strong>the</strong>ories, models, techniques and technologies as <strong>the</strong>yemerge and appreciate <strong>the</strong> necessity <strong>of</strong> such continuing pr<strong>of</strong>essionaldevelopment.http://perun.im.ns.ac.yu/msc-se/ 3


3. Structure <strong>of</strong> <strong>the</strong> <strong>curriculum</strong>• The value <strong>of</strong> master studies will be 90 European credit transfersystem (ECTS) credits.• The studies will be organized into three semesters.• One academic year consists <strong>of</strong> two semesters and is lasting for 30weeks (1 semester = 15 weeks).• The first two semesters will consist <strong>of</strong> lectures, while <strong>the</strong> third onewill be devoted to <strong>the</strong> final project/<strong>the</strong>sis.• Induction layer: a couple <strong>of</strong> introductory modules will be <strong>of</strong>feredbefore <strong>the</strong> 1 st semester for students without enough pre-knowledge• First semester: core modules (30 ECTS)• Second semester: optional modules (30 ECTS)• Third semester: final project (30 ECTS)• 1 ECTS credit is worth 20 hours <strong>of</strong> total student's workload.• There are 21 - 24 contact hours per week.http://perun.im.ns.ac.yu/msc-se/ 4


4. Module listList <strong>of</strong> induction layer modules Introduction to s<strong>of</strong>tware engineering (SE-IN-01) Principles <strong>of</strong> programming, coding and testing (SE-IN-02) Project management (SE-IN-03) System modelling and design (SE-IN-04)Core modules1. Research methods (part 1) (SE-C-01)2. Requirements engineering (SE-C-02)3. Architecture, design, and patterns (SE-C-03)4. S<strong>of</strong>tware testing (SE-C-04)5. System integration (SE-C-05)6. Information system development process (SE-C-06)Optional modules1. S<strong>of</strong>tware evolution (SE-O-01)2. Component-based development (SE-O-02)3. Formal methods engineering (SE-O-03)4. S<strong>of</strong>tware engineering for critical systems (SE-O-04)5. Privacy, ethics, and social responsibilities (SE-O-05)6. Applied system thinking (SE-O-06)7. Business modelling (SE-O-07)8. E-business (SE-O-08)9. Business process re-engineering (SE-O-09)10. Service quality management (SE-O-10)11. S<strong>of</strong>tware engineering for database systems (SE-O-11)12. Advanced topics in s<strong>of</strong>tware engineering (SE-O-12)Final project Detailed project descriptions are made available to students at <strong>the</strong>beginning <strong>of</strong> <strong>the</strong> <strong>curriculum</strong> but <strong>the</strong>y start working on it in 3 rd semester. At <strong>the</strong> beginning <strong>of</strong> semester a condensed module on selected topics inproject management is delivered to students. Some suggested projects are:• Electronic patient records• Electronic purse• Flight control systems• E-voting systemhttp://perun.im.ns.ac.yu/msc-se/ 5


5. Principles for implementing <strong>the</strong> <strong>curriculum</strong>1. Number <strong>of</strong> modules. All modules are one-semester long and equ<strong>all</strong>yweighted. The total number <strong>of</strong> modules will be eight. However, dueto different traditions and backgrounds some universities may chooseten modules. In such a case we insist that at least eight <strong>of</strong> those tenmodules must be chosen from <strong>the</strong> list given below.2. Module weight. The weight <strong>of</strong> each module is 7.5 ECTS credits incase <strong>of</strong> four and six ECTS credits in case <strong>of</strong> five modules persemester. In <strong>the</strong> former case additional homeworks must be given tostudents in order to reach <strong>the</strong> value <strong>of</strong> 7.5 ECTS credits per everymodule.3. Contact hours. The number <strong>of</strong> contact hours per module is four perweek.4. Induction layer. Modules in this layer can be chosen from thosedescribed below. However if an institution does have equivalent (withrespect to learning outcomes) modules <strong>the</strong>n it is free to use <strong>the</strong>m.5. Core modules. Every institution is obliged to choose four modulesfrom <strong>the</strong> list <strong>of</strong> core modules. The institution can change its decisionevery year and have to direct students to <strong>the</strong> core modules <strong>of</strong> o<strong>the</strong>rinstitutions belonging to <strong>the</strong> joint MSc studies in s<strong>of</strong>twareengineering.For those institutions that decided to choose five modules persemester, four <strong>of</strong> those five must be from <strong>the</strong> core.6. Optional modules.6.1 In <strong>the</strong> 2 nd semester, students can choose four modules from<strong>the</strong> rest <strong>of</strong> core modules and/or optional modules, provided tohim or her by any institution belonging to <strong>the</strong> joint MScstudies in s<strong>of</strong>tware engineering.6.2 Institutions do not have to <strong>of</strong>fer <strong>all</strong> available optional modulesevery year.6.3 Institutions can include new module(s) into <strong>the</strong> set <strong>of</strong> optionalmodules, providing that <strong>the</strong>y pass through <strong>the</strong> same qualityprocedures as <strong>the</strong> origin<strong>all</strong>y existing modules. The consortium<strong>of</strong> institutions implementing <strong>the</strong> joint studies should agree on<strong>the</strong> aims and learning outcomes <strong>of</strong> new modules.7. The choice <strong>of</strong> tools. Each institution implementing <strong>the</strong> <strong>curriculum</strong> willselect appropriate technologies and products to be used forimplementation and exemplification purposes, according tosuggestions given in module templates.8. Changes. If some <strong>of</strong> <strong>the</strong> institutions wishes to suggest changes itshould address <strong>the</strong> project consortium for a final decision during <strong>the</strong>duration <strong>of</strong> <strong>the</strong> project. O<strong>the</strong>rwise, <strong>the</strong> consortium will make <strong>the</strong> finaldecision.http://perun.im.ns.ac.yu/msc-se/ 6


6. Quality assurance and controlQuality assurance and control are extremely vital for <strong>the</strong> success <strong>of</strong> anyeducational and training <strong>curriculum</strong>. To this end we have established aseries <strong>of</strong> protocols that ensure <strong>the</strong> attainment <strong>of</strong> <strong>the</strong> highest level <strong>of</strong> qualityto <strong>the</strong> proposed MSc Curriculum. These protocols address five basiccomponents: <strong>curriculum</strong> validation, module development, moduleassessment, students’ selection and quality team.1. Curriculum Validation1.1 Validation is <strong>the</strong> process by which an academic institution establishesthat a new <strong>curriculum</strong> is• academic<strong>all</strong>y viable,• that academic standards have been appropriately defined and• that <strong>the</strong> students have <strong>the</strong> best opportunity to learn.1.2 A validation event should be organised in which a validation panel <strong>of</strong>academic peers scrutinise <strong>the</strong> proposed <strong>curriculum</strong>.1.3 A panel must have external members (academics and/orindustrialists).1.4 The panel reads <strong>the</strong> <strong>curriculum</strong> <strong>document</strong>ation before <strong>the</strong> event. The<strong>document</strong>ation consists <strong>of</strong> Curriculum handbook (<strong>describing</strong> <strong>the</strong> whole<strong>curriculum</strong> dealing with rationale, <strong>curriculum</strong>, costing and resourceissues, etc.), Detailed module templates handbook (requirementsspecification <strong>of</strong> <strong>all</strong> modules in <strong>the</strong> <strong>curriculum</strong>), Staff handbook(contains <strong>all</strong> CVs <strong>of</strong> teaching staff) and Student handbook (containseverything that students need to know, from <strong>the</strong> course regulation,modules, staff, libraries, etc.).1.5 Holding a face-to-face validation puts <strong>the</strong> <strong>curriculum</strong> team to <strong>the</strong> testand ensures <strong>the</strong>y can justify <strong>the</strong>ir proposal.2. Module DevelopmentEvery fully developed module is described by <strong>the</strong> study pack that contains<strong>the</strong> following:• detailed module template that refines and details <strong>the</strong> moduletemplate and also contains a) requirements for <strong>the</strong> lecturer (jobdescription) for every module and b) precise rules for examinationand <strong>the</strong> course work;• supporting literature for lecturers;• presentation material preferably slides in PPT format;• lecture notes, separate or attached to slides (preferably <strong>the</strong> latter),explaining <strong>the</strong> way in which slide contents can be delivered tostudents;• material for <strong>the</strong>oretical exercises (assignments, rules, solutions…);http://perun.im.ns.ac.yu/msc-se/ 7


• material for practical exercises (assignments, rules, solutions,tools…);• supporting literature for students (<strong>the</strong> reference list and/or actualreading material).2.1 The MSc <strong>curriculum</strong> will establish a number <strong>of</strong> technical editors(TEs), who are expert in particular subject(s) in <strong>the</strong> field. Each TE isresponsible for <strong>the</strong> technical direction and evolution <strong>of</strong> <strong>the</strong> module(s)in his/her subject area.2.2 The requirement specification <strong>of</strong> a module is clearly <strong>document</strong>ed inwhat is known as module template. The development <strong>of</strong> a modulemust follow and satisfy its template.2.3 Any changes in <strong>the</strong> module must be approved by <strong>the</strong> TE in chargeand be reflected in <strong>the</strong> template itself.2.4 Modules go through minor and major revisions on an annual basis.2.5 Prior to its first delivery, a module goes through two <strong>release</strong>s: draftandfinal- <strong>release</strong>s. In <strong>the</strong> former, a dry-run is given to a selectedaudience (members <strong>of</strong> <strong>the</strong> teaching staff) and <strong>the</strong>ir feedback is takeninto account in <strong>the</strong> second <strong>release</strong>.2.6 Modules have module feedback form where students are asked t<strong>of</strong>ill at <strong>the</strong> end <strong>of</strong> each module delivery. These are collated, analysedand reported to <strong>the</strong> module TE.2.7 Every module must be evaluated by <strong>the</strong> teaching team at <strong>the</strong> end <strong>of</strong>each delivery. The evaluation should take into considerationachievement rates, student views, external examiners comments and<strong>the</strong> observation <strong>of</strong> <strong>the</strong> teaching team. Module evaluation should leadto action for enhancement where problems are identified.2.8 A module is retired if its objectives do not fit <strong>the</strong> purpose it wasorigin<strong>all</strong>y believed.3. Module Assessment3.1 Three modes <strong>of</strong> assessment exist: unseen paper, course-work, andmixture <strong>of</strong> unseen paper and course-work. The choice depends on<strong>the</strong> nature <strong>of</strong> <strong>the</strong> module.3.2 An internal process should exist to ensure <strong>the</strong> quality (with respect tolearning outcomes) <strong>of</strong> <strong>the</strong> assessed work. Such process should havean internal moderator who checks (and sign-<strong>of</strong>f) <strong>the</strong> unseen paperand/or <strong>the</strong> course-work.3.3 An external examiner (EE) is appointed to ensure that <strong>the</strong> quality<strong>of</strong> <strong>the</strong> assessed work is <strong>of</strong> a national and Joint studies standards. TheEE should be an experienced academic or industrialist.4. Students’ Selection4.1 Being an advanced master in s<strong>of</strong>tware engineering, <strong>the</strong> recommendedtarget intake group is as follows:http://perun.im.ns.ac.yu/msc-se/ 8


• current practitioners with adequate relevant experience;• new graduates <strong>of</strong> computer science or s<strong>of</strong>tware engineering;• Computer scientists or s<strong>of</strong>tware engineers who require retraining orundertake career development;• students wishing to embark on a research <strong>curriculum</strong>, at a PhD level,in s<strong>of</strong>tware engineeringThere are no restrictions regarding <strong>the</strong> average grade mark in previouseducation unless stated o<strong>the</strong>rwise in national laws or universityregulations.4.2 We should note that new graduates <strong>of</strong> subjects such as ma<strong>the</strong>matics,engineering and physics may also be considered as we have aninduction provision in <strong>the</strong> <strong>curriculum</strong> which intends to provide adequatebackground knowledge in s<strong>of</strong>tware engineering to <strong>all</strong>ow <strong>the</strong>m to follow<strong>the</strong> rest <strong>of</strong> <strong>the</strong> <strong>curriculum</strong>.4.3 As <strong>the</strong> general guidelines for those who wish to attend <strong>the</strong> Joint MSc<strong>curriculum</strong>, we provide <strong>the</strong> following competencies that are expectedfrom every student. These guidelines can be also used by <strong>the</strong>institution to decide whe<strong>the</strong>r or not an induction is necessary.• fundamental knowledge in basic fields <strong>of</strong> ma<strong>the</strong>matics;• ability <strong>of</strong> logical thinking, formulation <strong>of</strong> prerequisites, and derivingconclusions in a formal or formalized way;• ability to understand and formulate problem, and its modelling toenable its analysis and solving;• programming skills in at least procedural and object-orientedprogramming paradigm;• understanding <strong>of</strong> <strong>all</strong> phases in <strong>the</strong> s<strong>of</strong>tware development cycle:requirements, analysis, design, implementation, testing,maintenance;• practical skills in using <strong>of</strong> programming environments, databasemanagement systems (DBMS), and computer-aided s<strong>of</strong>twareengineering (CASE) tools;• understanding <strong>of</strong> current trends in <strong>the</strong> development <strong>of</strong> informatics• ability to adapt to new circumstances, i.e., ability to learn newmodels, techniques and technologies as <strong>the</strong>y emerge and appreciate<strong>the</strong> necessity <strong>of</strong> such continuing pr<strong>of</strong>essional development;• appreciation <strong>of</strong> basic ethical and social responsibilities <strong>of</strong> informationtechnology (IT).5. The quality teamWe recognize <strong>the</strong> following roles and <strong>the</strong>ir duties in <strong>the</strong> process <strong>of</strong> <strong>the</strong>developing and delivering study packs.http://perun.im.ns.ac.yu/msc-se/ 9


Roles and duties in <strong>the</strong> quality assurance <strong>of</strong> study packshttp://perun.im.ns.ac.yu/msc-se/ 10


7. Module Templateshttp://perun.im.ns.ac.yu/msc-se/ 11


INTRODUCTION TO SOFTWARE ENGINEERING (SE-IN-01)AIMS:This module gives <strong>the</strong> student foundational knowledge and concepts in s<strong>of</strong>tware engineering. Itaims to be both a light touch introduction (essential for those who have no knowledge <strong>of</strong> <strong>the</strong>subject) and a refresher for those who need to refresh <strong>the</strong>ir knowledge on <strong>the</strong> topics.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• to select an appropriate s<strong>of</strong>tware development life cycle model;• understand <strong>the</strong> importance <strong>of</strong> and apply appropriate requirements, analysis, design, build andtesting methodologies;• discuss project-wide processes, including quality assurance, configuration management,project planning and risk management;• identify essential deployment activities;• address maintenance issues during initial project development as well as during <strong>the</strong>maintenance phase;• compare structured and object-oriented techniques;• discuss best s<strong>of</strong>tware engineering practices and common pitf<strong>all</strong>s that cause many projects t<strong>of</strong>ail;• discuss techniques that will aid an organisation in achieving ISO (International Organisation forStandardisation) or SEI CMM (S<strong>of</strong>tware Engineering Institute Capability Maturity Model) goals;• assess <strong>the</strong> value <strong>of</strong> various tools for CASE (Computer-Aided S<strong>of</strong>tware Engineering).SYLLABUS CONTENT:• S<strong>of</strong>tware: art or science?• S<strong>of</strong>tware life cycles• Capturing and managing requirements• Analysis, design and implementation• Testing, deployment and maintenance• Building in quality• Project planning and management• CASE tools• Making it happenhttp://perun.im.ns.ac.yu/msc-se/ 12


PRINCIPLES OF PROGRAMMING, CODING AND TESTING (SE-IN-02)AIMS:This module distinguishes between programming (as a principle activity, recursion, conditional,modularisation,) and coding (a practical activity realising <strong>the</strong> programming principles). Thismodule introduces two complementary topics: (1) traditional, imperative programming; and (2) <strong>the</strong>implementation <strong>of</strong> standard linear data structures and <strong>the</strong> algorithms that manipulate <strong>the</strong>m. Key<strong>aspects</strong> <strong>of</strong> an imperative programming language are covered, including major library functionsand basic design and testing techniques. The module will be particularly suited to anyone whoneeds to understand how a computer can be controlled using s<strong>of</strong>tware designed for a traditionalVon-Neumann architecture. It is an introductory course in computer programming.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• develop, using a text editor, compiler and linker, sm<strong>all</strong>-scale imperative programs involving<strong>the</strong> core language; select and use standard library functions; and modify pre-codedalgorithms;• design a suitable test strategy for a computer program and apply standard debuggingtechniques to identify and correct semantic errors;• design and write s<strong>of</strong>tware that creates and maintains linear data structures along withalgorithms for searching and sorting data;• describe <strong>the</strong> performance characteristics <strong>of</strong> standard searching and sorting techniquesSYLLABUS CONTENT:• The core <strong>of</strong> procedural language: statements, types, operators, expressions, sequence,selection, iteration, arrays and strings.• Sm<strong>all</strong> program construction: functions, records, pointers, variable scope and lifetime,libraries, separate compilation and linking.• Linear data structures and algorithms: Linked and contiguous storage, linear structures,ordered and unordered lists, searching and sorting.• S<strong>of</strong>tware testing: unit, integration, system, acceptance, regression…http://perun.im.ns.ac.yu/msc-se/ 13


PROJECT MANAGEMENT (SE-IN-03)AIMS:To provide basic project management skills with a strong emphasis on issues and problemsassociated with delivering successful IT projects. The module is designed to provide anunderstanding <strong>of</strong> <strong>the</strong> particular issues encountered in handling IT projects and to <strong>of</strong>fer studentsmethods, techniques and 'hands-on' experience in dealing with <strong>the</strong>m. Upon completion <strong>of</strong> thismodule students will be able to undertake and be aware <strong>of</strong> <strong>aspects</strong> <strong>of</strong> project management.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• understand and practice <strong>the</strong> process <strong>of</strong> project management and its application in deliveringsuccessful IT projects;• evaluate a project to develop <strong>the</strong> scope <strong>of</strong> work, provide accurate cost estimates and to plan<strong>the</strong> various activities;• understand and use risk management analysis techniques that identify <strong>the</strong> factors that put aproject at risk and to quantify <strong>the</strong> likely effect <strong>of</strong> risk on project timescales;• identify <strong>the</strong> resources required for a project and to produce a work plan and resourceschedule;• monitor <strong>the</strong> progress <strong>of</strong> a project and to assess <strong>the</strong> risk <strong>of</strong> slippage, revising targets orcounteract drift;• distinguish between <strong>the</strong> different types <strong>of</strong> project and follow <strong>the</strong> stages needed to negotiatean appropriate contract.SYLLABUS CONTENT:• Introduction to IT project management: distinguishing between s<strong>of</strong>tware & o<strong>the</strong>r types <strong>of</strong>development projects; defining <strong>the</strong> scope <strong>of</strong> s<strong>of</strong>tware project management; structuredapproach to project planning.• Carrying out a project evaluation against strategic, technical and economic criteria: using avariety <strong>of</strong> cost-benefit evaluation techniques; evaluating risks involved and selectingappropriate strategies for minimising potential costs; selecting an appropriate processmodel, reducing risks by implementing <strong>the</strong> projects increment<strong>all</strong>y.• Estimating project costs by bottom up approach: understanding <strong>the</strong> range <strong>of</strong> estimatingmethods that can be used to understand <strong>the</strong> COCOMO (COnstructive COst MOdel)parametric model used to develop effort methods; producing an activity plan for a projectusing a tool (e.g. MS Project); creating a critical path and a precedence network for aproject; identifying <strong>the</strong> factors that put a project at risk.• Identify <strong>the</strong> resources required for a project and producing a plan and work schedule:monitoring <strong>the</strong> progress <strong>of</strong> a project and assessing <strong>the</strong> risk <strong>of</strong> slippage; revising targets tocorrect or counteract drift; controlling changes to projects requirements; understanding <strong>the</strong>advantages and disadvantages <strong>of</strong> using goods and services brought in from externalorganisations; distinguishing between <strong>the</strong> different types <strong>of</strong> contract: following <strong>the</strong> stagesneeded to negotiate an appropriate contract; evaluating proposal.• Identifying some <strong>of</strong> <strong>the</strong> factors that influence people's behaviour in a project environment:increasing staff motivation and improving group working; an appreciation <strong>of</strong> <strong>the</strong> various teamstructures; understanding <strong>the</strong> importance <strong>of</strong> s<strong>of</strong>tware quality standards to ensure meeting<strong>the</strong> project requirements.http://perun.im.ns.ac.yu/msc-se/ 14


SYSTEM MODELLING AND DESIGN (SE-IN-04)AIMS:This module provides <strong>the</strong> student with practical experience <strong>of</strong> <strong>the</strong> issues involved with s<strong>of</strong>twaredevelopment. Specific<strong>all</strong>y, <strong>the</strong> student will work as part <strong>of</strong> team developing s<strong>of</strong>tware from a suppliedspecification and design <strong>document</strong>. The development will take place on an industrial-strengthplatform (e.g. .NET).The basic concepts <strong>of</strong> <strong>the</strong> object-oriented (OO) paradigm and <strong>the</strong> rapid applicationdevelopment (RAD) approach are introduced and an overview <strong>of</strong> <strong>the</strong> means by which systemsrequirements can be captured and modelled is given. The elaboration <strong>of</strong> analysis models into designmodels is covered, taking into consideration both object and systems design issues. The way inwhich test cases are used to ensure quality s<strong>of</strong>tware production is also examined. Throughout,models are developed using <strong>the</strong> Unified modelling language (UML) which has become an industrystandard for OO modelling.The use <strong>of</strong> design patterns is introduced; a range <strong>of</strong> which are applied to <strong>the</strong> specification <strong>of</strong>OO design models. An overview <strong>of</strong> <strong>the</strong> role <strong>of</strong> methodologies in specification is given, with anintroduction to a contemporary systems development methodology (e.g. USDP - Unified S<strong>of</strong>twareDevelopment Process) as a framework for undertaking analysis and design activities.The module will encourage <strong>the</strong> use <strong>of</strong> s<strong>of</strong>tware tools whenever possible in areas such as:collaborative working, product testing, version and <strong>document</strong>ation control. The student will gainexperience <strong>of</strong> s<strong>of</strong>tware development, s<strong>of</strong>tware testing and adaptive maintenance while gainingfamiliarity with a modern development framework. Throughout <strong>the</strong> module <strong>the</strong> student will beencouraged to reflect upon <strong>the</strong> experience gained and keep to maintain a personal set <strong>of</strong> notesLEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• map a specification and design into code;• explain <strong>the</strong> main issues involved with collaborative s<strong>of</strong>tware development, testing andmaintenance;• explain <strong>the</strong> object-oriented paradigm and identify <strong>the</strong> significant issues that are addressed whendeveloping object-oriented systems specification models;• construct a set <strong>of</strong> system specification models using an appropriate range <strong>of</strong> object modellingtechniques that represent different perspectives <strong>of</strong> a particular systems development (e.g. buildUML models and describe <strong>the</strong>m by use cases, class diagrams, activity diagrams, interactiondiagrams, state charts and package diagrams);• use a CASE tool to build and <strong>document</strong> analysis and design models in a consistent manner;• describe how analysis and design activities are organized within a leading systems developmentmethodology (e.g. Unified S<strong>of</strong>tware Development Process) and discuss <strong>the</strong> contribution <strong>of</strong> <strong>the</strong>methodology in <strong>the</strong> production <strong>of</strong> quality s<strong>of</strong>tware systems;• describe <strong>the</strong> features <strong>of</strong> a modern s<strong>of</strong>tware development framework that support access control;multi-language programming; version control and <strong>release</strong>.SYLLABUS CONTENT:• The .NET environment: structure; facilities; navigation; services.• The basic concepts <strong>of</strong> <strong>the</strong> object-oriented (OO) paradigm and RAD approach to systemsdevelopment.• Recap traditional fact-finding approaches for systems requirements capture.• An overview <strong>of</strong> <strong>the</strong> use <strong>of</strong> RAD techniques such as JAD (Joint Application Development), usecase and task-scripting.• An overview <strong>of</strong> techniques used for <strong>the</strong> analysis and modelling <strong>of</strong> logical requirements,expressed as UML models.• Systems analysis vs. systems design: moving from an analysis set <strong>of</strong> <strong>document</strong>s to a designmodel.• Introduction to systems design issues: object design (assigning responsibilities, CRC (Class-Responsibility-Collaboration) cards, visibility and designing associations, specifying constraintsand integrity); facilitating reuse (coupling and cohesion); systems design concepts; identifyingdesign goals; s<strong>of</strong>tware architecture (layering and partitioning, packaging subsystems,deployment); interface design (persistent data management strategies, identifying concurrencyand control).http://perun.im.ns.ac.yu/msc-se/ 15


RESEARCH METHODS (SE-C-01)AIMS:The module will introduce and develop <strong>the</strong> concepts, organisational structure and deliverables <strong>of</strong> aresearch project using qualitative and quantitative methods. To extend to a postgraduate level, <strong>the</strong>student's appreciation and understanding <strong>of</strong> how to organise, to plan and 'execute' a technicalresearch project.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• prepare, plan and monitor a research project using tools and skills needed for critical evaluationand analyses <strong>of</strong> project results;• formulate, plan and communicate a research project;• select and appreciate <strong>the</strong> appropriate search methods for collection <strong>of</strong> information;• demonstrate knowledge and experience on procedures and methods for structuring, ga<strong>the</strong>ringand handling <strong>of</strong> information and data in a technological environment.SYLLABUS CONTENT:• Project approaches: project management, quality management.• Communication skills: presentation skills, literature search & patents, technical report writing.• Methods for research: problem analyses and problem solving techniques; methods for structuringa problem; qualitative methods for system/process analyses and performance assessment;quantitative methods for data ga<strong>the</strong>ring and data analyses; experiment design and collection <strong>of</strong>data, performance analyses, variance analyses, statistical quality control, statistical processcontrol; plagiarism and referencing; health and safety <strong>aspects</strong> <strong>of</strong> researchPREREQUISITES: NoneRECOMMENDED ASSESMENT: Courseworkhttp://perun.im.ns.ac.yu/msc-se/ 16


REQUIREMENTS ENGINEERING (SE-C-02)AIMS:S<strong>of</strong>tware requirement engineering is <strong>the</strong> science and discipline concerned with establishing and<strong>document</strong>ing s<strong>of</strong>tware requirements. It consists <strong>of</strong> s<strong>of</strong>tware requirement elicitation, analysis,specification, verification and management. On <strong>the</strong> o<strong>the</strong>r hand, system requirements engineering is<strong>the</strong> science and discipline concerned with analysing and <strong>document</strong>ing system requirements. Itinvolves transforming an operational need into a system description, system performanceparameters and a system configuration. This is accomplished through an iterative process <strong>of</strong>analysis, design, trade-<strong>of</strong>f studies and prototyping.This module is intended to provide <strong>the</strong> student with a comprehensive understanding, criticalevaluation <strong>of</strong> requirement engineering both s<strong>of</strong>tware and system.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y evaluate baseline management models;• critic<strong>all</strong>y evaluate fundamentals <strong>of</strong> requirements engineering;• appreciate <strong>the</strong> essential issues <strong>of</strong> requirement engineering and architecture design;• perform requirements engineering, including elicitation, analysis, <strong>document</strong>ation and validation;• practic<strong>all</strong>y implement traceability issues in system requirement engineering;• critic<strong>all</strong>y evaluate <strong>the</strong> role <strong>of</strong> tools and methods in requirement engineering.SYLLABUS CONTENT:• The requirement environment.• Requirements characteristics.• System and system engineering.• Requirement <strong>all</strong>ocation and/or relationship assignment.• Requirement versus design implementation.• Requirement quality.• Relationships among stakeholders, i.e., users, analysts, non-user customers, sponsors,managements…• The concept <strong>of</strong> operations: <strong>the</strong> bridging from operational requirement to technical specifications• Techniques for requirement elicitation.• Requirement engineering with a tool (e.g. ViewPoints) and use casesPREREQUISITES: NoneRECOMMENDED ASSESMENT: Courseworkhttp://perun.im.ns.ac.yu/msc-se/ 17


ARCHITECTURE, DESIGN, AND PATTERNS (SE-C-03)AIMS:S<strong>of</strong>tware architecture is an active area with growing interest by researchers and practitioners from<strong>the</strong> disciplines <strong>of</strong> s<strong>of</strong>tware engineering and s<strong>of</strong>tware design. In <strong>the</strong> strict sense, s<strong>of</strong>twarearchitecture is “a description <strong>of</strong> <strong>the</strong> subsystems and components <strong>of</strong> a s<strong>of</strong>tware system and <strong>the</strong>relationships between <strong>the</strong>m.”The increasing volatility <strong>of</strong> requirements and need to respond in timely fashion to changestaking place in <strong>the</strong> business or application domain, requires s<strong>of</strong>tware design to produce systemsthat can be extended and modified relatively easily. There is an increasing need in industry fors<strong>of</strong>tware to support evolution <strong>of</strong> requirements, <strong>the</strong> rapid addition <strong>of</strong> services, and a wide variety <strong>of</strong>customer needs.A number <strong>of</strong> architecture modelling notations and tools as well as architectural styles havebeen proposed to provide <strong>the</strong> foundation for developing robust, scalable, and reliable s<strong>of</strong>tware.Explicit focus on architecture in conjunction with emerging best practices in analysis and design hasshown great potential to improve <strong>the</strong> current state-<strong>of</strong>-<strong>the</strong>-art in s<strong>of</strong>tware product development.The course addresses this issue as a central design goal, and introduces <strong>the</strong> student to avariety <strong>of</strong> modelling and design techniques that address this need in <strong>the</strong> context <strong>of</strong> object-orienteds<strong>of</strong>tware development. The course covers <strong>all</strong> <strong>aspects</strong> <strong>of</strong> designing s<strong>of</strong>tware: from architecturalissues (styles, patterns, views) to design patterns that can be described as “a common solution to acommon problem in a given context” on a lower lever <strong>of</strong> abstraction.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• clearly appreciate <strong>the</strong> impact <strong>of</strong> abstraction, modelling, architecture, and patterns in <strong>the</strong>development <strong>of</strong> a s<strong>of</strong>tware product;• critic<strong>all</strong>y discuss and explore key concepts in s<strong>of</strong>tware architectures, designs, and patterns;• critic<strong>all</strong>y discuss and explore architectural and design alternatives and be able to generatereasonable alternatives for a problem, and choose among <strong>the</strong>m;• to recognize <strong>the</strong> appropriate pattern for a problem and to create an appropriate one;• apply practical skills to generate and deploy s<strong>of</strong>tware architectures and designs based ontraceable requirements.SYLLABUS CONTENT:• Theory <strong>of</strong> s<strong>of</strong>tware architecture.• Analogy with architecture in general.• Elements <strong>of</strong> s<strong>of</strong>tware architecture: architectural styles (ABAS – Attribute Based ArchitecturalStyle); architectural patterns (event-based, layered, pipes & filters …); architecturaldescription languages.• Interaction between various types <strong>of</strong> requirements and architecture.• Master plans vs. piecemeal growths.• Architecture analysis and evaluation: SAAM (S<strong>of</strong>tware Architecture Analysis Model), scenariobasedevaluation.• Architecture process and organization.• Model driven development.• From architecture to design.• Reusing architectures.• Design patterns.• Framework and tools.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 18


SOFTWARE TESTING (SE-C-04)AIMS:With <strong>the</strong> growing significance <strong>of</strong> computer systems within industry and wider society, techniquesthat assist in <strong>the</strong> production <strong>of</strong> reliable s<strong>of</strong>tware are becoming increasingly important.The complexity <strong>of</strong> many computer systems requires <strong>the</strong> application <strong>of</strong> a battery <strong>of</strong> suchtechniques.Two <strong>of</strong> <strong>the</strong> most promising approaches are formal methods and s<strong>of</strong>tware testing.Tradition<strong>all</strong>y formal methods and s<strong>of</strong>tware testing have been seen as rivals. Thus, <strong>the</strong>y largelyfailed to inform one ano<strong>the</strong>r and <strong>the</strong>re was very little interaction between <strong>the</strong> two communities. Inrecent years, however, a new consensus has developed. Under this consensus, <strong>the</strong>seapproaches are seen as complementary. This has lead to work that explores ways in which <strong>the</strong>seapproaches complement.The use <strong>of</strong> a formal specification or model eliminates ambiguity and thus reduces <strong>the</strong>chance <strong>of</strong> errors being introduced during s<strong>of</strong>tware development. Where a formal specificationexists, both <strong>the</strong> source code and <strong>the</strong> specification may be seen as formal objects that can beanalysed and manipulated. The use <strong>of</strong> a formal specification introduces <strong>the</strong> possibility <strong>of</strong> <strong>the</strong>formal and, potenti<strong>all</strong>y, automatic analysis <strong>of</strong> <strong>the</strong> relationship between <strong>the</strong> specification and <strong>the</strong>source code. This is <strong>of</strong>ten assumed to take <strong>the</strong> form <strong>of</strong> a pro<strong>of</strong>, but such a pro<strong>of</strong> cannot guaranteeoperational correctness. For this reason, even where such a pro<strong>of</strong> exists, it is important to applydynamic testing.S<strong>of</strong>tware testing is an important and, tradition<strong>all</strong>y, extremely expensive part <strong>of</strong> <strong>the</strong>s<strong>of</strong>tware development process. Studies suggest that testing <strong>of</strong>ten forms in <strong>the</strong> order <strong>of</strong> fiftypercent <strong>of</strong> <strong>the</strong> total development cost. Where formal specifications and models exist, <strong>the</strong>se maybe used as <strong>the</strong> basis for automating parts <strong>of</strong> <strong>the</strong> testing process. This may lead to more efficientand effective testing. It may thus transpire that <strong>the</strong> automation <strong>of</strong> parts <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware testingprocess is one <strong>of</strong> <strong>the</strong> most significant benefits <strong>of</strong> using a formal specification language. The linksbetween testing and formal methods do, however, go well beyond generating tests from a formalspecification.This module aims to introduce and critic<strong>all</strong>y analyse current techniques for s<strong>of</strong>twaretesting, in particular <strong>the</strong> importance <strong>of</strong> formal methods towards this goal.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y evaluate <strong>the</strong> importance <strong>of</strong> s<strong>of</strong>tware testing;• appreciate <strong>the</strong> need and usefulness <strong>of</strong> formal methods for <strong>the</strong> testing process;• develop an integrated approach for s<strong>of</strong>tware testing and formal <strong>the</strong>ories;• critic<strong>all</strong>y evaluate testing tools.SYLLABUS CONTENT:• Introduction to testing fundamentals.• Structural testing.• Functional testing.• Foundation for combining formal methods and testing.• Assertion based testing.• Model based formal methods.• Finite state machine based testing.• Testing from a process algebra.• Testing with UML's dynamic models.• Temporal logic, model checking and <strong>the</strong>ir role in testing.• Tools for automatic testing and continuous integration.• The management process <strong>of</strong> s<strong>of</strong>tware testing.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 19


SYSTEM INTEGRATION (SE-C-05)AIMS:This module provides a comprehensive understanding <strong>of</strong> <strong>the</strong> technical issues involved indesigning and implementing modern distributed systems through integration. It also introducesdifferent concepts and approaches for system integration.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y evaluate <strong>the</strong> different integration possibilities;• appreciate <strong>the</strong> need and usefulness <strong>of</strong> different models and approaches for systemintegration;• critic<strong>all</strong>y evaluate, design and use object-based distributed systems such are CORBA(Common Object Request Broker Architecture), Web Services Model, EJB (Enterprise Javabeans), .NET Remoting…;• implement a simple distributed system that can communicate effectively with existing andnew architecture.SYLLABUS CONTENT:• Integration: overview.• Middleware-oriented integration by (e.g.) CORBA: architecture, interfaces and IDL(Interface Description Language), clients, servers, CORBA vs. RMI & RPC (RemoteMethod Invocation & Remote Procedure C<strong>all</strong>).• Introduction to XML (eXtensible Markup Language).• Web-Services integration: model, architectures, XML-based protocols, UDDI (UniversalDescription, Discovery and Integration), WSDL (Web Services Description Language),SOAP (Simple Object Access Protocol), SWS (Simple Web-Services), servicepublication, service retrieval, service activation.• Component-oriented Integration: model and architecture, transaction components(Transaction EJB).• Semantics-oriented integration: architectures, agent-oriented approach, intelligentservices, agent-service communication.• Using a platform (e.g., .NET) to develop and test <strong>the</strong> Web service servers and clients,transactional components, and multi-component projects.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 20


INFORMATION SYSTEM DEVELOPMENT PROCESS (SE-C-06)AIMS:This module covers two important <strong>aspects</strong> <strong>of</strong> information systems development (ISD): <strong>the</strong>selection and evaluation <strong>of</strong> methodologies and <strong>the</strong> management <strong>of</strong> <strong>the</strong> systems developmentprocess.A variety <strong>of</strong> ISD paradigms and methodologies will be considered, including ‘hard’approaches, both object-oriented and structured, ‘s<strong>of</strong>t’ and participative approaches, and‘heavyweight’ and ‘agile’ methodologies. A framework will be developed to compare and evaluatemethodologies to help determine <strong>the</strong>ir applicability to particular development projects andenvironments. The way in which methodologies are used in practice will be considered.To successfully deliver a computer-based information system to a customer, whe<strong>the</strong>rinternal or external, requires proper planning: an analysis <strong>of</strong> <strong>the</strong> project, its potential as aninvestment, <strong>the</strong> benefits and risk. The manager should be convinced that <strong>the</strong> project will succeed,is controllable, that resources will be forthcoming and should carry out planning (as detailed aspossible) before accepting <strong>the</strong> brief. The importance <strong>of</strong> being able to balance <strong>the</strong> key projectrequirements <strong>of</strong> timescale, budget, quality and delivered functionality makes <strong>the</strong> projectmanager’s role ch<strong>all</strong>enging and satisfying.The success <strong>of</strong> a project depends on more than just technical issues; commitment from<strong>the</strong> users, ‘ownership’ <strong>of</strong> <strong>the</strong> system, effective communications, clear identification <strong>of</strong> benefits andmanaging <strong>the</strong> delivery <strong>of</strong> <strong>the</strong>se – <strong>the</strong>se and o<strong>the</strong>r ‘s<strong>of</strong>ter’ issues are <strong>of</strong>ten <strong>the</strong> key factors indetermining success.Various project management approaches will be examined and critic<strong>all</strong>y evaluated in <strong>the</strong>context <strong>of</strong> <strong>the</strong> methodological approach (e.g. SSADM - Structured Systems Analysis and DesignMethodology, PRINCE - PRojects IN Controlled Environments, agile development).Staffing issues (e.g. recruitment, training, motivation, team-building, leadership style) have majorimplications for project success and will be placed in <strong>the</strong> context <strong>of</strong> ISD.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• discuss <strong>the</strong> merits and drawbacks <strong>of</strong> a variety <strong>of</strong> Information systems developmentmethodologies and <strong>the</strong> issues involved in <strong>the</strong>ir adoption;• justify <strong>the</strong> selection <strong>of</strong> a methodology appropriate for a given information systemsdevelopment project;• identify <strong>the</strong> major planning and staffing issues involved in information systems projectmanagement and recommend appropriate techniques and methods for a given project;• discuss <strong>the</strong> need for awareness and sensitivity in managing organisational relationships and<strong>the</strong> importance <strong>of</strong> effective reporting structures and communication;• recommend appropriate ways in which <strong>the</strong> benefits <strong>of</strong> a system can be evaluated.SYLLABUS CONTENT:• Information systems development (ISD): a review <strong>of</strong> major concepts, lifecycles, definition <strong>of</strong> a‘methodology’, <strong>the</strong> factors influencing methodology use.• Frameworks for methodology evaluation.• Object-oriented methodologies, e.g. (Rational) Unified Process.• Structured methodologies, e.g. SSADM.• The development from ‘heavyweight’ to more ‘agile’ approaches, e.g. DSDM (DynamicSystems Development Method), XP (eXtreme Programming).• ‘S<strong>of</strong>t’ methodologies, e.g. s<strong>of</strong>t systems methodology.• Participative approaches, e.g. DSDM, ETHICS (Effective Technical and HumanImplementation <strong>of</strong> Computer-based Systems).• Integrated approaches, e.g. Multiview.• Specialist applications and <strong>the</strong>ir methodology requirements, e.g. Web information systems.• Issues concerning <strong>the</strong> introduction <strong>of</strong> and use <strong>of</strong> methodologies.• Ethical <strong>aspects</strong> <strong>of</strong> ISD.http://perun.im.ns.ac.yu/msc-se/ 21


The emphasis throughout will be on <strong>the</strong> comparison and evaluation for specific contexts <strong>of</strong> <strong>the</strong>methodologies covered.• The nature <strong>of</strong> <strong>the</strong> project, its components, risks, success factors and associated politics.• Information Systems investment justifications: approaches to investment appraisal.• Identification and management <strong>of</strong> benefits; assessing <strong>the</strong> intangibles.• Organisation <strong>of</strong> systems development: reporting structures.• Project planning and control: work breakdown structures; estimation, budgeting, planningmethods (PRINCE 2).• Project administration: tracking and reviewing; configuration management and changecontrol.• Staff management, motivation, leadership.• Quality Management, standards and accreditation.• Managing s<strong>of</strong>tware project risks.• Managing object-oriented projects (reuse): rapid application development (e.g., DSDM, XP)• Managing large-scale projects: implementation and post-implementation review.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 22


SOFTWARE EVOLUTION (SE-O-01)AIMS:With <strong>the</strong> advent <strong>of</strong> new architectures, <strong>the</strong> need to introduce new functionalities, <strong>the</strong> improvementin design techniques and/or changing in business objectives and process, <strong>the</strong>re is a strong needto evolve existing s<strong>of</strong>tware systems maintaining <strong>the</strong>ir continuity <strong>of</strong> use. Such evolution requiresvarious techniques for what is known as `re-engineer'.By re-engineering, we adopt <strong>the</strong> view <strong>of</strong> examining, understanding and altering a systemwith <strong>the</strong> intent <strong>of</strong> re-designing and implementing it in a new form. The process <strong>of</strong> re-engineering asystem requires <strong>the</strong>refore• <strong>the</strong> construction <strong>of</strong> a higher level abstraction <strong>of</strong> <strong>the</strong> system, a process known as reverseengineering; and• <strong>the</strong> development <strong>of</strong> a new system starting from its higher level <strong>of</strong> requirement specification(i.e. forward engineering).Recognising <strong>the</strong> functionality <strong>of</strong> an existing code is <strong>of</strong>ten seen as being <strong>the</strong> most difficult aspect <strong>of</strong><strong>the</strong> process <strong>of</strong> re-engineering. To successfully re-engineer a system, we need to identify designdecisions, intended use and domain specific details.This module aims to introduce and critic<strong>all</strong>y analyze current techniques for s<strong>of</strong>twareevolution and provides students with a practical experience using industry strength tool-set (suchas FermaT).LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y evaluate <strong>the</strong> current rationales for s<strong>of</strong>tware evolution;• appreciate reengineering techniques for s<strong>of</strong>tware migration and abstraction;• apply transformation rules to migrate time and business critical s<strong>of</strong>tware;• develop an integrated approach for s<strong>of</strong>tware evolution life cycles;• gain practical experiences on using industry-strength tools (such as FermaT).SYLLABUS CONTENT:• Rationales and taxonomies for s<strong>of</strong>tware evolution.• Evolution within development life cycles.• Lehman's laws <strong>of</strong> evolution.• Managerial <strong>aspects</strong> <strong>of</strong> s<strong>of</strong>tware evolution.• Program comprehension.• Refactoring.• Aspect oriented s<strong>of</strong>tware evolution.• Wide spectrum language (WSL) and s<strong>of</strong>tware transformation.• Transformation <strong>the</strong>ory and <strong>the</strong>ir implementation.• Tools (e.g. FermaT) and s<strong>of</strong>tware migration and abstraction.• Open source and <strong>the</strong>ir evolution.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 23


COMPONENT BASED DEVELOPMENT (SE-O-02)AIMS:The development <strong>of</strong> modern, distributed enterprise-wide computing systems is a complex activity.Issues <strong>of</strong> scale and distribution have added to <strong>the</strong> general pressures <strong>of</strong> <strong>the</strong> 's<strong>of</strong>tware crisis' - <strong>the</strong>inability <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware industry to match expectations created by <strong>the</strong> rapid evolution <strong>of</strong> computinghardware. One approach targeted at <strong>the</strong>se problems is component based development (CBD).CBD has been <strong>the</strong> 'holy grail' <strong>of</strong> s<strong>of</strong>tware engineering since <strong>the</strong> famous NATO (NorthAtlantic Treaty Organization) conference on s<strong>of</strong>tware engineering coined <strong>the</strong> term in 1968.Technological development over <strong>the</strong> last decade has at last resulted in <strong>the</strong> emergence <strong>of</strong> acomponent market - but CBD also changes <strong>the</strong> nature <strong>of</strong> <strong>the</strong> s<strong>of</strong>tware development process. Thismodule provides <strong>the</strong> historical background in order to understand <strong>the</strong> issues and difficulties inherentto CBD which have held back its growth, while providing insights into <strong>the</strong> current situation throughexposure to an industrial strength CBD process. It provides a practical introduction to <strong>the</strong> keymodelling techniques used at different stages in a CBD project in order to identify and specifybusiness components as 'independent units <strong>of</strong> deployment and replacement'. It illustrates howobject-oriented principles underlay <strong>the</strong>se techniques, and shows how <strong>the</strong>y can be fitted toge<strong>the</strong>r inan over<strong>all</strong> end-to-end development process.The intention <strong>of</strong> <strong>the</strong> module is to provide students with a practical, integrated overview <strong>of</strong>CBD from requirements ga<strong>the</strong>ring through to <strong>the</strong> deployment <strong>of</strong> a component-based system. Alarge-scale case study, already part implemented, is used to take <strong>the</strong> student through <strong>all</strong> <strong>of</strong> <strong>the</strong>workflows <strong>of</strong> <strong>the</strong> CBD project life-cycle.The module introduces relevant <strong>the</strong>ory including, non-exhaustively, <strong>the</strong> concept <strong>of</strong> CBD; <strong>the</strong>history <strong>of</strong> CBD; objects versus components; business components and s<strong>of</strong>tware architectures;design-by-contract; UML as a visual language for CBD; problem-space and solution-spacemodelling; <strong>the</strong> object constraint language for specifying pre- and post-conditions on operations andcomparing development processes that aim to support CBD.The module also lays a foundation in practical skills and understanding <strong>of</strong> CBD which willbe <strong>of</strong> potenti<strong>all</strong>y immediate advantage to <strong>the</strong> student in her future pr<strong>of</strong>ession. Use case driventechniques are explored in depth, specification modelling using a subset <strong>of</strong> UML toge<strong>the</strong>r withrelevant pr<strong>of</strong>iles are practiced, and implementation in <strong>the</strong> context <strong>of</strong> specific component executionenvironments are explored to give <strong>the</strong> student a balanced and in-depth base <strong>of</strong> <strong>the</strong>oretical andpractical knowledge in this area.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y discuss and explore <strong>the</strong> key concepts in component based development, and itsimpact on business computing and on <strong>the</strong> s<strong>of</strong>tware engineering discipline;• understand <strong>the</strong> <strong>the</strong>oretical basics <strong>of</strong> CBD;• apply appropriate techniques to derive detailed and rigorous component specifications from aset <strong>of</strong> user requirements;• apply practical component development skills to implement and deploy significant businesscomponents in <strong>the</strong> context <strong>of</strong> a particular component execution environment.SYLLABUS CONTENT:• Background.• Component based s<strong>of</strong>tware architecture.• UML for component based development.• CBD ’96: requirements, specification, and provisioning workflow.• Business objects.• Component technologies (e.g., EJB, Micros<strong>of</strong>t technologies, CORBA).• Combining components – case studies: accessing legacy code and wrappers; web services;components <strong>of</strong> <strong>the</strong> shelf (COTS).• System integration issues.• Tools.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 24


FORMAL METHODS ENGINEERING (SE-O-03)AIMS:Formal methods are those with a sound basis in ma<strong>the</strong>matics. They are <strong>of</strong>ten used in <strong>the</strong>specification and design <strong>of</strong> critical systems where failure can cause catastrophic effects such asdeath, damage to <strong>the</strong> environment, lose <strong>of</strong> money, etc. However, <strong>the</strong> use <strong>of</strong> <strong>the</strong>se methods in alarge scale design and development still not wide spread as origin<strong>all</strong>y thought. What is needed ismechanisms to engineer <strong>the</strong>se methods so that <strong>the</strong>y can be used in industry and on large scalesystems.This module is intended to provide <strong>the</strong> student with a comprehensive understanding,critical evaluation <strong>of</strong> formal methods and gives a detail account on a particular technique that isbased on automata <strong>the</strong>ory and <strong>the</strong>ir industry-strength tool support such is Statemate.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y evaluate <strong>the</strong> basis for <strong>the</strong> need <strong>of</strong> trustworthiness in large scale computer systems;• critic<strong>all</strong>y evaluate fundamentals <strong>of</strong> formal methods;• appreciate <strong>the</strong> essential issues <strong>of</strong> using formal techniques in <strong>the</strong> whole system life cycle inparticular requirement engineering and architecture design;• critic<strong>all</strong>y evaluate various types <strong>of</strong> large scale system from transformational to hybrid systems;• critic<strong>all</strong>y evaluate <strong>the</strong> role <strong>of</strong> tools and methods for <strong>the</strong> engineering formal methods.SYLLABUS CONTENT:• Large scale systems.• Taxonomy <strong>of</strong> formal methods.• Transformation vs. reactive vs. hybrid systems.• Automata <strong>the</strong>ory.• State-based development methods.• State chart and activity chart.• (e.g.) Statemate semantics and development.• Real-time <strong>aspects</strong> in (e.g.) Statemate.• Case studies.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 25


SOFTWARE ENGINEERING FOR CRITICAL SYSTEMS (SE-O-04)AIMS:Critical Systems (CSs) are those whose operation poses a risk to human life, health, economy orenvironment. Typic<strong>all</strong>y, CSs are large and complex industrial systems or products which havebeen constructed through <strong>the</strong> effort <strong>of</strong> multi-disciplinary teams. The engineering and assessment<strong>of</strong> modern CSs is thus complex, multi-disciplinary task, <strong>of</strong>ten involving mechanical, structural, andelectronic and s<strong>of</strong>tware engineers and psychologists. The skill <strong>of</strong> economists is needed;sociologists also have a role in addressing <strong>the</strong> interaction between complex systems and teams<strong>of</strong> operators.This module aims to introduce and critic<strong>all</strong>y analyse CSs. Requirements for <strong>the</strong>engineering <strong>of</strong> CSs will be introduced and <strong>the</strong> role <strong>of</strong> formal approaches in <strong>the</strong> life cycle <strong>of</strong> CSswill be explored.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y evaluate <strong>the</strong> current taxonomies <strong>of</strong> CSs including international standards;• critic<strong>all</strong>y evaluate <strong>the</strong> use <strong>of</strong> formal methods in <strong>the</strong> life cycle <strong>of</strong> CSs;• appreciate <strong>the</strong> essential issues <strong>of</strong> time-critical systems both at <strong>the</strong> specification and designstages, including scheduling techniques;• critic<strong>all</strong>y evaluate <strong>the</strong> use <strong>of</strong> temporal logic for <strong>the</strong> engineering and re-engineering <strong>of</strong> CSs.SYLLABUS CONTENT:• Classification and analysis: examples, analysis, taxonomy, standardization efforts (UK,Europe, USA).• Time-critical systems: what are <strong>the</strong>y; technical issues (design and architecture, specification,scheduling, reliability and dependability).• Role <strong>of</strong> formal approaches: s<strong>of</strong>tware in CSs (and real-time); goals and objectives; assurance;formal approaches in CSs life cycle; examples <strong>of</strong> formal approaches (model-based, logicbased,process algebras, refinement).• Refinement, abstraction, and evolution: rationale and model (why, what is needed,computational model); interval temporal logic (syntax, semantics, tool (e.g. Tempura:executable subset); refinement calculus (<strong>the</strong> temporal agent model, algebraic laws, example);abstraction calculus (abstraction rules, example); evolution (guided evolution, example, tool(e.g. Ana Tempura)).PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 26


PRIVACY, ETHICS AND SOCIAL RESPONSIBILITIES (SE-O-05)AIMS:There continues to be a growth <strong>of</strong> databases holding personal and o<strong>the</strong>r sensitive information inmultiple formats including text, pictures and sound. The scale <strong>of</strong> data collected, its type and <strong>the</strong>scale and speed <strong>of</strong> data exchange have <strong>all</strong> changed with <strong>the</strong> advent <strong>of</strong> information andcommunication technology (ICT). Whilst <strong>the</strong> potential to breach privacy continues to increaseorganisations are subjected to a considerable amount <strong>of</strong> legislation governing privacy and dataprotection. This module examines <strong>the</strong> balance between maintaining business effectiveness, legalcompliance and pr<strong>of</strong>essional practice in <strong>the</strong> field <strong>of</strong> IT (Information Technology) / IS (InformationSystems).The module will address <strong>the</strong> legal, social and technological <strong>aspects</strong> <strong>of</strong> privacy and dataprotection, consider privacy enabling technologies and privacy invasive technologies identify andevaluate <strong>the</strong> role <strong>of</strong> <strong>the</strong> computer pr<strong>of</strong>essional in providing privacy and data protection, andreview privacy and data protection legislation from different countries.Care will be taken in ensuring perspectives from different cultures and countries arehighlighted and considered in <strong>the</strong> light <strong>of</strong> global information systems.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• define <strong>the</strong> concepts <strong>of</strong> privacy and data protection within a multi-cultural and multidisciplinarycontext;• recognise and evaluate current and future threats to privacy;• outline and evaluate IS pr<strong>of</strong>essional practice with regard to perceived pr<strong>of</strong>essional and socialresponsibilities to employers and data subjects;• research into an area <strong>of</strong> privacy and or data protection; integrate complex and sometimesconflicting ideas into a coherent analysis that demonstrates integrative, synoptic andanalytical skills.SYLLABUS CONTENT:• Ethics: normative frameworks, values, analysis approaches.• Privacy: concepts <strong>of</strong> privacy, information privacy, information privacy legislative, privacy - <strong>the</strong>global perspective / privacy enhancing technologies.• Trust: concepts and classification <strong>of</strong> trust; reliability.• Security: information security, surveillance.• Access: information access, s<strong>of</strong>tware piracy.• Property: intellectual property, ICT espionage.• Social impact: social impact audit, cultural impact and ethnography, globalization.• Conduct: pr<strong>of</strong>essional conduct, codes <strong>of</strong> conduct, information risk management.• Case studies.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Courseworkhttp://perun.im.ns.ac.yu/msc-se/ 27


APPLIED SYSTEM THINKING (SE-O-06)AIMS:The module presents a unifying philosophical approach to <strong>the</strong> post-graduate <strong>curriculum</strong> inS<strong>of</strong>tware Engineering. Applied systems thinking is used as a practical tool to view holistic<strong>all</strong>yorganisations, information systems, and organisational change and integration.The aims <strong>of</strong> <strong>the</strong> module are:• To develop in students <strong>the</strong> knowledge <strong>of</strong> <strong>the</strong> use <strong>of</strong> systems models representing <strong>the</strong>environment, in order to simplify problem solving in <strong>the</strong> real world and contemplatepurposeful activity in business organisations.• To develop in students an understanding <strong>of</strong> systems practice through practical application <strong>of</strong>tools, methods and techniques.• To develop in students knowledge and skills relevant to <strong>the</strong> organisational intervention andmanagement <strong>of</strong> change.• To engender in students an understanding and appreciation <strong>of</strong> <strong>the</strong> uses <strong>of</strong> informationtechnology to improve business performance at strategic and operational levels.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• understand hard systems thinking concepts and <strong>the</strong>ir application to change situations inbusiness organisations;• apply s<strong>of</strong>t systems methods and tools to provide a holistic approach to solving complexsocio-technical problems within organisations;• understand <strong>the</strong> key role <strong>of</strong> modern information systems in organisational integration within<strong>the</strong> context <strong>of</strong> global marketplaces.SYLLABUS CONTENT:• Background: pace <strong>of</strong> change, integration and need for holistic approach for business.• Systems concepts and constructs: general systems <strong>the</strong>ory; hard systems thinking fororganisational change; s<strong>of</strong>t systems approach and its relevance to business organisations;viable systems model; systems thinking skills; creative thinking; visualising problems; power<strong>of</strong> team thinking.• Organisation as an information system: data, information and knowledge; organisationaldecision-making; communication models; new economics <strong>of</strong> information;• Organisational development and integration: nature <strong>of</strong> organisations and stages <strong>of</strong>organisational growth; process <strong>of</strong> organisational transformation and integration; impact <strong>of</strong>global markets and e-commerce and m-commerce on organisations.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 28


BUSINESS MODELLING (SE-O-07)AIMS:This module is motivated by <strong>the</strong> belief that it better to develop <strong>the</strong> right product than developing<strong>the</strong> product right. Fundamental to achieving this is two-fold:• to be able to model and analyse business objectives and processes, and• to convert <strong>the</strong> business model to a requirement statement.For <strong>the</strong> former <strong>the</strong> module will utilise UML features and also introduces new features (such ascontract diagram). The second item is dealt with by developing <strong>the</strong> Gap-Navigator which is anotion based on s<strong>of</strong>tware refinement. In this module we will be addressing various businessmodelling including B2C (Business to Customer), B2B (Business to Business), …Throughout <strong>the</strong> module real-life case studies from real sm<strong>all</strong> and medium sizedenterprises (SMEs) will be given.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• model businesses and business processes using UML;• assess current business practices and establish baselines for process improvement;• produce a model that accurately reflects <strong>the</strong> reality <strong>of</strong> business;• leverage established business patterns to solve commonly recurring problems;• develop effective and efficient communications strategies;• structure models to maximise organisational performance;• transfer a business model into a requirement model.SYLLABUS CONTENT:• Why model?• Assessment <strong>of</strong> business status.• Description <strong>of</strong> current business (various case studies and scenarios).• Identification <strong>of</strong> business processes.• Various business modelling including B2C, B2B, …• Business process realisation.• Interaction <strong>of</strong> use-case realisations.• Process automation.• Transition from business model to requirements model.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 29


E-BUSINESS (SE-O-08)AIMS:Current approaches to systems design and development such as <strong>the</strong> rational unified process, SSADM,Multiview or web-based approaches take a very centralised approach. There is a central database modeldefined early on, and an emphasis on centr<strong>all</strong>y designed business processes. The emphasis is on fulfilling<strong>the</strong> processing demand <strong>of</strong> <strong>the</strong> business, not meeting <strong>the</strong> task-oriented needs <strong>of</strong> <strong>the</strong> client or user. Many e-commerce systems are targeted at external users. Hence <strong>the</strong>re is a need for new approaches to systemdevelopment which take a client oriented view, are much more bottom-up than top-down and seek to elicitclient-views throughout <strong>the</strong> design process.This module explores <strong>the</strong> issues around such a transition from business focussed design to clientfocused design. The issues are developed through a study <strong>of</strong> usability engineering as a client-leddevelopment process. Usability engineering is gaining acceptance as a design approach which focuses on<strong>the</strong> customer needs and <strong>the</strong> customer view in preference to <strong>the</strong> business process demand. It is seen as amore fruitful approach to <strong>the</strong> design <strong>of</strong> ecommerce systems which are customer facing.Students explore <strong>the</strong> frameworks for alternative design approaches and critic<strong>all</strong>y evaluate <strong>the</strong> fit <strong>of</strong>usability engineering to <strong>the</strong> demands <strong>of</strong> design <strong>of</strong> e-commerce systems.The module fur<strong>the</strong>r emphasises <strong>the</strong> importance <strong>of</strong> a research-based approach to systems designand explores current research in systems design, usability engineering and related cognitive sciences.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y appraise current approaches to systems design in comparison to <strong>the</strong> requirements <strong>of</strong> e-commerce and distributed system design;• apply <strong>the</strong> techniques <strong>of</strong> usability engineering, within <strong>the</strong> process framework <strong>of</strong> ISO13407 to <strong>the</strong>development <strong>of</strong> an e-commerce application;• critic<strong>all</strong>y evaluate approaches to measuring usability performance objectives and identify appropriateapproaches for given situations;• apply a range <strong>of</strong> supporting techniques derived from current literature to enhance <strong>the</strong> process <strong>of</strong> elicitingusability requirements;• identify and describe technical and research trend which may influence approaches to client-led design.SYLLABUS CONTENT:• Characteristics <strong>of</strong> e-business systems and consequences for design: requirement for bottom-upapproach, focus on screens and tasks.• Critical analysis <strong>of</strong> top-down approaches to system design and development: properties <strong>of</strong> top-downapproaches such as Rational Unified Process (RUP).• Issues in distributed design.• Characteristics <strong>of</strong> an alternative design approach.• Alternative approaches which do not rely on top-down analysis and a pre-defined data structure:exploration <strong>of</strong> o<strong>the</strong>r techniques for eliciting usability requirements and understanding tasks; jointapplication design; focus groups.• Service-oriented human-computer interaction (HCI): applying service concepts to systems design.• Approaches to evaluating web usability: survey <strong>of</strong> <strong>the</strong> literature.• Nature <strong>of</strong> culture: effect <strong>of</strong> culture on usability.• Use <strong>of</strong> scenarios in usability engineering: construction <strong>of</strong> scenarios in e-business.• Continued evaluation <strong>of</strong> implemented e-business applications: approaches to getting feedback.• System integration and usability engineering: systems integration across e-commerce systems.• Future issues concerning web-based applications.• Dealing with change: autonomic systems and service-oriented computing; principles <strong>of</strong> self-evolvingsystems; screen evolution and tailorability.• Comparing usability engineering and <strong>the</strong> RUP.• Alternative emergent environments: complexity; synchronicity and (e.g.) StarLogo.• Aspects <strong>of</strong> security in e-business applications.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 30


BUSINESS PROCESS RE-ENGINEERING (SE-O-09)AIMS:To provide a greater understanding <strong>of</strong> effective solutions to change problems that need tocombine technological, organisational and people-orientated strategies by adopting a processbasedapproach to change management. To introduce <strong>the</strong> contingencies that affect managementand <strong>the</strong> most effective measures for dealing with <strong>the</strong>m. To introduce strategic IS/IT planning andhow it must relate to business strategy. To demonstrate <strong>the</strong> use and validity <strong>of</strong> organisationaldevelopment models through current real-life case studies.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• understand <strong>the</strong> methods used to changing processes and <strong>the</strong> impact it has on companyculture, people and <strong>the</strong> integration with o<strong>the</strong>r information systems;• develop a strategic plan <strong>of</strong> IS/IT to support a business strategy aimed at providing anorganisation with competitive advantage;• manage information as a resource and have an understanding <strong>of</strong> systems developmentlifecycle;• implement, evaluate and analyse strategic business change processes;• understand <strong>the</strong> benefits <strong>the</strong> learning organisations strategy can bring to knowledge basedorganisations.SYLLABUS CONTENT:• Changing business processes: <strong>the</strong> importance <strong>of</strong> technology as a driver for organisationalchange.• Change and <strong>the</strong> manager: change and <strong>the</strong> human resource: <strong>the</strong> cultural web and <strong>the</strong> past:<strong>the</strong> cultural attributes <strong>of</strong> change.• The importance <strong>of</strong> communication and <strong>the</strong> resistance to change: building <strong>the</strong> culture forsuccessful strategy implementation; <strong>the</strong> influence IT will have on <strong>the</strong> internal appearance <strong>of</strong>organisations in <strong>the</strong> future.• Business intelligence and <strong>the</strong> future <strong>of</strong> e-business.• The concept <strong>of</strong> <strong>the</strong> learning organisation and its influence on systems development:examples <strong>of</strong> organisations that have been through minor change programs and <strong>the</strong> lessonsthat have been learnt.PREREQUISITES: Business modellingRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 31


SERVICE QUALITY MANAGEMENT (SE-O-10)AIMS:The central role <strong>of</strong> s<strong>of</strong>tware systems in an organisation is to provide applications, technology andservices to support <strong>the</strong> business functions and contribute to <strong>the</strong> organisation’s strategic goal. Thismodule takes a service view <strong>of</strong> s<strong>of</strong>tware systems. The module explores <strong>the</strong> application <strong>of</strong> servicemanagement concepts to <strong>the</strong> delivery (<strong>of</strong> services) and to quality management. It examinesoperational issues surrounding <strong>the</strong> management <strong>of</strong> resources and computer capacity, <strong>the</strong>provision <strong>of</strong> help desk services and <strong>the</strong> management <strong>of</strong> IT assets. It considers <strong>the</strong> development <strong>of</strong>new services, <strong>the</strong> management <strong>of</strong> end-user computing and <strong>the</strong> development <strong>of</strong> IT service culture.An introduction to <strong>the</strong> disciplines required for BS15000 / ISO20000 IT service standardsis provided. The subject area is considered in <strong>the</strong> context <strong>of</strong> a business environment where manyIT services are provided by third parties and managed through contracts.The strategic role <strong>of</strong> systems and service in <strong>the</strong> organisation is developed by exploring<strong>the</strong> alignment <strong>of</strong> information systems and <strong>the</strong> organisational strategy. An understanding <strong>of</strong> <strong>the</strong>strategy <strong>of</strong> an organisation leads to <strong>the</strong> development <strong>of</strong> a portfolio <strong>of</strong> systems and services whichmatches <strong>the</strong> objectives <strong>of</strong> <strong>the</strong> organisation and delivers competitive advantage. Frameworks andapproaches to developing such an understanding <strong>of</strong> <strong>the</strong> strategic role <strong>of</strong> information systems areconsidered.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• formulate an IS/IT strategy which aligns <strong>the</strong> provision and management <strong>of</strong> <strong>the</strong> IS portfolio withorganisational goals and strategies;• discuss <strong>the</strong> <strong>the</strong>ory and practice <strong>of</strong> managing IT services within a defined framework <strong>of</strong>disciplines and activities;• explain <strong>the</strong> effect <strong>of</strong> context, organisational relationships and organisational structure on <strong>the</strong>delivery <strong>of</strong> IT services.SYLLABUS CONTENT:• IT service fundamentals: what is a service; nature <strong>of</strong> services; moments <strong>of</strong> truth; front <strong>of</strong>ficeand back <strong>of</strong>fice; service components; IT service quality; IT service marketing; IT serviceinnovation.• IT service strategy: IT/IS core competences and <strong>the</strong> resource-based view <strong>of</strong> <strong>the</strong> firm;developing a service-oriented IT strategy; IT strategy process; understanding businessstrategy; tools for relating business strategy to IT strategy; managing <strong>the</strong> application portfolio;auditing, classifying, identifying new systems; role <strong>of</strong> IT in competitive strategy; findingstrategic information systems; IT procurement strategy; globalisation issue in strategy andoutsourcing.• IT service governance: organisational role <strong>of</strong> IT services; structuring <strong>the</strong> IT organisation(centralised, decentralised, federal); reporting structures and <strong>the</strong> balanced score card;justifying IT services in <strong>the</strong> organisation; CoBIT (Control Objectives for Information andRelated Technology) and IT governance.• IT service context: managing end-user computing; IT strategy and services in SMEs;organisational and service culture; effect <strong>of</strong> organisational power on strategy and services;globalisation; enterprise resource planning (ERP) systems; future trends; autonomiccomputing.• IT service operations: managing <strong>the</strong> IT helpdesk; rationing IT services; incident management;problem management; <strong>release</strong> management; information requirements for IT servicemanagement; capacity management; managing and controlling IT assets; availabilitymanagement; service level agreements – <strong>the</strong>ir creation and management; The IT servicecatalogue; IT service security issues; configuration management service issues; global ITservice operations.• IT service process: IT service frameworks (ITIL and BS15000); <strong>the</strong> BS15000 certificationprocess; implementing IS/IT strategy and <strong>the</strong> role <strong>of</strong> IT strategy <strong>document</strong>sPREREQUISITES: NoneRECOMMENDED ASSESMENT: Coursework and unseen paperhttp://perun.im.ns.ac.yu/msc-se/ 32


SOFTWARE ENGINEERING FOR DATABASE SYSTEMS (SE-O-11)AIMS:The module provides <strong>the</strong>oretical basics for understanding <strong>of</strong> modern DBMS and <strong>the</strong>ir integrationinto information systems. It stimulates a systematic approach for practical implementation <strong>of</strong>database (DB) based applications by team work and by using <strong>of</strong> experience repository.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• critic<strong>all</strong>y evaluate <strong>the</strong> different DBMS and <strong>the</strong>ir features;• appreciate <strong>the</strong> need and different possibilities for DB integration;• complete implementation <strong>of</strong> selected case study from <strong>the</strong> Experience Repository.SYLLABUS CONTENT:• DB Taxonomy: DBMS models and architectures; DB <strong>aspects</strong> (relational, procedural, objectoriented,descriptive (XML), deductive); persistent objects; DB integrity.• DB integration: language-oriented (embedded SQL - Structured Query Language); driveroriented(ODBC - Open Database Connectivity, JDBC - Java Database Connectivity)(architectures, driver types, application scenarios); component-based; SOA (Simple ObjectAccess) integration; agent-based.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Courseworkhttp://perun.im.ns.ac.yu/msc-se/ 33


ADVANCED TOPICS IN SOFTWARE ENGINEERING (SE-O-12)AIMS:The aim <strong>of</strong> this module is to provide an insight into <strong>the</strong> freshest research directions andachievements in <strong>the</strong> field <strong>of</strong> s<strong>of</strong>tware engineering that are not covered in <strong>the</strong> rest <strong>of</strong> <strong>the</strong> modules.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• appreciate <strong>the</strong> need to learn new <strong>the</strong>ories, models, techniques and technologies as <strong>the</strong>yemerge;• appreciate <strong>the</strong> necessity <strong>of</strong> continuing pr<strong>of</strong>essional development and application <strong>of</strong> newestresearch achievements in <strong>the</strong> practice.SYLLABUS CONTENT:Various advanced research topics will be covered by internal or external experts including agenttechnology, bio-informatics, health informatics, pervasive computing…The content <strong>of</strong> <strong>the</strong> module will vary yearly depending on current trends and advances.PREREQUISITES: NoneRECOMMENDED ASSESMENT: Courseworkhttp://perun.im.ns.ac.yu/msc-se/ 34


PROJECTAIMS:This module is intended to provide <strong>the</strong> student with <strong>the</strong> experience <strong>of</strong> developing a substantialpiece <strong>of</strong> individual work, from concept to completion. For this, <strong>the</strong> student will have to identify <strong>the</strong>skills and knowledge necessary for a successful completion, acquire <strong>the</strong>m by personal study andemploy <strong>the</strong>m appropriately. Time constraints will ensure that students will acquire skills in timemanagement and in scheduling and managing inter-related tasks. Good presentational skills,written and oral, will be essential for <strong>the</strong> student's description <strong>of</strong> <strong>the</strong> work undertaken.Students are encouraged to undertake projects in association with industrial, commercial orpublic service sponsors. Part-time students are particularly encouraged to undertake, wherepossible, <strong>the</strong> project at <strong>the</strong>ir place <strong>of</strong> work.Learning approaches: supervisory teams will provide guidance as and when necessary.However, it is to be emphasised that <strong>the</strong> student is expected to drive <strong>the</strong> project, to takeresponsibility for <strong>the</strong> acquisition <strong>of</strong> necessary skills and knowledge and to ensure that tasks arecompleted within <strong>the</strong> agreed timescales.LEARNING OUTCOMES:Upon successful completion <strong>of</strong> this module, <strong>the</strong> student will be able to:• produce terms <strong>of</strong> reference for a project to be undertaken;• construct a project from unstructured ideas through critical analysis <strong>of</strong> <strong>the</strong> problem area• identify skills which are necessary for a successful completion <strong>of</strong> <strong>the</strong> project;• identify a reasonable course <strong>of</strong> action for making good any deficiency in expertise which isidentified as necessary for <strong>the</strong> project, and pursue it effectively;• employ good time-management practice in <strong>the</strong> pursuit <strong>of</strong> <strong>the</strong> project;• schedule tasks appropriately so that <strong>the</strong> available resources are fully utilised;• conceive, design, implement and deliver a s<strong>of</strong>tware system in an organised, repeatable way;• present written reports in a manner appropriate to <strong>the</strong> demands <strong>of</strong> <strong>the</strong> project, in particular, aformal presentation <strong>of</strong> material as demanded in an academic medium such as a journal orset <strong>of</strong> conference proceedings;• make an oral presentation <strong>describing</strong> <strong>the</strong> project, using appropriate technology, and be ableto answer questions on it from an informed audience.SYLLABUS CONTENT:• Semester 1. Students consider <strong>the</strong> subject area in which <strong>the</strong>y would like to undertake aproject. If students are arranging <strong>the</strong>ir own project, particularly with an external agency, suchas a local company, <strong>the</strong>y should start discussions about <strong>the</strong> scope and content.• Semester 2. At <strong>the</strong> beginning <strong>of</strong> semester 2, internal projects are described; studentsinvestigate <strong>the</strong> possibilities in discussions with <strong>the</strong> project co-ordinator and <strong>the</strong> projectproposer (who will <strong>of</strong>ten, subsequently, be <strong>the</strong> project supervisor).• Semester 3. Students complete <strong>the</strong>ir terms <strong>of</strong> reference, in collaboration with <strong>the</strong>ir projectsupervisor and <strong>the</strong>n complete <strong>all</strong> outstanding work on <strong>the</strong> project.PREREQUISITES: Passed <strong>all</strong> examsRECOMMENDED ASSESMENT: Coursework, written and approved <strong>the</strong>sis, and oral publicpresentationhttp://perun.im.ns.ac.yu/msc-se/ 35


GlossaryBasic termsAssignmentA task given to students to solve, usu<strong>all</strong>y during <strong>the</strong> delivery <strong>of</strong> a module. Assignmentsare usu<strong>all</strong>y to be solved over a fixed period <strong>of</strong> time, in students teams or alone.Assignments are usu<strong>all</strong>y a part <strong>of</strong> an assessment strategy for <strong>the</strong> module.Bologna DeclarationThe Bologna declaration is <strong>the</strong> main guiding <strong>document</strong> <strong>of</strong> <strong>the</strong> Bologna process. It wasadopted by ministers <strong>of</strong> education <strong>of</strong> 29 European countries at <strong>the</strong>ir meeting in Bologna in1999. The main goal <strong>of</strong> <strong>the</strong> Bologna process is to harmonize university education inEurope, with respect to various <strong>aspects</strong> (principles, degrees, credit system,…).Contact hoursThe number <strong>of</strong> hours where <strong>the</strong> instructor(s) and <strong>the</strong> students are present and interactface-to-face (as opposed to <strong>the</strong> distance learning, student’s self-study, etc.). Contacthours usu<strong>all</strong>y cover lectures, seminars, tutorials, consultations, etc. They are expressedon a ‘per week’ basis.Core module(In our <strong>curriculum</strong>) is a module that presents basic knowledge <strong>of</strong> <strong>the</strong> <strong>curriculum</strong> (i.e., to<strong>the</strong> field <strong>of</strong> study) and, thus, is obligatory for <strong>the</strong> students (as opposed to <strong>the</strong> optionalmodule).Curriculumaka “programme <strong>of</strong> studies”. The set <strong>of</strong> modules and <strong>the</strong>ir contents <strong>of</strong>fered by aninstitution such as a school or university. For fur<strong>the</strong>r information, see Module, Moduletemplate, and Detailed module template.Detailed module templateIt refines and details <strong>the</strong> module template (see Module template) in which <strong>the</strong>requirements <strong>of</strong> a module are defined. Besides aims, learning outcomes, and contentswhich are already part <strong>of</strong> a module template, it also contains a precise assessmentstrategy, examination criteria, prerequisites, <strong>the</strong> way to deliver <strong>the</strong> contents (lectures,tutorials, practical work, …), reading material, supporting literature, etc.ECTSEuropean Credit Transfer (and Accumulation) System is a method that is used to compare<strong>the</strong> marks given in higher education across Europe. ECTS-credit is a unit <strong>of</strong> measure <strong>of</strong> astudent’s workload needed to complete <strong>the</strong> module. One academic year corresponds to 60ECTS-credits in <strong>all</strong> countries irrespective <strong>of</strong> standard or qualification type and is used t<strong>of</strong>acilitate transfer and progression throughout Europe. 1 ECTS-credit is equivalent to 20-30hours <strong>of</strong> <strong>the</strong> total students workload (depending on <strong>the</strong> country).Induction layerA set <strong>of</strong> modules that <strong>the</strong> institution <strong>of</strong>fers to students that do not have enough preknowledgeto enrol <strong>the</strong> studies. It can be implemented as given (e.g., in this <strong>document</strong>) orby finding appropriate equivalents in existing modules within an institution.Lecture NotesNotes for <strong>the</strong> instructor (lecturer), i.e., to a person that delivers <strong>the</strong> module. It usu<strong>all</strong>ycontains additional technical and methodological information on <strong>the</strong> subject, how todeliver <strong>the</strong> lecture, what are suitable topics for discussion with students, etc.http://perun.im.ns.ac.yu/msc-se/ 36


Moduleaka “course” or (in some parts <strong>of</strong> Europe) “subject”. A module specialises on a specificpart <strong>of</strong> <strong>the</strong> <strong>curriculum</strong>, has a name, usu<strong>all</strong>y spans over a semester (or term) and endswith an assessment <strong>of</strong> students’ achievements. A module is usu<strong>all</strong>y described by its aims,learning outcomes, and contents (see Module template and Detailed module template).Module templateA module template is a requirement that <strong>the</strong> development and delivery <strong>of</strong> a module mustsatisfy. It usu<strong>all</strong>y defines <strong>the</strong> aim, learning outcomes, and contents <strong>of</strong> <strong>the</strong> module. Seealso Detailed module template.Optional moduleAs opposed to <strong>the</strong> Core module, an optional module can be freely chosen by <strong>the</strong> studentduring her studies. It usu<strong>all</strong>y implements non-core subjects <strong>of</strong> <strong>the</strong> field <strong>of</strong> study and<strong>all</strong>ows students to specialise in some sub-field according to <strong>the</strong>ir needs.Study packA set <strong>of</strong> teaching materials that fully support <strong>the</strong> delivery <strong>of</strong> <strong>the</strong> module. It containspresentation material (e.g. PPT slides), lecture notes, a set <strong>of</strong> assignments and solutions,a set <strong>of</strong> (practical and <strong>the</strong>oretical) exercises with solutions, set <strong>of</strong> possible questions for<strong>the</strong> final exam...Terms related to quality assurance and controlCourseworkWork carried out by students while <strong>the</strong>y are studying a module. Coursework contributestowards students’ over<strong>all</strong> mark, but is assessed separately from <strong>the</strong>ir final exams.Coursework can, for example, take <strong>the</strong> form <strong>of</strong> solving <strong>the</strong> assignments, write bookreports, write essays, etc.Curriculum handbookDocument that describes <strong>the</strong> whole <strong>curriculum</strong> in general, i.e., its rationale, set <strong>of</strong>modules with module templates, costing and resource issues, etc.(Detailed) Module templates handbookDocument that contains <strong>the</strong> set <strong>of</strong> <strong>all</strong> detailed module templates <strong>of</strong> <strong>the</strong> <strong>curriculum</strong>.Dry-runA delivery <strong>of</strong> <strong>the</strong> module to a selected audience, usu<strong>all</strong>y members <strong>of</strong> <strong>the</strong> teaching staff.The purpose <strong>of</strong> <strong>the</strong> dry-run is to collect ideas and suggestions for possible improvements<strong>of</strong> a module.External examinerPerson outside <strong>of</strong> <strong>the</strong> home institution appointed to monitor <strong>the</strong> implementation <strong>of</strong>assessment strategy <strong>of</strong> a module and to ensure that <strong>the</strong> quality <strong>of</strong> <strong>the</strong> assessed workcomplies with certain standards. External examiner is an experienced academic orindustrialist. To fulfil her task, external examiner must collaborate with technical editor <strong>of</strong><strong>the</strong> module and possibly advise him on some <strong>aspects</strong> <strong>of</strong> <strong>the</strong> module.Instructoraka “Lecturer”. Person delivering <strong>the</strong> module to <strong>the</strong> audience.Module developerPerson that develops <strong>the</strong> teaching material <strong>of</strong> <strong>the</strong> module (i.e., <strong>the</strong> study pack). It is notnecessary that this person is also an instructor <strong>of</strong> <strong>the</strong> module.Module feedback formThe form that students are asked to fill in at <strong>the</strong> end <strong>of</strong> each module delivery. These arehttp://perun.im.ns.ac.yu/msc-se/ 37


collated, analysed and reported to <strong>the</strong> module technical editor.Staff handbookDocument that contains <strong>the</strong> CVs <strong>of</strong> <strong>all</strong> instructors <strong>of</strong> modules <strong>of</strong> <strong>the</strong> <strong>curriculum</strong>.Student handbookDocument that contains everything that students need to know, from <strong>the</strong> courseregulation, modules, staff, libraries, web sites, etc.Technical editor (<strong>of</strong> a module)Person that is responsible for <strong>the</strong> technical direction and evolution <strong>of</strong> <strong>the</strong> module(s) inhis/her subject area. Technical editor is expert in <strong>the</strong> field to which <strong>the</strong> module belongsand is not <strong>the</strong> module developer <strong>of</strong> that module.Unseen paperExamination technique in which students answer questions or solve <strong>the</strong> problem withoutany supporting literature or external help.Validation panelA group <strong>of</strong> academic peers that scrutinise <strong>the</strong> proposed <strong>curriculum</strong> in <strong>the</strong> process <strong>of</strong><strong>curriculum</strong> validation. Validation panel usu<strong>all</strong>y works during a speci<strong>all</strong>y organizedvalidation event. A panel must have external members (academics and/or industrialists).http://perun.im.ns.ac.yu/msc-se/ 38


The list <strong>of</strong> abbreviationsABASB2BB2CCASECBDCMMCoBITCOCOMOCORBACOTSCRCCSCVDBDBMSDSDMECTSEEEJBERPETHICSEUHCIICTIDLISISDISOITJADJDBCMScNATOODBCOOPhDPRINCERADRUPRMIRPCSAAMSESEISMESOASOAPSQLSSADMTEUDDIUKUMLUSAUSDPWSDLWSLXMLXPAttribute Based Architectural StyleBusiness to BusinessBusiness to CustomerComputer Aided S<strong>of</strong>tware EngineeringComponent Based DevelopmentCapability Maturity ModelControl Objectives for Information and Related TechnologyCOnstructive COst ModelCommon Object Request Broker ArchitectureComponents Of The ShelfClass-Responsibility-CollaborationCritical SystemCurriculum VitaeDataBaseDataBase Management SystemDynamic Systems Development MethodEuropean Credit Transfer SystemExternal ExaminerEnterprise Java BeansEnterprise Resource PlanningEffective Technical and Human Implementation <strong>of</strong> Computer-based SystemsEuropean UnionHuman-Computer InteractionInformation and Communication TechnologyInterface Description LanguageInformation SystemInformation Systems DevelopmentInternational Organisation for StandardisationInformation TechnologyJoint Application DevelopmentJava DataBase ConnectivityMaster <strong>of</strong> ScienceNorth Atlantic Treaty OrganizationOpen Database ConnectivityObject-OrientedPhilosophiae Doctor (doctor <strong>of</strong> philosophy)PRojects IN Controlled EnvironmentsRapid Application DevelopmentRational Unified ProcessRemote Method InvocationRemote Procedure C<strong>all</strong>S<strong>of</strong>tware Architecture Analysis ModelS<strong>of</strong>tware EngineeringS<strong>of</strong>tware Engineering Institute (at Carnegy Mellon University)Sm<strong>all</strong> and Medium sized EnterprisesSimple Object AccessSimple Object Access ProtocolStructured Query LanguageStructured Systems Analysis and Design MethodologyTechnical EditorUniversal Description, Discovery and IntegrationUnited KingdomUnified Modelling LanguageUnited States <strong>of</strong> AmericaUnified S<strong>of</strong>tware Development ProcessWeb Services Description LanguageWide spectrum languageeXtensible Markup LanguageeXtreme Programminghttp://perun.im.ns.ac.yu/msc-se/ 39


Version historyDocument nameThis <strong>document</strong>(Curriculum specification,2 nd <strong>release</strong>)DateMay 25, 2006Accepted during <strong>the</strong> 2 nd project workshop in Skopje, April 3-6, 2006 and isbased on <strong>the</strong> review done by European S<strong>of</strong>tware Institute.Electronic version: http://perun.im.ns.ac.yu/msc-se/partners/work/02/MScSE-<strong>curriculum</strong>-rel2.docCurriculum Nov. 17, 2005 Accepted during <strong>the</strong> 1. project workshop in Novi Sad, Oct 17-21, 2005.Electronic version: http://perun.im.ns.ac.yu/msc-se/partners/work/02/MScSE-<strong>curriculum</strong>.docDraft <strong>curriculum</strong> Aug. 23, 2005 Working material for <strong>the</strong> 1. project workshopElectronic version: http://perun.im.ns.ac.yu/msc-se/partners/work/02/workshop/MScSE-draft-<strong>curriculum</strong>.ziphttp://perun.im.ns.ac.yu/msc-se/ 40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!