PDF, 10.62 Mb

17

Transcript of PDF, 10.62 Mb

Page 1: PDF, 10.62 Mb

Author of the Program

Prof DrSci Dmitry Alexandrov

General Information about Training Course

The training course lsquoSoftware engineering methodologyrsquo is offered to students of the Master

Program laquoSystem and Software Engineeringraquo (area code 090404) at the Faculty of Computer

Science the National Research University - Higher School of EconomicsHSE The course is

classified as a compulsory subject (М2Б unit Base module [Special subject disciplines М2]

of 2014-2015 academic yearrsquos working syllabus) it is a two module course which is started in

module 1 The duration of the course amounts to 64 class periods (both lectures and seminars)

divided into 24 lecture hours and 40 seminar hours In addition 116 academic hours are set aside

for self-studying of students Mark check stipulated by the working syllabus consists of one end-

of-module test (MT end of first module) and final examination (FE) given in the second

module

Students Requirements

It is presupposed that all individuals accepted as Master Program students completed

corresponding full-time Bachelor degree training programs and were selected (based on either

portfolio tenders or other core performance indices) to continue their MS education in the

Program therefore The students should be familiar with the basics of the following training

courses a) Object-oriented analysis and programming b) The software testing methodology

The students will learn how to analyze design program and test software projects gather

requirements and write user stories use cases and use case diagrams draft user interfaces and

create functional system prototypes translate application requirements into working code

simplify complex systems using modern object-oriented analysis and design techniques and

ensure software quality with both manual and automated testing techniques

Course Objectives

The training course presents the engineering discipline which is concerned with all aspects of

software production from the early stages of system specification through to maintaining the

system after it has gone into use

The main objective of the training course is to examine and discuss with students fundamentals

and principles of Software Engineering (SE) get familiar with common methods and standards

of SE development and evolution of complex multiversion and replicated software solutions

The course is aimed to help students to develop skills that will enable them to construct software

of high quality reliable and that is reasonably easy to understand modify and maintain

Abstract

The training course lsquoSoftware engineering methodologyrsquo is concerned with theories methods

and tools for professional software development It is based on the training and research

materials of Ian Sommerville professor of Software Engineering at the University of St

Andrews in Scotland

Modern software development requires the collaborative effort of a diverse team with varied

skills To be effective team members need to understand the activities performed at each stage

in the development cycle In this course students analyze design implement and test

applications that meet user requirements through a simulated case study They gain hands-on

experience performing each role within the development team using all the core concepts and

skills necessary to engineer a successful program

Initially the course is aimed at students taking undergraduate and graduate courses and at

software engineers in commerce and industry It may be used in general software engineering

courses or in courses such as advanced programming software specification and software

design or management

Also the course is based on the ldquoSoftware Engineering Methodologyrdquo course and materials

developed by Professor VV Lipaev and implemented into NRU-HSE being a part of an

innovative educational program ldquoDevelopment of an analytical competency system for

innovations in business and governmentrdquo in 2006

The course is compliant with ISO standards and CMMCMMI standards for industrial software

development The training materials follow the Software Engineering Education Knowledge

(SEEK) knowledge insights described in Software Engineering 2004 (SE 2004) paper book

The training structure meets the requirements of Russian and international standards of software

development and the global professional standard lsquoGuide to the Software Engineering

Body of Knowledge (SWEBOK) ISOIEC TR 19759 IEEErsquo

The course is aimed at studying the major current approaches to software engineering processes

specification design development verification validation and management of large-scale

software systems It describes the methods platforms technologies and tools which are applied

for all stages of life cycle and covers software requirements specification software design

software engineering management dependable systems development and software evolution

Training Objectives

During the two-module course ldquoSoftware engineering methodologyrdquo the students will

Study the place and role of software engineering place it in a broader systems context

and present the concept of software engineering processes and management

Learn the processes techniques and deliverables that are associated with requirements

engineering system modeling formal specification

Acquire skills in software design module development (including agile methods

software reuse CBSE and critical systems development) integration

Focus on techniques for software verification testing critical systems validation and

further documentation

Discover the importance of management topics in software engineering managing

people cost estimation quality management process improvement and configuration

management

At the end of the course the students will acquire theoretical and practical knowledge and

will be able to use

Technical skills

1 Define software engineering and explain its importance

2 Discuss the concepts of software products and software development processes

3 Develop and write a software project proposal

4 Develop and write a Software Requirements Specification

5 Design a software system

6 Document the design of the software system

7 Document the implementation of a software system

8 Define CASE tools and software development environments

9 Write a Test plan

10 Explain the importance of process visibility and software design techniques

11 Conduct a software inspection and review

12 Document software testing

13 Investigate software testing documentation and maintenance techniques for developing large

software systems

14 Prepare the final report for the course

Soft skills

1 Work within a team and understand team dynamics

2 Be able to effectively communicate their work (Presentation skills)

3 Be able to write a project report (report writing skills)

4 Be able to reflect on their own work as well as the work of others (evaluate their experience)

I Topic-wise curricula plan (accompanied with suggested themes of seminars)

Topic Name Course Hours

Total

Audience Hours

Self Study

Lectures Practical

Studies

Module 1 (28 hrs) Software engineering values processes architectural design

1 Software engineering

fundamentals 12 2 2 8

2 Software process models 12 2 2 8

3 Project management

activities 12 2 2 8

4 Software requirements 12 2 2 8

5 Requirements

engineering processes 12 2 2 8

6 System models and

architecture 12 2 2 8

7 System design 12 2 2 8 Module 1 totally 84 14 14 56

Module 2 (32 hrs) Software development validation and testing management

8 Software development 12 2 2 8

9 Software reuse and

evolution 12 2 2 8

10 Verification and

validation 12 2 2 8

11 Software testing 12 2 2 8

12 Managing people and

cost estimation 12 2 2 8

13 Software risk

management 12 2 2 8

14 Quality management

process improvement 12 2 2 8

15 Configuration

management 12 2 2 8

Module 2 totally 96 16 16 64

TOTAL 180 30 30 120

II Basic book(s) andor reader(s) (Publications)

Books

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] Липаев ВВ Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

Ullman David G Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Gilb Tom Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

Bird John Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Bernstein Michael E Braude Eric J Software Engineering Modern Approaches Wiley 2

edition 2010

Ghezzi Carlo Jazayeri Mehdi and Mandrioli Dino Fundamentals of Software Engineering

(2nd Edition) 2002

Pfleeger Shari Lawrence and Atlee Joanne M Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Kutz Myer Eshbachs Handbook of Engineering Fundamentals 2009

Lauesen Soren User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Perry William EEffective Methods for Software Testing John Wiley amp Sons 3rd edition

