当前位置:
文档之家› 计算机科学导论课件:Software Engineering
计算机科学导论课件:Software Engineering
System life cycle
• Software, like many other products, goes through a cycle of repeating phases.
SysБайду номын сангаасem development phases
• The development process in the software life cycle involves 4 phases.
Analysis
• • • • Define the user (generic or specific?) Define the needs (expectations) Define the requirements Define the methods (to meet requirements)
Chapter 7 Software Engineering
Objectives
• Understand the software life cycle. • Describe the development process models.. • Understand the concept of modularity in software engineering. • Understand the importance of quality in software engineering. • Understand the role of documentation in software engineering.
Modularity - coupling
• Data coupling: passes only the minimum required data from the calling function to the called function. Most desirable. • Stamp coupling: when the parameters are composite objects such as arrays. • Control coupling: passes flags to direct the control flow of a function. • Global coupling: uses global variables. Should never be used. • Content coupling: when one function refers directly to the data or statements in another function.
Development process models
• In the incremental model, the process is developed in a series of steps. • First complete a simplified version of the whole package. • Gradually add more details.
Implementation phase
• Tools
– Flow chart – Pseudocode
• Coding
Testing phase
• Black box tesing
– Black box test plans are developed by looking only at the requirements statement.
Modularity
• Modularity means breaking a large project into smaller parts that can be understood and handled easily. • Tools
– Structure chart – Class diagram – Unified Modeling Language (UML)
Design phase
• The design phase defines how the system will accomplish what was defined in the analysis phase. • Modularity • Tools
– Structure chart – UML
• White box testing
– White box testing is the responsibility of the programmer, who knows exactly what is going on inside the program.
Development process models
• Waterfall model: a sequential software development process, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of Conception, Initiation, Analysis, Design, Construction, Testing and Maintenance.
Modularity - coupling
• Coupling is a measure of how tightly two modules are bound to each other. • Loose coupling is more desirable, because:
– Independent functions are more resuable – Less likely to cause problems – Maintenance modifications are easier
Modularity - cohesion