Professional Documents
Culture Documents
References: 1. Software Development Process
References: 1. Software Development Process
References
[1] ISO/IEC FDIS 12207, Systems and software
engineering — Software life cycle processes.
ITSS SOFTWARE DEVELOPMENT
1. SOFTWARE DEVELOPMENT PROCESS
Nguyen Thi Thu Trang
trangntt@soict.hust.edu.vn
1 2
3 4
Content Content
1. Software Life Cycle Process 1. Software Life Cycle Process
2. Software Implementation Process 2. Software Implementation Process
3. Object-Oriented Analysis and Design 3. Object-Oriented Analysis and Design
4. Software Development Models 4. Software Development Models
3 4
1
5 6
5 6
7 8
[1]*: clause 5.2.1; pp. 13, [1]**: clause 7.1.1.1; pp. 57,
7 8
2
9 10
9 10
11 12
2.1. Software Requirements Analysis process 2.2. Software Architectural Design process
• Purpose: “to establish the requirements of the software • Purpose: “to provide a design for the software that
elements of the system” [1] implements and can be verified against the requirements”
• Main items written on the brief requirement description [1]
• System environmental conditions under which the software is to • Software architecture is designed from the software
perform. requirements
• The functional requirements and the interface requirements.
• Main items
• Data definition and database requirements. • a top-level structure of the software and the software components
• Some non-functional requirement items such as reliability, which constructs the software
usability, time efficiency
• a top-level design for the interfaces external to the software and
• Qualification requirements: The requirements are used as criteria between the software components
or conditions to qualify a software product as complying with its
• a top-level design for the database
specifications.
11 12
3
13 14
13 14
15 16
15 16
4
17 18
17 18
19
19 20
5
Why Model? The Importance of Modeling
Less Important More Important
• Modeling achieves four aims [1]:
• Helps you to “visualize a system as you want it to be”.
• Permits you to “specify the structure or behavior of a system”.
• Gives you “a template that guides you in constructing a system”.
• “Documents the decisions you have made”.
21 22
2.2. Unified Modeling Language (UML) The UML Is a Language for Visualizing
• “The UML is a language for • Communicating conceptual models
• Visualizing to others is prone to error unless
• Specifying everyone involved speaks the same
• Constructing language.
• Documenting • There are things about a software
the artifacts of a software-intensive system” [1]. system you can’t understand unless
you build models.
• An explicit model facilitates
communication.
23 24
6
The UML Is a Language for Specifying The UML Is a Language for Constructing
• UML models can be directly connected to a variety of
• The UML builds models that are precise, unambiguous,
programming languages.
and complete.
• Maps to Java, C++, Visual Basic, and so on
• Tables in a RDBMS or persistent store in an OODBMS
• Permits forward engineering
• Permits reverse engineering
25 26
27 28
7
30
29 30
31 32
31 32
8
33 34
Architecture
Document
Glossary
Supplementary
Specification
Data Model
33 34
35 36
Analysis and Design Are Not Top-Down or Bottom-Up Analysis and Design Steps
Analysis and Design
Activity Step Description Doer
Define a candidate • Once at early Elaboration
1. Architectural Analysis • Skip if architectural risk is low Architect
architecture
Top
Analyze behavior 2. Use case Analysis • Per Use case Designer
Down Subsystems
3. Identify Design • Coupling and cohesion
Elements • Reusability
35 36
9
37 38
Content Homework
1. Software Life Cycle Process • Compare some common software development
2. Software Implementation Process models
• Waterfall model
3. Object-Oriented Analysis and Design
• Iterative model
4. Software Development Models
• Prototype model
• Spiral model
• Ration Unified Process (RUP)
• Agile methodology
è Submit report individually
37 38
39 40
Implementation Implementation
and unit testing and unit testing
Installation Installation
39 40
10
41 42
3. Requirements
4. Analysis & Design
2. Planning
1. Initial 5. Implementation
Planning Management
Environment
(on-going) 6. Test
8. Evaluation
7. Deployment
Each iteration
results in an
executable release
41 42
43 44
43 44
11
45 46
45 46
47 48
47 48
12
49
49
13