1995

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

McConnell Steve A Practical Handbook of Software Construction Microsoft Press 2nd

edition 2004

Pressman Roger Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition 2009

Hutcheson Marnie L Software Testing Fundamentals Methods and Metrics 2003

Boehm Barry W Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Abbott Martin L Fisher Michael T The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional

2009

White Brain A Software configuration management strategies and rational clear case 2005

Jacobson Ivar Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Heldman K Project Managers Spotlight on Risk Management 2004

Internet-based Publications

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Software Engineering Conference (Russia) 2005 2006 2007 httpwwwsecrru

Principia Cybernetica Project (PCP) 2002 httppespmc1vubacbe (in particular section

on Systems Concepts) - httppespmc1vubacbeSYSCONChtml)

The Microsoft NET platform wwwmicrosoftcomnet minus The Microsoft Solution

Framework methodology wwwmicrosoftcomtechnetitsolutionsmsfdefaultmspx

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

Other Recommended Sources of Information including Ones under Free Electronic Access

Miller JH Page SE Сomplex Adaptive Systems An Introduction to Computational

Models of Social Life Princeton University Press 2007

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Atkin R Casti JL Polyhedral Dynamics and the Geometry of Systems IIASA Research

Report RR-77-006 1977

Pidwirny M Definitions of Systems and Models Fundamentals of Physical Geography 2nd

Edition 2006

Ramage M Shipp K Systems Thinkers Springer (The Open University) 2009 Google

Books

Jackson MC Systems Methodology for the Management Sci Plenum 1991 Google Books

Gharajedaqhi J Systems Thinking Managing Chaos and Complexity A Platform for

Designing Business Architecture 2nd ed Butterworth-Heinemann Publ 2005

IV Education control forms Assessments

- [A] progress (interim) check end-of-module test (MT) at the end of 1st module

- [B] concluding check final exam (FE) at the end of 2nd module (the last module of the course)

- [C] home assignment (H) during 1st and 2

nd modules

[Assessment] Progress (interim) [A] and concluding check [B] grades are made up of the following

components

Work activity (WA) during seminar hours in 1st 2nd modules is controlled by the use of

keeping students attendance records and scoring (evaluation) involvement into discussions as

well as quality of exercise performance during seminars

End-of-module test (MT) at the end of module implies arrangement of the written test (in

lecture room) for all students enrolled to the course (the possibility of complementary

interview with students is still reserved for the purpose of accurate grade confirmation)

Subject area covered by the test embraces those topics of the course which are discussed in

both lectures and seminars till the announced date if student misses the end-of module test

because of some valid reason the grade laquoabsenceraquo is written down to corresponding column

of the mark sheet Depending on the number and complexity of the end-of-module test tasks

(final decision is taken by the course instructor) the duration of the test amounts for 90 to

105 minutes The end-of-module test (MT) is assessed on usual ten-point scale

Ultimate grades of the end-of-module check (MT) and concluding check (FE) on ten-point scale

are obtained as follows

- (А) grade of the end-of-module check Ultimate MT (at the end of the 1st module) is calculated

as a weighted sum

Ultimate MT = 02WA + 08 MT

where WA and MT are ten-point scale grades for the written test (end of the 1st ndash beginning of

the 2nd module) Calculated value obtained is rounded to integer grade Student gets the grade

laquopassraquo if Ultimate MT gt= 4 (refer to correspondence table below)

- (B) concluding check grade (FE) at the end of the last 2nd

module accumulates course results

as follows

FE = 02WA+ 02H + 06 E

where Work Activities (WA) Home Assignment (H) and Exam (E) are ten-point scale grades

As always calculated value of FE is rounded to integer grade

Conversion of the concluding rounded grade (FE) to five-point scale grade is done in accordance

with the following table

Summary Table Correspondence of ten-point to five-point systemrsquos marks

Ten-point scale [10] Five-point scale [5]

1 - unsatisfactory

2 - very bad

3 - bad

Unsatisfactory- 2

4 ndash satisfactory

5 - quite satisfactory Satisfactory- 3

6 - good

7 - very good Good - 4

8 - nearly excellent

9 - excellent

10 - brilliantly

Excellent- 5

V Course Contents

Topic 1 Software engineering fundamentals

diams Topic outline

Introduction to the ldquoSoftware engineeringrdquo course Definition of the key questions about

software engineering

Organizations people and computer systems Explanation the difference between software

engineering and computer science

Software costs structure and software engineering methods introduction

Introduction of the ethical and professional issues that concern software engineers

Software engineering main tools and techniques observation

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] ВВ Липаев Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 2 Software process models

diams Topic outline

Introduction of a software process models Generic process models and when they may be

used

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 2: PDF, 10.62 Mb

applications that meet user requirements through a simulated case study They gain hands-on

experience performing each role within the development team using all the core concepts and

skills necessary to engineer a successful program

Initially the course is aimed at students taking undergraduate and graduate courses and at

software engineers in commerce and industry It may be used in general software engineering

courses or in courses such as advanced programming software specification and software

design or management

Also the course is based on the ldquoSoftware Engineering Methodologyrdquo course and materials

developed by Professor VV Lipaev and implemented into NRU-HSE being a part of an

innovative educational program ldquoDevelopment of an analytical competency system for

innovations in business and governmentrdquo in 2006

The course is compliant with ISO standards and CMMCMMI standards for industrial software

development The training materials follow the Software Engineering Education Knowledge

(SEEK) knowledge insights described in Software Engineering 2004 (SE 2004) paper book

The training structure meets the requirements of Russian and international standards of software

development and the global professional standard lsquoGuide to the Software Engineering

Body of Knowledge (SWEBOK) ISOIEC TR 19759 IEEErsquo

The course is aimed at studying the major current approaches to software engineering processes

specification design development verification validation and management of large-scale

software systems It describes the methods platforms technologies and tools which are applied

for all stages of life cycle and covers software requirements specification software design

software engineering management dependable systems development and software evolution

Training Objectives

During the two-module course ldquoSoftware engineering methodologyrdquo the students will

Study the place and role of software engineering place it in a broader systems context

and present the concept of software engineering processes and management

Learn the processes techniques and deliverables that are associated with requirements

engineering system modeling formal specification

Acquire skills in software design module development (including agile methods

software reuse CBSE and critical systems development) integration

Focus on techniques for software verification testing critical systems validation and

further documentation

Discover the importance of management topics in software engineering managing

people cost estimation quality management process improvement and configuration

management

At the end of the course the students will acquire theoretical and practical knowledge and

will be able to use

Technical skills

1 Define software engineering and explain its importance

2 Discuss the concepts of software products and software development processes

3 Develop and write a software project proposal

