E N D
1. Software Processes (2) Yonsei University
2nd Semester, 2003 Sang-Hyun Park
2. Software Specification The process of establishingwhat services are required and the constraints on the systems operation and development
This activity is often called requirement engineering.
3. Software Design and Implementation The process of converting a system specification into an executable system
It always involves processes of software design and implementation.
The activities of design and implementation are closely related and may be inter-leaved.
4. Design Process Activities
5. Programming and Debugging Translating a design into a program andremoving errors from that program
Programming is a personal activity;there is no generic programming process.
Programmers carry out some program testingto discover faults in the program andremove these faults in the debugging process.
6. Software Validation Intended to show that a systemconforms to its specification andmeets the requirements of the system customer
The testing process should proceed in stages where testing is carried out incrementallyin conjunction with system implementation.
7. Software Evolution Software is inherently flexible and can change.
As requirements change through changing business circumstances, the software that supports the business must also evolve and change.
Although there has been a demarcation between development and evolution (maintenance),this is increasingly irrelevantas fewer and fewer systems are completely new.
8. Automated Process Support (CASE) CASE is software to support software development and evolution processes.
CASE technology has led to some improvements in software quality and productivity, but the improvements have been less than predicted.
Software engineering requires creative thought this is not readily automated.
Software engineering is a team activity and, for large projects, much time is spent in team interactions.CASE technology does not really support these.
9. CASE Classification Classification helps us understand the different types of CASE tools and their support for process activities.
Functional perspective
Process perspective
Integration perspective
10. Function-Based Classification Planning tools
Editing tools
Change management tools
Configuration management tools
Prototyping tools
Method-support tools
Language-processing tools
Programming analysis tools
Testing tools
Debugging tools
Documentation tools
Re-engineering tools
11. Activity-Based Classification
12. Integration-Based Classification
13.
- END OF CHAPTER 3 -