Professional Documents
Culture Documents
Semester: 432
Lecture: 4
Outline
● IEEE documentations
2
Software Process Models in Practice
3
Example 1: Spiral model
4
Example 2: The Rational Unified Process
5
Rapid Methodology and overhead problems
6
Agile Methodology
7
Principles of Agile Methodology
8
Agile Methodology Drawbacks
stakeholders
■ The idea that development team lead the team who may
9
Plan-Driven and Agile Development
10
Plan-Driven and Agile Development (cont.)
11
Agile Method: Extreme Programming
12
Agile Method: Extreme Programming
● Incremental planning:
○ requirements recorded on story cards and then prioritize accordingly
(user involved) for implementation
○ tasks become the basis of scheduling and cost estimation
● Small releases:
○ frequently and incrementally releases (2 weeks window)
● Simple design:
○ just enough design to continue meetings get requirements
● Test-first development:
○ automated unit test is used for each functionality added (regression
testing)
○ tests are developed before execution of components
○ users involved early in the validation
13
Agile Method: Extreme Programming
● Refactoring:
○ improve code by refactoring more oftenly
● Pair Programming:
○ developers checking each others code for improvement and chance
(understandability)
○ tidy up the code and make it clear (informal review and checks)
○ Helps to make refactoring much easier
○ risk to need architecture refactoring for improvement
● Continuous integration:
○ integrate new completed task or functionality into the system
● Sustainable pace:
○ overtime is not acceptable as they affect code quality and
productivity
● On-site customer:
○ customer should be available full time.
14
User Stories
● Examples:
○ As a user, I want a cascade action warning, because I
want to avoid dependency problem
○ As a developer, I need a graphical hierarchy model of
the developed components updated automatically, so
that I better understanding of components
dependency.
15
Agile Method: Scrum
16
Sprint Cycle
17
Example of Product Backlog
... 30
... 50
18
Example of Sprint Backlog
19
Summary: Software Process Model
20
IEEE Documentations
21
SRS – Software requirements specification
1. A
1. Introduction
2. B
3. C
22
SDD – Software design description
1. A
1. Introduction
2. B
3. C
4. Data Design
1.1. Purpose
4.1. Database Description
1.2. Scope
4.2. Data Structure
1.3. References
5. Design Details
1.4. Structure
5.1. Class Diagram
1.5. Constraints 5.2. State Diagram
2. System Overview 5.3. Interaction Diagrams
3. System Architecture and Components 6. Human Interface Design
Design 6.1. Overview of the User Interface
6.2. Detail Design of User Interface
3.1. Architecture Description
3.2. Component Decomposition Description
3.3. Detail Component Description
3.4. Design Rationale
23