4 Develop and write a Software Requirements Specification

5 Design a software system

6 Document the design of the software system

7 Document the implementation of a software system

8 Define CASE tools and software development environments

9 Write a Test plan

10 Explain the importance of process visibility and software design techniques

11 Conduct a software inspection and review

12 Document software testing

13 Investigate software testing documentation and maintenance techniques for developing large

software systems

14 Prepare the final report for the course

Soft skills

1 Work within a team and understand team dynamics

2 Be able to effectively communicate their work (Presentation skills)

3 Be able to write a project report (report writing skills)

4 Be able to reflect on their own work as well as the work of others (evaluate their experience)

I Topic-wise curricula plan (accompanied with suggested themes of seminars)

Topic Name Course Hours

Total

Audience Hours

Self Study

Lectures Practical

Studies

Module 1 (28 hrs) Software engineering values processes architectural design

1 Software engineering

fundamentals 12 2 2 8

2 Software process models 12 2 2 8

3 Project management

activities 12 2 2 8

4 Software requirements 12 2 2 8

5 Requirements

engineering processes 12 2 2 8

6 System models and

architecture 12 2 2 8

7 System design 12 2 2 8 Module 1 totally 84 14 14 56

Module 2 (32 hrs) Software development validation and testing management

8 Software development 12 2 2 8

9 Software reuse and

evolution 12 2 2 8

10 Verification and

validation 12 2 2 8

11 Software testing 12 2 2 8

12 Managing people and

cost estimation 12 2 2 8

13 Software risk

management 12 2 2 8

14 Quality management

process improvement 12 2 2 8

15 Configuration

management 12 2 2 8

Module 2 totally 96 16 16 64

TOTAL 180 30 30 120

II Basic book(s) andor reader(s) (Publications)

Books

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] Липаев ВВ Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

Ullman David G Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Gilb Tom Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

Bird John Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Bernstein Michael E Braude Eric J Software Engineering Modern Approaches Wiley 2

edition 2010

Ghezzi Carlo Jazayeri Mehdi and Mandrioli Dino Fundamentals of Software Engineering

(2nd Edition) 2002

Pfleeger Shari Lawrence and Atlee Joanne M Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Kutz Myer Eshbachs Handbook of Engineering Fundamentals 2009

Lauesen Soren User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Perry William EEffective Methods for Software Testing John Wiley amp Sons 3rd edition

1995

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

McConnell Steve A Practical Handbook of Software Construction Microsoft Press 2nd

edition 2004

Pressman Roger Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition 2009

Hutcheson Marnie L Software Testing Fundamentals Methods and Metrics 2003

Boehm Barry W Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Abbott Martin L Fisher Michael T The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional

2009

White Brain A Software configuration management strategies and rational clear case 2005

Jacobson Ivar Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Heldman K Project Managers Spotlight on Risk Management 2004

Internet-based Publications

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Software Engineering Conference (Russia) 2005 2006 2007 httpwwwsecrru

Principia Cybernetica Project (PCP) 2002 httppespmc1vubacbe (in particular section

on Systems Concepts) - httppespmc1vubacbeSYSCONChtml)

The Microsoft NET platform wwwmicrosoftcomnet minus The Microsoft Solution

Framework methodology wwwmicrosoftcomtechnetitsolutionsmsfdefaultmspx

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

Other Recommended Sources of Information including Ones under Free Electronic Access

Miller JH Page SE Сomplex Adaptive Systems An Introduction to Computational

Models of Social Life Princeton University Press 2007

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Atkin R Casti JL Polyhedral Dynamics and the Geometry of Systems IIASA Research

Report RR-77-006 1977

Pidwirny M Definitions of Systems and Models Fundamentals of Physical Geography 2nd

Edition 2006

Ramage M Shipp K Systems Thinkers Springer (The Open University) 2009 Google

Books

Jackson MC Systems Methodology for the Management Sci Plenum 1991 Google Books

Gharajedaqhi J Systems Thinking Managing Chaos and Complexity A Platform for

Designing Business Architecture 2nd ed Butterworth-Heinemann Publ 2005

IV Education control forms Assessments

- [A] progress (interim) check end-of-module test (MT) at the end of 1st module

- [B] concluding check final exam (FE) at the end of 2nd module (the last module of the course)

- [C] home assignment (H) during 1st and 2

nd modules

[Assessment] Progress (interim) [A] and concluding check [B] grades are made up of the following

components

Work activity (WA) during seminar hours in 1st 2nd modules is controlled by the use of

keeping students attendance records and scoring (evaluation) involvement into discussions as

well as quality of exercise performance during seminars

End-of-module test (MT) at the end of module implies arrangement of the written test (in

lecture room) for all students enrolled to the course (the possibility of complementary

interview with students is still reserved for the purpose of accurate grade confirmation)

Subject area covered by the test embraces those topics of the course which are discussed in

both lectures and seminars till the announced date if student misses the end-of module test

because of some valid reason the grade laquoabsenceraquo is written down to corresponding column

of the mark sheet Depending on the number and complexity of the end-of-module test tasks

(final decision is taken by the course instructor) the duration of the test amounts for 90 to

105 minutes The end-of-module test (MT) is assessed on usual ten-point scale

Ultimate grades of the end-of-module check (MT) and concluding check (FE) on ten-point scale

are obtained as follows

- (А) grade of the end-of-module check Ultimate MT (at the end of the 1st module) is calculated

as a weighted sum

Ultimate MT = 02WA + 08 MT

where WA and MT are ten-point scale grades for the written test (end of the 1st ndash beginning of

the 2nd module) Calculated value obtained is rounded to integer grade Student gets the grade

laquopassraquo if Ultimate MT gt= 4 (refer to correspondence table below)

- (B) concluding check grade (FE) at the end of the last 2nd

module accumulates course results

as follows

FE = 02WA+ 02H + 06 E

where Work Activities (WA) Home Assignment (H) and Exam (E) are ten-point scale grades

As always calculated value of FE is rounded to integer grade

Conversion of the concluding rounded grade (FE) to five-point scale grade is done in accordance

with the following table

Summary Table Correspondence of ten-point to five-point systemrsquos marks

Ten-point scale [10] Five-point scale [5]

1 - unsatisfactory

2 - very bad

3 - bad

Unsatisfactory- 2

4 ndash satisfactory

5 - quite satisfactory Satisfactory- 3

6 - good

7 - very good Good - 4

8 - nearly excellent

9 - excellent

10 - brilliantly

Excellent- 5

V Course Contents

Topic 1 Software engineering fundamentals

diams Topic outline

Introduction to the ldquoSoftware engineeringrdquo course Definition of the key questions about

software engineering

Organizations people and computer systems Explanation the difference between software

