V. V. Lipaev. Software Engineering. Methodological Foundations.


Books of V.V. Lipaev


Software Engineering. Methodological Foundations.

M.: TEIS, 2006. - 680 p.

Software Engineering. Methodological Foundations.

The textbook consists of a course of lectures covered methodological foundations of current software engineering that provides a life cycle (LC) of complex software facilities (SF). The textbook presents profiles of international standards for LC of software systems and complexes regulated models and processes of SF's project management in software engineering. A significant attention is paid to system analysis and feasibility study of large SF's projects. Several lectures are devoted to development of requirements, planning, structural and object-oriented design of SFs. Processes of resource management for SF's projects, defects, mistakes, and risks in a LC of complex software systems are considered. Standardized characteristics of SF's quality are presented, and methods for their choice in SF's projects are analyzed. Detailed description of methods and processes of verification, testing, and evaluation of software components' correctness as well as their integration, qualification testing and inspection of large software complexes is provided. The lectures consider details of processes of maintenance, monitoring, and configuration management in a LC of SF. The course is concluded by a discussion of methods and processes of documenting, quality assurance, and certification of SFs.

It's advisable to use the textbook in teaching postgraduate and PhD students, project managers to build complex software systems during the whole their life cycle (64 hours of lectures and 32 hours of seminars). The course is also oriented to customers, managers of large projects, analysts and leading specialists that provide all phases of LC of complex software facilities and systems with strong requirements for functional quality and limited resources for development.

Table of contents:

Contents

Lecture 1. Software engineering in a life cycle of software facilities (3 hours).
1.1. Basics of life cycle of software facilities.
1.2. The role of systems engineering in software engineering.
1.3. System foundations of modern technologies of software engineering.

Lecture 2. Profiles of standards of a life cycle of systems and software facilities in software engineering (4 hours).
2.1. Purposes of profiles of standards of a life cycle in software engineering.
2.2. Life cycle of profiles of standards of systems and software facilities.
2.3. A model for a profile of standards of a life cycle of complex software facilities.

Lecture 3. Models and processes of management of projects for software facilities (4 hours).
3.1. Project management for software facilities in the CMMI system.
3.2. Standards of management (administrative control) of system's quality.
3.3. Standards of open systems regulated a structure and interfaces of software facilities.

Lecture 4 System design of software facilities.
4.1. Goals and principles of system design of complex software facilities (3 hours).
4.2. Processes of system design of software facilities.
4.3. Structural design of complex software facilities.
4.4. Design of software modules and components.

Lecture 5. Feasibility study of projects of software facilities (4 hours).
5.1. Goals and processes of feasibility study of projects of software facilities.
5.2. Methodology 1 - expert feasibility study of projects of software facilities.
5.3. Methodology 2 - evaluation of technical and economic indices of projects of software facilities taking in consideration a set of factors of the COCOMO II preliminary model.
5.4. Methodology 3 - improved evaluation of technical and economic indices of projects of software facilities taking in consideration the full set of factors of COCOMO II detailed model.

Lecture 6. Development requirements for software facilities (3 hours).
6.1. Management of development requirements for complex software facilities.
6.2. Processes of development requirements for characteristics of complex software facilities.
6.3. A structure of major documents reflected requirements for software facilities.

Lecture 7. Planning a life cycle of software facilities (3 hours).
7.1. Management of planning a life cycle of complex software facilities.
7.2. Purposes of plans for provision a life cycle of complex software facilities.
7.3. Planning processes of quality control of complex software facilities.

Lecture 8. Object-oriented design of software facilities (3 hours).
8.1. Purposes and features of object-oriented design of software facilities.
8.2. Main notions and models of object-oriented design of software facilities.
8.3. Variants of model representation and tools for object-oriented design of software facilities.

Lecture 9. Resource management in a life cycle of software facilities (4 hours).
9.1. Main resources for provision a life cycle of complex software facilities.
9.2. Resources of specialists for provision a life cycle of complex software facilities.
9.3. Resources for provision functional adequacy in development of complex software facilities.
9.4. Resources for simulation of external environment to provide testing and inspection of software facilities.

Lecture 10. Defects, errors, and risks in a life cycle of software facilities (4 hours).
10.1. Common features of defects, errors, and risks in complex software facilities.
10.2. Reasons and properties of defects, errors, and modifications in complex software facilities.
10.3. Risks in a life cycle of complex software facilities.
10.4. Risks in generation requirements for characteristics of complex software facilities.

Lecture 11. Characteristics of quality of software facilities (4 hours).
11.1. Main factors defined a quality of complex software facilities.
11.2. Properties and attributes of quality of functional capabilities of complex software facilities.
11.3. Design characteristics of quality of complex software facilities.
11.4. Quality characteristics of databases.
11.5. Characteristics of protection and security of software facilities' functioning.

Lecture 12. Selection of quality characteristics in projects of software facilities (2 hours).
12.1. Principles of selection of quality characteristics in projects of software facilities.
12.2. An example of selection of quality characteristics and generation of requirements for quality characteristics of software facilities.

Lecture 13.
Verification, testing, and correctness evaluation of software facilities.
13.1. Principles of software verification and testing.
13.2. Processes and tools for testing software components.
13.3. Technological phases and strategies of systematic software testing.
13.4. Processes of testing a structure of software components.
13.5. Examples of estimation of software complexity.
13.6. Testing stream data processing by software components.

Lecture 14.
Integration, qualification testing, and validation of software complexes (5 hours).
14.1. Processes of characteristics' estimation and validation of software facilities.
14.2. Organization and methods of validation and estimation of characteristics of complex software systems.
14.3. Tools for validation and estimation of characteristics of complex software systems.
14.4. Estimation of reliability and functional safety of complex software facilities.
14.5. Estimation of hardware resources' utilization by a software facility.

Lecture 15.
Maintenance and monitoring of software facilities (4 hours).
15.1. Organization and methods of software facilities' maintenance.
15.2. Phases and procedures in software facilities' maintenance.
15.3. Tasks and processes of software and data porting into another hardware platform.
15.4. Resources required for ma software facilities' maintenance intenance and monitoring of software facilities.

Lecture 16.
Configuration management in a life cycle of software facilities (4 hours).
16.1. Processes of configuration management of software facilities.
16.2. Phases and procedures in configuration management of software facilities.
16.3. Technological support in maintenance and configuration management of software facilities.

Lecture 17.
Documenting software facilities (3 hours).
17.1. Management of documenting software facilities.
17.2. Generation of requirements for documentation of complex software facilities.
17.3. Planning of documenting for projects of complex software facilities.

Lecture 18.
Quality assurance and certification of software facilities (2 hours).
18.1. Processes of certification in a life cycle of software facilities.
18.2. Organization of software facilities' certification.
18.3. Documenting processes and results of software facilities' certification.

Appendix 1.
A list of main standards of software engineering.

Appendix 2.
Topics of seminars for the course Software Engineering.

References.