PDF, 10.62 Mb
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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