engineering and computer science

Software costs structure and software engineering methods introduction

Introduction of the ethical and professional issues that concern software engineers

Software engineering main tools and techniques observation

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] ВВ Липаев Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 2 Software process models

diams Topic outline

Introduction of a software process models Generic process models and when they may be

used

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 3: PDF, 10.62 Mb

7 Document the implementation of a software system

8 Define CASE tools and software development environments

9 Write a Test plan

10 Explain the importance of process visibility and software design techniques

11 Conduct a software inspection and review

12 Document software testing

13 Investigate software testing documentation and maintenance techniques for developing large

software systems

14 Prepare the final report for the course

Soft skills

1 Work within a team and understand team dynamics

2 Be able to effectively communicate their work (Presentation skills)

3 Be able to write a project report (report writing skills)

4 Be able to reflect on their own work as well as the work of others (evaluate their experience)

I Topic-wise curricula plan (accompanied with suggested themes of seminars)

Topic Name Course Hours

Total

Audience Hours

Self Study

Lectures Practical

Studies

Module 1 (28 hrs) Software engineering values processes architectural design

1 Software engineering

fundamentals 12 2 2 8

2 Software process models 12 2 2 8

3 Project management

activities 12 2 2 8

4 Software requirements 12 2 2 8

5 Requirements

engineering processes 12 2 2 8

6 System models and

architecture 12 2 2 8

7 System design 12 2 2 8 Module 1 totally 84 14 14 56

Module 2 (32 hrs) Software development validation and testing management

8 Software development 12 2 2 8

9 Software reuse and

evolution 12 2 2 8

10 Verification and

validation 12 2 2 8

11 Software testing 12 2 2 8

12 Managing people and

cost estimation 12 2 2 8

13 Software risk

management 12 2 2 8

14 Quality management

process improvement 12 2 2 8

15 Configuration

management 12 2 2 8

Module 2 totally 96 16 16 64

TOTAL 180 30 30 120

II Basic book(s) andor reader(s) (Publications)

Books

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] Липаев ВВ Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

Ullman David G Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Gilb Tom Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

Bird John Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Bernstein Michael E Braude Eric J Software Engineering Modern Approaches Wiley 2

edition 2010

Ghezzi Carlo Jazayeri Mehdi and Mandrioli Dino Fundamentals of Software Engineering

(2nd Edition) 2002

Pfleeger Shari Lawrence and Atlee Joanne M Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Kutz Myer Eshbachs Handbook of Engineering Fundamentals 2009

Lauesen Soren User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Perry William EEffective Methods for Software Testing John Wiley amp Sons 3rd edition

1995

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

McConnell Steve A Practical Handbook of Software Construction Microsoft Press 2nd

edition 2004

Pressman Roger Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition 2009

Hutcheson Marnie L Software Testing Fundamentals Methods and Metrics 2003

Boehm Barry W Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Abbott Martin L Fisher Michael T The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional

2009

White Brain A Software configuration management strategies and rational clear case 2005

Jacobson Ivar Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Heldman K Project Managers Spotlight on Risk Management 2004

Internet-based Publications

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Software Engineering Conference (Russia) 2005 2006 2007 httpwwwsecrru

Principia Cybernetica Project (PCP) 2002 httppespmc1vubacbe (in particular section

on Systems Concepts) - httppespmc1vubacbeSYSCONChtml)

The Microsoft NET platform wwwmicrosoftcomnet minus The Microsoft Solution

Framework methodology wwwmicrosoftcomtechnetitsolutionsmsfdefaultmspx

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

Other Recommended Sources of Information including Ones under Free Electronic Access

Miller JH Page SE Сomplex Adaptive Systems An Introduction to Computational

Models of Social Life Princeton University Press 2007

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Atkin R Casti JL Polyhedral Dynamics and the Geometry of Systems IIASA Research

Report RR-77-006 1977

Pidwirny M Definitions of Systems and Models Fundamentals of Physical Geography 2nd

Edition 2006

Ramage M Shipp K Systems Thinkers Springer (The Open University) 2009 Google

Books

Jackson MC Systems Methodology for the Management Sci Plenum 1991 Google Books

Gharajedaqhi J Systems Thinking Managing Chaos and Complexity A Platform for

Designing Business Architecture 2nd ed Butterworth-Heinemann Publ 2005

IV Education control forms Assessments

- [A] progress (interim) check end-of-module test (MT) at the end of 1st module

- [B] concluding check final exam (FE) at the end of 2nd module (the last module of the course)

- [C] home assignment (H) during 1st and 2

nd modules

[Assessment] Progress (interim) [A] and concluding check [B] grades are made up of the following

components

Work activity (WA) during seminar hours in 1st 2nd modules is controlled by the use of

keeping students attendance records and scoring (evaluation) involvement into discussions as

well as quality of exercise performance during seminars

End-of-module test (MT) at the end of module implies arrangement of the written test (in

lecture room) for all students enrolled to the course (the possibility of complementary

interview with students is still reserved for the purpose of accurate grade confirmation)

Subject area covered by the test embraces those topics of the course which are discussed in

both lectures and seminars till the announced date if student misses the end-of module test

because of some valid reason the grade laquoabsenceraquo is written down to corresponding column

of the mark sheet Depending on the number and complexity of the end-of-module test tasks

(final decision is taken by the course instructor) the duration of the test amounts for 90 to

105 minutes The end-of-module test (MT) is assessed on usual ten-point scale

Ultimate grades of the end-of-module check (MT) and concluding check (FE) on ten-point scale

are obtained as follows

- (А) grade of the end-of-module check Ultimate MT (at the end of the 1st module) is calculated

as a weighted sum

Ultimate MT = 02WA + 08 MT

where WA and MT are ten-point scale grades for the written test (end of the 1st ndash beginning of

the 2nd module) Calculated value obtained is rounded to integer grade Student gets the grade

laquopassraquo if Ultimate MT gt= 4 (refer to correspondence table below)

- (B) concluding check grade (FE) at the end of the last 2nd

module accumulates course results

as follows

FE = 02WA+ 02H + 06 E

where Work Activities (WA) Home Assignment (H) and Exam (E) are ten-point scale grades

As always calculated value of FE is rounded to integer grade

Conversion of the concluding rounded grade (FE) to five-point scale grade is done in accordance

with the following table

Summary Table Correspondence of ten-point to five-point systemrsquos marks

Ten-point scale [10] Five-point scale [5]

1 - unsatisfactory

2 - very bad

3 - bad

Unsatisfactory- 2

4 ndash satisfactory

5 - quite satisfactory Satisfactory- 3

6 - good

7 - very good Good - 4

8 - nearly excellent

9 - excellent

10 - brilliantly

