Chapter 2 The Process-2023
Chapter 2 The Process-2023
The Process
Reference text books:
- Software Engineering
A Practitioner’s Approach
Roger S. Pressman
Fifth Edition, 2001
- Software Engineering, Ian Sommerville,
6th Edition, 2000
- Software Project Management, Bob Hughes
and Mike Cotterell, 2001
- Software System Development: A Gentle Introduction,
Carol Britton & Jill Doake, Third Edition, 2003
2.1. A Layered Technology
A quality focus
b) A Generic View of SE
The development phase focus on how
How data are to be structured
How function is to be implemented with a SW
architecture
How procedural details are to be implemented
How interfaces are to be characterized
How the design will be translated into programming
language
How testing will be perform
* Three specific technical tasks should always occur:
▪ SW design (Chapter 13-16, and 22 of [2])
▪ Code generation and SW testing (Chapter 17, 18, and
23 of [2])
2.1. A Layered Technology
b) A Generic View of SE
The support(maintenance) phase focus on Change
associated with error correction, adaptation,
enhancement, prevention. Four types of change are
encountered during the support phase:
Correction Corrective maintenance
Adaptation Adaptive maintenance
Enhancement Perfective maintenance
Prevention Preventive maintenance
2.2. Software Life-Cycle
SW Life-Cycle គជាដ
ឺ ណំ ំ ់កាលគតចាប
ក ិ ់ពីពពលដដល SW ត្តូវ
បានបព្ើត
ក ព ើ្រហូតដល់ពពលពគដល្ពត្បើ (ពីពពលចាប់កពកត
ើ ព្យ
ើល
ពបាោះប្់ពចាលដល្ពត្បើ)។
ំ ន់ៗគឺ Analysis,
SW Life-Cycle ត្តូវបានដែកជា Phase សខា
ំ
phase ទ្ឡាយមានភាពខុសគ្នាពៅតាររនុសសមាាក់ៗ។
2.2. Software Life-Cycle
ត្តូវបានបព្ើត
ក ព ើ ្កុ ្ឆ្
ា ំ
ា ១៩៧០ ពោយពោក Winston W.
Royce
ឹ ែាស់ោស់នូវតត្រូវការ
ពគពត្បើ model ពនោះពៅពពលពគដ្
ំ
ទ្ឡាយជារុ នសិន។
2.2. Software Life-Cycle
1) The Waterfall Model Life Cycle
Define System
requirements
Verify
Define SW
requirements
Verify
Basic design
Verify
Detailed design
Verify
Coding
Debug
Retire
Testing
Trial running
Operation
Maintenance
Review
2.2. Software Life-Cycle
* The New Additional of SW Life-Cycle
ំ
(1) Requirements definition and Design phase មានតួនាទីកណ ត់ពៅពលើ
គុណភាព SW ដដលពត្បកមា ើ ំ
ល ្អស់រួយភាគធពំ បពត្បៀបពៅន
ើ ឹ ្ការសរពសរ
Code ការពធពតស
ើវ ែ និ្ដែកចាយ SW ។
ើវ Structure របស់ SW កាន់ដតមានភាពជាក់ដស្
(2) ជា Phase ដដលពធឲ្យ ែ ពៅ
តាររពបៀប Top-down។
ឺ តាររពបៀប
(3) Design, Coding phase គពធ ើវ Top-down រឯ
ី Testing phase
តាររពបៀប Bottom-up។
(4) រុនពពលឈានពៅដល់ Phase បនពែ ទៀតត្តូវធានាថា Phase ដដលកព
ំ ុ្
អនុវតបា
ែ នពធពតស
ើវ រែ ួែពហើយ ពោយពុំមានពៅសល់កហ
ំ ុ សពទៀតព ើយ។
ំ
(5) ចាបាែ់ត្តូវមានយនកា ែ រត្តួតពិនិតយគុណភាព ពិនិតយពរលព ើ ើ្វញរវា្
ិ
Phaseនីរួយៗ ពដរ ើ បធានាក
ី ំ យប្ក
ុ ឲ្ ំ ុ សដល់ Phaseពត្កាយៗពទៀត។
ក ហ
(6) ឯកសារនន Phaseនីរួយៗរនត្ត
ិ រដតពត្ប
ឹ សត្មាប
ើ ់ Phaseពត្កាយៗបុ ពណណោះ
ំ
ពទ ដែរទ្សត្មាប ់ពគ្នលពៅសខា
ំ ន់ៗដល់ការត្តួតពិនិតយ និ្ធានាគុណភាព
នន Process នីរួយៗ និ្សត្មាប់ SW ខួ នឯ្ពទៀតផ្។
ល
2) Linear Sequential Model
System/information
engineering
3) The Prototyping Model (Throw away Model)
Listen to Build/Revise
customer mock-up
Customer test
drives
mock-up
• Objective is to understand the system requirements
• Should start with poorly understood requirements to
clarify what is really needed.
3) The Prototyping Model (Throw away Model)
Requirement
Analysis
Design Code Test Implementation
Design
Coding
Testing
3) The Prototyping Model (Throw away Model)
ំ
ពៅពពលពទើបដឹ្នូវពគ្នលបណ ្ត្តួសៗនន SW រិនទន់ែាស់ពសែកីលរ
ែ ិតន
តន ូ វអីជា
វ
ែ ឬរិនទន់ែាស់នូវអីជាតត្រូ
Input ឬ Process យ្ដូែពរែ វ វការសត្មាប់ output
ពៅព ើយពទ។
ពលឿន។
Algorithm បពែក
េ ពទសពត្បើពដើរបពធ
ី ើវ Prototype អាែរិនទន់ពលឿន រិនទន់ល តន
នលយ្ណឲ្យដតបានពធើជាគត្រូ
វ ពដរ
ើ បព ែ ់ ជាតត្រូវការននអក
ី ិ ភាកា ផល ា ពត្បើត្បាស់។
4) The RAD (Rapid Application Development) Model
Team #3
Business
Modeling
Data
Team #2
Modeling
Business Process
Modeling Modeling
Data Application
Team #1 Generation
Modeling
Business Process Testing &
Turnover
Modeling Modeling
Data Application
Generation
Modeling
Testing &
Process Turnover
Modeling
Application
Generation
Testing &
Turnover
60 - 90 days
4) The RAD (Rapid Application Development) Model
ពកើនព ំ នៗ ដដលជុអ
ើ្ជាជហា ំ ភិវឌ្ឍន៍នីរួយៗមានរយៈពពលខី(៦០
ល ពៅ ៩០ នែ)ៃ ។
(reusability)។
* Business modeling
* Data modeling:
ំ
Data objects ចាបាែ ់ពដើរបជាជ
ី ំ ួ យដល់កែ
ន ិ កា
េ រ business ត្តូវបានបព្ើត
ក ព ើ្។
ទនឹ រន
ទ ឹ ្ពនាោះ attribute នន object នីរួយៗក៏ដូែជាទនា
ំ កទ
់ ន
ំ ្រវា្ object
ំ
ទ្ឡាយ ក៏ត្តូវបានកណ
ំ ត់ពៅកុ ្ពពលពនាោះដដរ។
ា
* Process modeling:
The data objects ត្តូវបានបដរ្ ំ
ល ពៅជា information flow ចាបាែ ់ ពហើយអនុវតែ
ពដើរបបដន
ី រ
ែ ដកតត្រូវ លុប សាែរព ើ្វញនន
ិ data objectនីរួយៗ។
4) The RAD (Rapid Application Development) Model
* Application Generation:
ពត្បើបពែក ំ ន់ទី៤ពដើរបបព្
េ ពទសជនា ី ក SW ពី Component ដដលមានត្សាប់ ឬបព្ើត
ើត ក
ពែញជា Component ដដលអាែពត្បើត្បាស់ព ើ្វញបានពៅពពលពត្កាយពទៀត។
ិ ពត្បើ
Tool ពោយស័យ
វ ត្បវតិែ ពដើរបបព្
ី ើត
ក SW ។
CASE is SW to support SW development and evolution processes
Activity automation
ត្តូវការត្បភពធនធានរនុសសត្គប់ត្គ្នន់ពដើរបបព្
ី ក Team សត្មាប់រុខងារសខា
ើត ំ ន់ៗ។
a) Incremental Model
Increment 1
System/info.
Engineering
Calendar time
5) Evolutionary Software Process Model
Customer
communication
New Product
development projects
ំ ក់ទន
Customer ពធើទវ នា ំ ្ជារួយគ្នា ពដើរបដស វ យល់តត្រូវការ និ្គន
ី ្ ំ ិ តពផស្ៗ។
ំ
Planning :កណ ត់ឲ្យបានែាស់ោស់នូវត្បភពធនធាន រយៈពពល ែវកា
ិ និ្ព័ត៌មាន
ពផស្ៗពទៀត។
representations កុ ្ដ
ា ំ
ណ ់ ល Engineering និ្ Installation។
កកា
5) Evolutionary Software Process Model
Advantages
High amount of risk analysis
Good for large and mission-critical projects.
Software is produced early in the software life
cycle.
5) Evolutionary Software Process Model
Disadvantages
Can be a costly model to use.
Risk analysis requires highly specific
expertise.
Project's success is highly dependent on the
risk analysis phase.
Doesn't work well for smaller projects.
5) Evolutionary Software Process Model
ពដើរបសត្ររ
ី ោះសត្រួលឬែរចាររវា្ Developer ំ ី រ “ឈ្ោះ
និ្ Customer ដដលភាគីទ្ព ា ”
ដូែគ្នា។
អតិែិជនទទួលបាន System or product ព្ើយតបពៅន
ល ឹ ្តត្រូវការជារូលោាន។
Developerទទួលបានែវកាសរររយ
ិ ំ
តាររយៈពពលកណ ត់សរពហតុផល។
សករភា ំ នៗ
ម ពសខា ់ កុ ្ការក
ា ណំ ់ យបានែាស់នន; system:
តឲ្
4. Evaluate process
1. Identify next- and product alternatives
level stakeholders and resolve risks
Identify
candidate
Planning Risk components
Analysis
Construct Look up
nth iteration components
Customer of system in library
Communication
Build
Customer components
evaluation if unavailable
Engineering,
Construction & Release
7) The V-process model
Code
2.3. How to Select the Right SDLC