Excellent- 5

V Course Contents

Topic 1 Software engineering fundamentals

diams Topic outline

Introduction to the ldquoSoftware engineeringrdquo course Definition of the key questions about

software engineering

Organizations people and computer systems Explanation the difference between software

engineering and computer science

Software costs structure and software engineering methods introduction

Introduction of the ethical and professional issues that concern software engineers

Software engineering main tools and techniques observation

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] ВВ Липаев Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 2 Software process models

diams Topic outline

Introduction of a software process models Generic process models and when they may be

used

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 4: PDF, 10.62 Mb

13 Software risk

management 12 2 2 8

14 Quality management

process improvement 12 2 2 8

15 Configuration

management 12 2 2 8

Module 2 totally 96 16 16 64

TOTAL 180 30 30 120

II Basic book(s) andor reader(s) (Publications)

Books

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] Липаев ВВ Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

Ullman David G Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Gilb Tom Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

Bird John Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Bernstein Michael E Braude Eric J Software Engineering Modern Approaches Wiley 2

edition 2010

Ghezzi Carlo Jazayeri Mehdi and Mandrioli Dino Fundamentals of Software Engineering

(2nd Edition) 2002

Pfleeger Shari Lawrence and Atlee Joanne M Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Kutz Myer Eshbachs Handbook of Engineering Fundamentals 2009

Lauesen Soren User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Perry William EEffective Methods for Software Testing John Wiley amp Sons 3rd edition

1995

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

McConnell Steve A Practical Handbook of Software Construction Microsoft Press 2nd

edition 2004

Pressman Roger Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition 2009

Hutcheson Marnie L Software Testing Fundamentals Methods and Metrics 2003

Boehm Barry W Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Abbott Martin L Fisher Michael T The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional

2009

White Brain A Software configuration management strategies and rational clear case 2005

Jacobson Ivar Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Heldman K Project Managers Spotlight on Risk Management 2004

Internet-based Publications

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Software Engineering Conference (Russia) 2005 2006 2007 httpwwwsecrru

Principia Cybernetica Project (PCP) 2002 httppespmc1vubacbe (in particular section

on Systems Concepts) - httppespmc1vubacbeSYSCONChtml)

The Microsoft NET platform wwwmicrosoftcomnet minus The Microsoft Solution

Framework methodology wwwmicrosoftcomtechnetitsolutionsmsfdefaultmspx

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

Other Recommended Sources of Information including Ones under Free Electronic Access

Miller JH Page SE Сomplex Adaptive Systems An Introduction to Computational

Models of Social Life Princeton University Press 2007

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Atkin R Casti JL Polyhedral Dynamics and the Geometry of Systems IIASA Research

Report RR-77-006 1977

Pidwirny M Definitions of Systems and Models Fundamentals of Physical Geography 2nd

Edition 2006

Ramage M Shipp K Systems Thinkers Springer (The Open University) 2009 Google

Books

Jackson MC Systems Methodology for the Management Sci Plenum 1991 Google Books

Gharajedaqhi J Systems Thinking Managing Chaos and Complexity A Platform for

Designing Business Architecture 2nd ed Butterworth-Heinemann Publ 2005

IV Education control forms Assessments

- [A] progress (interim) check end-of-module test (MT) at the end of 1st module

- [B] concluding check final exam (FE) at the end of 2nd module (the last module of the course)

- [C] home assignment (H) during 1st and 2

nd modules

[Assessment] Progress (interim) [A] and concluding check [B] grades are made up of the following

components

Work activity (WA) during seminar hours in 1st 2nd modules is controlled by the use of

keeping students attendance records and scoring (evaluation) involvement into discussions as

well as quality of exercise performance during seminars

End-of-module test (MT) at the end of module implies arrangement of the written test (in

lecture room) for all students enrolled to the course (the possibility of complementary

interview with students is still reserved for the purpose of accurate grade confirmation)

Subject area covered by the test embraces those topics of the course which are discussed in

both lectures and seminars till the announced date if student misses the end-of module test

because of some valid reason the grade laquoabsenceraquo is written down to corresponding column

of the mark sheet Depending on the number and complexity of the end-of-module test tasks

(final decision is taken by the course instructor) the duration of the test amounts for 90 to

105 minutes The end-of-module test (MT) is assessed on usual ten-point scale

Ultimate grades of the end-of-module check (MT) and concluding check (FE) on ten-point scale

are obtained as follows

- (А) grade of the end-of-module check Ultimate MT (at the end of the 1st module) is calculated

as a weighted sum

Ultimate MT = 02WA + 08 MT

where WA and MT are ten-point scale grades for the written test (end of the 1st ndash beginning of

the 2nd module) Calculated value obtained is rounded to integer grade Student gets the grade

laquopassraquo if Ultimate MT gt= 4 (refer to correspondence table below)

- (B) concluding check grade (FE) at the end of the last 2nd

module accumulates course results

as follows

FE = 02WA+ 02H + 06 E

where Work Activities (WA) Home Assignment (H) and Exam (E) are ten-point scale grades

As always calculated value of FE is rounded to integer grade

Conversion of the concluding rounded grade (FE) to five-point scale grade is done in accordance

with the following table

Summary Table Correspondence of ten-point to five-point systemrsquos marks

Ten-point scale [10] Five-point scale [5]

1 - unsatisfactory

2 - very bad

3 - bad

Unsatisfactory- 2

4 ndash satisfactory

5 - quite satisfactory Satisfactory- 3

6 - good

7 - very good Good - 4

8 - nearly excellent

9 - excellent

10 - brilliantly

Excellent- 5

V Course Contents

Topic 1 Software engineering fundamentals

diams Topic outline

Introduction to the ldquoSoftware engineeringrdquo course Definition of the key questions about

software engineering

Organizations people and computer systems Explanation the difference between software

engineering and computer science

Software costs structure and software engineering methods introduction

Introduction of the ethical and professional issues that concern software engineers

Software engineering main tools and techniques observation

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] ВВ Липаев Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 2 Software process models

diams Topic outline

Introduction of a software process models Generic process models and when they may be

used

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 5: PDF, 10.62 Mb

McConnell Steve A Practical Handbook of Software Construction Microsoft Press 2nd

edition 2004

Pressman Roger Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition 2009

Hutcheson Marnie L Software Testing Fundamentals Methods and Metrics 2003

Boehm Barry W Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Abbott Martin L Fisher Michael T The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional

2009

White Brain A Software configuration management strategies and rational clear case 2005

Jacobson Ivar Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Heldman K Project Managers Spotlight on Risk Management 2004

Internet-based Publications

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Software Engineering Conference (Russia) 2005 2006 2007 httpwwwsecrru

Principia Cybernetica Project (PCP) 2002 httppespmc1vubacbe (in particular section

on Systems Concepts) - httppespmc1vubacbeSYSCONChtml)

The Microsoft NET platform wwwmicrosoftcomnet minus The Microsoft Solution

Framework methodology wwwmicrosoftcomtechnetitsolutionsmsfdefaultmspx

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

Other Recommended Sources of Information including Ones under Free Electronic Access

Miller JH Page SE Сomplex Adaptive Systems An Introduction to Computational

Models of Social Life Princeton University Press 2007

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Atkin R Casti JL Polyhedral Dynamics and the Geometry of Systems IIASA Research

Report RR-77-006 1977

Pidwirny M Definitions of Systems and Models Fundamentals of Physical Geography 2nd

Edition 2006

Ramage M Shipp K Systems Thinkers Springer (The Open University) 2009 Google

Books

Jackson MC Systems Methodology for the Management Sci Plenum 1991 Google Books

Gharajedaqhi J Systems Thinking Managing Chaos and Complexity A Platform for

Designing Business Architecture 2nd ed Butterworth-Heinemann Publ 2005

IV Education control forms Assessments

- [A] progress (interim) check end-of-module test (MT) at the end of 1st module

- [B] concluding check final exam (FE) at the end of 2nd module (the last module of the course)

- [C] home assignment (H) during 1st and 2

nd modules

[Assessment] Progress (interim) [A] and concluding check [B] grades are made up of the following

components

Work activity (WA) during seminar hours in 1st 2nd modules is controlled by the use of

keeping students attendance records and scoring (evaluation) involvement into discussions as

well as quality of exercise performance during seminars

End-of-module test (MT) at the end of module implies arrangement of the written test (in

lecture room) for all students enrolled to the course (the possibility of complementary

interview with students is still reserved for the purpose of accurate grade confirmation)

Subject area covered by the test embraces those topics of the course which are discussed in

both lectures and seminars till the announced date if student misses the end-of module test

because of some valid reason the grade laquoabsenceraquo is written down to corresponding column

of the mark sheet Depending on the number and complexity of the end-of-module test tasks

(final decision is taken by the course instructor) the duration of the test amounts for 90 to

105 minutes The end-of-module test (MT) is assessed on usual ten-point scale

Ultimate grades of the end-of-module check (MT) and concluding check (FE) on ten-point scale

are obtained as follows

- (А) grade of the end-of-module check Ultimate MT (at the end of the 1st module) is calculated

as a weighted sum

Ultimate MT = 02WA + 08 MT

where WA and MT are ten-point scale grades for the written test (end of the 1st ndash beginning of

the 2nd module) Calculated value obtained is rounded to integer grade Student gets the grade

laquopassraquo if Ultimate MT gt= 4 (refer to correspondence table below)

- (B) concluding check grade (FE) at the end of the last 2nd

module accumulates course results

as follows

FE = 02WA+ 02H + 06 E

where Work Activities (WA) Home Assignment (H) and Exam (E) are ten-point scale grades

As always calculated value of FE is rounded to integer grade

Conversion of the concluding rounded grade (FE) to five-point scale grade is done in accordance

with the following table

Summary Table Correspondence of ten-point to five-point systemrsquos marks

Ten-point scale [10] Five-point scale [5]

1 - unsatisfactory

2 - very bad

3 - bad

Unsatisfactory- 2

4 ndash satisfactory

5 - quite satisfactory Satisfactory- 3

6 - good

7 - very good Good - 4

8 - nearly excellent

9 - excellent

10 - brilliantly

Excellent- 5

V Course Contents

Topic 1 Software engineering fundamentals

diams Topic outline

Introduction to the ldquoSoftware engineeringrdquo course Definition of the key questions about

software engineering

Organizations people and computer systems Explanation the difference between software

engineering and computer science

Software costs structure and software engineering methods introduction

Introduction of the ethical and professional issues that concern software engineers

Software engineering main tools and techniques observation

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] ВВ Липаев Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 2 Software process models

diams Topic outline

Introduction of a software process models Generic process models and when they may be

used

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 6: PDF, 10.62 Mb

Ramage M Shipp K Systems Thinkers Springer (The Open University) 2009 Google

Books

Jackson MC Systems Methodology for the Management Sci Plenum 1991 Google Books

Gharajedaqhi J Systems Thinking Managing Chaos and Complexity A Platform for

Designing Business Architecture 2nd ed Butterworth-Heinemann Publ 2005

IV Education control forms Assessments

- [A] progress (interim) check end-of-module test (MT) at the end of 1st module

- [B] concluding check final exam (FE) at the end of 2nd module (the last module of the course)

- [C] home assignment (H) during 1st and 2

nd modules

[Assessment] Progress (interim) [A] and concluding check [B] grades are made up of the following

components

Work activity (WA) during seminar hours in 1st 2nd modules is controlled by the use of

keeping students attendance records and scoring (evaluation) involvement into discussions as

well as quality of exercise performance during seminars

End-of-module test (MT) at the end of module implies arrangement of the written test (in

lecture room) for all students enrolled to the course (the possibility of complementary

interview with students is still reserved for the purpose of accurate grade confirmation)

Subject area covered by the test embraces those topics of the course which are discussed in

both lectures and seminars till the announced date if student misses the end-of module test

because of some valid reason the grade laquoabsenceraquo is written down to corresponding column

of the mark sheet Depending on the number and complexity of the end-of-module test tasks

(final decision is taken by the course instructor) the duration of the test amounts for 90 to

105 minutes The end-of-module test (MT) is assessed on usual ten-point scale

Ultimate grades of the end-of-module check (MT) and concluding check (FE) on ten-point scale

are obtained as follows

- (А) grade of the end-of-module check Ultimate MT (at the end of the 1st module) is calculated

as a weighted sum

Ultimate MT = 02WA + 08 MT

where WA and MT are ten-point scale grades for the written test (end of the 1st ndash beginning of

the 2nd module) Calculated value obtained is rounded to integer grade Student gets the grade

laquopassraquo if Ultimate MT gt= 4 (refer to correspondence table below)

- (B) concluding check grade (FE) at the end of the last 2nd

module accumulates course results

as follows

FE = 02WA+ 02H + 06 E

where Work Activities (WA) Home Assignment (H) and Exam (E) are ten-point scale grades

As always calculated value of FE is rounded to integer grade

Conversion of the concluding rounded grade (FE) to five-point scale grade is done in accordance

with the following table

Summary Table Correspondence of ten-point to five-point systemrsquos marks

Ten-point scale [10] Five-point scale [5]

1 - unsatisfactory

2 - very bad

3 - bad

Unsatisfactory- 2

4 ndash satisfactory

5 - quite satisfactory Satisfactory- 3

6 - good

7 - very good Good - 4

8 - nearly excellent

9 - excellent

10 - brilliantly

Excellent- 5

V Course Contents

Topic 1 Software engineering fundamentals

diams Topic outline

Introduction to the ldquoSoftware engineeringrdquo course Definition of the key questions about

software engineering

Organizations people and computer systems Explanation the difference between software

engineering and computer science

Software costs structure and software engineering methods introduction

Introduction of the ethical and professional issues that concern software engineers

Software engineering main tools and techniques observation

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] ВВ Липаев Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 2 Software process models

diams Topic outline

Introduction of a software process models Generic process models and when they may be

used

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 7: PDF, 10.62 Mb

1 - unsatisfactory

2 - very bad

3 - bad

Unsatisfactory- 2

4 ndash satisfactory

5 - quite satisfactory Satisfactory- 3

6 - good

7 - very good Good - 4

8 - nearly excellent

9 - excellent

10 - brilliantly

Excellent- 5

V Course Contents

Topic 1 Software engineering fundamentals

diams Topic outline

Introduction to the ldquoSoftware engineeringrdquo course Definition of the key questions about

software engineering

Organizations people and computer systems Explanation the difference between software

engineering and computer science

Software costs structure and software engineering methods introduction

Introduction of the ethical and professional issues that concern software engineers

Software engineering main tools and techniques observation

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008

[ original - in Russian] ВВ Липаев Программная инженерия Методологические

основы Учебник М ТЕИС 2006

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 2 Software process models

diams Topic outline

Introduction of a software process models Generic process models and when they may be

used

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 8: PDF, 10.62 Mb

Process main activities for requirements engineering software development testing and

evolution

Process iteration incremental delivery and spiral development Advantages and risks

The Rational Unified Process model introduction

CASE technology for software process activities

Summary of software process models benefits and risks of each key process model

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 3 Project management activities

diams Topic outline

The main tasks undertaken by project managers roles and responsibilities in managing

software development process

The planning process and the project planning activities Graphical schedule representations

Project staffing and scheduling process definition Project costing

Project monitoring and reviews Report writing and presentations

Critical system definition and key properties (system dependability availability reliability

safety security)

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Topic 4 Software Requirements

diams Topic outline

Definition of a requirement

Different types of requirments

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 9: PDF, 10.62 Mb

o Concepts of user and system requirements

o Functional and non-functional requirements

o User and system requirements

The software requirements document

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Course laquoApplied Systems Analysisraquo outline prepared in September-October 2010 [ 2010-

2011 academic year ] --- page 8

Casti JL Connectivity Complexity and Catastrophe in Large-Scale Systems (International

Series on Applied Systems Analysis) John Wiley amp Sons 1979

Casti JL Polyhedral Dynamics - II Geometrical Structure as a Basis for Decision Making

in Complex Systems IIASA Research Memorandum RM-75-034 1975

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Casti JL Karlqvist A Complexity Language and Life Mathematical Approaches

Springer-Verlag (Heidelberg) 1985

Topic 5 Requirements engineering processes

diams Topic outline

Requirements engineering processes activities and their relationships

How to conduct feasibility studies and how to measure the results

Techniques for requirements elicitation and analysis

Requirements validation and the role of requirements reviews

The role of requirements management in support of other requirements engineering

processes

Problems of requirements analysis and requirements change management

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Hisashi Kobayashi Brian L Mark System Modeling and Analysis Foundations of System

Performance Evaluation Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 6 System models and architecture

diams Topic outline

Model types observation behavioural modelling data modelling and object modelling

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 10: PDF, 10.62 Mb

Unified Modelling Language (UML) and CASE workbenches for system modelling

Specification in the software process formal sub-system behavioural specification

Introduction to system architecture

Architectural design process and its importance

o Distributed systems application and object architecture

o Multiprocessor architectures

o Client-server architectures

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Fowler M Patterns of Enterprise Application Architecture Addison-Wesley 2003

httpwwwmartinfowlercomarticlesnewMethodologyhtml

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Strachey C Fundamental Concepts in Programming Languages Higher-Order and Symbolic

Computation Vol 13 No 12 April 2000 p11-49

Topic 7 System design

diams Topic outline

Definition of a system design process

Introduction in to design process activities

Design process models object-oriented design real-time design interface design etc

UML design process brief introduction

System design evolution and development

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Martin L Abbott Michael T Fisher The Art of Scalability Scalable Web Architecture

Processes and Organizations for the Modern Enterprise Addison-Wesley Professional 2009

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Booch G Jacobson I Rumbaugh J The Unified Modeling Language User Guide Addison

Wesley 1998

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 8 Software development

diams Topic outline

Introduction to a software development process

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 11: PDF, 10.62 Mb

Iterative and incremental development key features

Software development methods overview

o Agile development methods

o Principles and practices of extreme programming

o Rapid application development

Documenting of software development process system development planning and reporting

Roles of prototyping in the software process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Myer Kutz Eshbachs Handbook of Engineering Fundamentals 2009

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

Topic 9 Software reuse and evolution

diams Topic outline

Software evolution processes and ways of software reuse implementation

Benefits of software reuse and some reuse problems

Development of software product lines

Software maintenance and maintenance cost factors

Program evolution processes and dynamics

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Ivar Jacobson Software Reuse Architecture Process and Organization for Business

Success Addison-Wesley Professional 1997

Soren Lauesen User Interface Design A Software Engineering Perspective Addison

Wesley Pearson Education Limited 2005

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

Topic 10 Verification and validation

diams Topic outline

Verification and validation process whatrsquos the difference

Program inspection process planning of software inspections

Verification and formal methods

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 12: PDF, 10.62 Mb

Critical Systems Validation reliability validation safety assurance security assessment

Key principles of automated static analysis

Cleanroom software development process

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

CMMIreg for Development Version 12 CMUSEI-2006-TR-008 ESC-TR-2006-008

David G Ullman Mechanical Design Failure Analysis With Failure Analysis System

Software (Mechanical Engineering) 2008

Tom Gilb Competitive Engineering A Handbook for Systems Engineering Requirements

Engineering and Software Engineering Using Planguage Elsevier Butterworth-Heinemann

2006

diams Additional referencesbooksreading

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Topic 11 Software Testing

diams Topic outline

Software testing guidelines and main tools and techniques

Main principles of system and component testing validation testing and defect testing

Strategies for generating system test cases test case design

Essential characteristics of tool used for test automation

The results of software testing how to measure test results

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Marnie L Hutcheson Software Testing Fundamentals Methods and Metrics 2003

William E Perry Effective Methods for Software Testing John Wiley amp Sons 3rd edition

(26 Oct 1995)

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

diams Additional referencesbooksreading

Rex Black Managing the Testing Process Microsoft PressUS PapCdr edition (1 Jun

1999)

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Topic 12 Managing People and cost estimation

diams Topic outline

Staffing principles selecting and retaining staff

Factors that influence individual motivation

Key issues of team working including composition cohesiveness and communications

The people capability maturity model (P-CMM)

Software cost estimation techniques algorithmic cost modeling

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008 Jackson MC Systems

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 13: PDF, 10.62 Mb

Methodology for the Management Sci Plenum 1991 Google Books

OrsquoConnor J McDermott I The Art of Systems Thinking Essential Skills for Creativity and

Problem Solving Premium Source Publ 2006

diams Additional referencesbooksreading

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

Ackoff RL Re-creating the Corporation The Design of Organizations for the 21st Century

Oxford University Press 1999 Google Books

Topic 13 Software risk management

diams Topic outline

The risk management process and objectives

Main tasks undertaken by risk managers

Risk management planning and the planning process

Risk identification tools and techniques

Risk analysis qualitative and quantitive analysis

Risk monitoring and control

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

Barry W Boehm Software Risk Management New York NY IEEE Press 1989

Capers Jones Assessment and Control of Software Risks Englewood NJ Prentice-Hall

1994

Carr Nicholas G IT Doesnrsquot Matter Harvard Business Review May 2003

Enhancing Shareholder Wealth by Better Managing Business Risk IFAC 1999

Heldman K Project Managers Spotlight on Risk Management 2004

diams Additional referencesbooksreading

Dempsey Jed Dvorak Robert E and others A Hard and Soft Look at IT Investments

wwwmckinseyquarterlycom

COBIT 3rd Edition Released by the COBIT Steering Committee and the IT Governance

Institute July 2000

Topic 14 Quality management and process improvement

diams Topic outline

Quality management process and key quality management activities

Process and product quality the role of standards in quality management

Software metrics (predictor metrics and control metrics) limitations of software

measurement

Quality assurance and standards

o Quality planning

o Quality monitoring and control

Process and product quality improvement CMMI process improvement framework

diams Main referencesbooksreading

Sommerville I Software Engineering (8th Edition) Pearson Education Ltd 2008 850 pp

John Bird Engineering Mathematics Pocket Book Newnes 2008

Software Engineering Inst Carnegie Mellon Univ The Capability Maturity Model

Guidelines for Improving the Software Process SEI 2008

Michael E Bernstein Eric J Braude Software Engineering Modern Approaches Wiley 2

edition 2010

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 14: PDF, 10.62 Mb

diams Additional referencesbooksreading

Carlo Ghezzi Mehdi Jazayeri and Dino Mandrioli Fundamentals of Software Engineering

(2nd Edition) 2002

Shari Lawrence Pfleeger and Joanne M Atlee Software Engineering Theory and Practice

(4th Edition) Prentice Hall 2009

Topic 15 Configuration management

diams Topic outline

Software configuration management process

Configuration management planning change management version management and system

building

CASE tools to support configuration management processes

Configuration management documenting and measuring

diams Main referencesbooksreading

Software Engineering mdash Guide to the Software Engineering Body of Knowledge

(SWEBOK) TECHNICAL REPORT ISOIEC TR 19759 IEEE First edition 2005-09-15

Steve McConnell A Practical Handbook of Software Construction Microsoft Press 2nd

edition (June 9 2004)

Brain AWhite Software configuration management strategies and rational clear case 2005

Roger Pressman Software Engineering A Practitioners Approach McGraw-Hill

ScienceEngineeringMath 7 edition (January 20 2009)

diams Additional referencesbooksreading

Ian Sommervillersquos web page with available training materials

httpwwwcomplancsacukcomputingresourcesIanS

Flood RL Carson ER Dealing with Complexity An Introduction to the Theory and

Application of Systems Science 2nd ed Plenum Press NY 1993 Google Books

VI Assignment topics for various education control forms

Home assignment is made as a paper essay on one of the following topics

Describe s software process model (of your choice)

Describe a methodology of development (of your choice)

Technologies of Agile software development

Web-based software development and information systems

Innovative models and tools for software development

Technologies for client-server systems development

Describe use case modeling apply use case to a software development

Conduct analysis of a various testing methods to a specific system development (of your

choice) and choose the most effective method for software testing

Technologies and tools for ERP system development with description of high-level

architecture and configuration

Conduct overview and analysis of the development methodology analyze benefits and

negative factors of each applying to the specific system development case

Describe specifics of RAD technology What is the mail difference from the other

development techniques

CASE modeling features for software development

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 15: PDF, 10.62 Mb

Features of distributed software engineering (of your choice)

ISO 9001 and quality management in software engineering

Conduct CMMI assessment according to CMMI process model (industry system process of

your choice)

Describe any testing methodology (for your choice)

Conduct risk assessment using specific risk management identification and assessment

techniques (industry system process of your choice)

Apply quality management assessment to software development process in accordance to

international quality standards

Conduct post implementation audit and analyze implementation results

VII Topics for course results quality assessment Exemplary questions

What are the fundamental ideas of software engineering

Give a definition of terms laquosystem engineeringraquo laquosoftware engineering raquo laquosubsystemraquo

laquosoftware processraquo laquoweb-based systemsraquo etc (the matter is related to main concepts

introduced in the training course)

Provide examples of different application types and give its mail characteristics

What is the difference between software engineering and computer science What is the

difference between software engineering and system engineering

What are the incremental development problems and benefits

What is a software process model Provide examples

Describe different types of system and their requirements to appropriate software

engineering tools and techniques for the development

What are the key challenges facing software engineering Provide examples and give short

explanations

What is meant by verification and validation What is the difference between verification

and validation

What includes system testing Describe V-model What types of testing do you know

Provide examples

What are the costs of software engineering

Describe software design process and provide examples of different types of software

design

Requirements engineering Types of requirement requirements completeness and

consistency

What are the best software engineering techniques and methods

Rapid software development and delivery Problems and benefits

What differences has the web made to software engineering Illustrate your answer (and

explanations) by example related

Describe essential attributes of good software (product characteristic)

What are the main software process activities

What is the need of software prototyping Where it can be used What are the benefits and

problems of prototyping

Software reuse and maintenance Problems and benefits Provide examples and give short

explanations

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov

Page 16: PDF, 10.62 Mb

What is the purpose of project management in software engineering Describe the mail areas

to be managed

Quality management and software standards Provide examples of software measurement

and metrics according to ISO 9001 standards

The CMMI process improvement framework Process areas in the CMMI

The author of the program Dmitry Alexandrov