Download presentation
Presentation is loading. Please wait.
Published byDarlene Shelton Modified over 9 years ago
1
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park
2
Outline Software Life Cycle Development Process Development Process Models Modularity Documentation
3
Software Life Cycle (1/2) Software goes through a cycle of _________ phases Software is first ___________ by a group of people It is in ____ for a while Software is often ________ due to errors found in the software, changes in the rules or laws, or changes in the company itself These two steps, use and modify, continue until the software becomes ________
4
Software Life Cycle (2/2)
5
Development Process The development process in the software life cycle involves ____ phases
6
Analysis Phase This phase defines __________ that specify what the proposed system is to accomplish The requirements are usually stated in terms that the ____ understands There are four steps in this phase Define the user (generic user or ______ user) Define the needs Define the requirements Define the methods
7
Design Phase This phase defines _____ the system will accomplish what was defined in the analysis phase The _________ of the software system is established Today, the design phase uses a very well-established principle called _________ The whole system is ______ into small modules Each module is designed, tested, and then _______ to other modules through a ______ program
8
Implementation Phase Implementation involves the actual _______ of programs This phase uses several tools to show the ______ flow of the programs before the actual writing of code Flowchart Pseudocode After production of a flowchart or pseudocode, the programmer actually writes the code in a language _______ for the project
9
Testing Phase Once the programs have been written, they must be ______ Black box testing Tests a program without knowing _____ is ______ it and without knowing ____ it works Test plans are developed by looking only at the ___________ Performed by the system test engineer and the _____ White box testing Assumes that we know _________ about the program We must make sure that every instruction and every possible situation have been tested; (not a simple task) Performed by the _________
10
Development Process Models There are several models for the development process We discuss the two most common: the ________ model and the __________ model
11
Waterfall Model (1/2) The development process flows in only ____ direction A phase cannot be started until the previous phase is _________ This makes it difficult to respond to _________ customer requirements Therefore, this model is only appropriate when the requirements are _____________
12
Waterfall Model (2/2)
13
Incremental Model (1/2) The desired software system is constructed in _________ User requirements are ________ and the highest priority requirements are included in ______ increments Customers do not have to wait until the entire system is delivered There is a _____ risk of overall project failure The most important system services receive the most _______
14
Incremental Model (2/2)
15
Modularity Breaking a large project into smaller _____ that can be understood and handled easily Dividing a large program into small ________ that can communicate with each other Two types of tools can be used to achieve modularity Structure chart is used in _____________ programming to show the relationship between procedures or functions Class diagram is used in _____________ programming to show the relationships between classes
16
Structure Chart
17
Class Diagram
18
Coupling Coupling is a measure of how ______ two modules are bound to each other The more tightly coupled, the less _________ they are Since the object is to make the modules as independent as possible, we want them to be loosely coupled We will discuss a few types of coupling
19
Data Coupling Refers to the sharing of ____ between modules Traditionally represented in a structure chart with additional arrows The ____________ of data coupling is one of the main benefits of the object-oriented approach
20
Control Coupling Occurs when a module passes _______ to another In an OO programming, most intermodule coupling takes the form of interobject communication, which is usually implemented as control coupling ____________ diagram represents interobject communication in an OO design
21
Cohesion Refers to the degree of ____________ of a module’s internal parts A weak form of cohesion is known as ______ cohesion; the internal elements in a module perform activities logically ______ in nature A stronger form of cohesion is known as _________ cohesion; all the parts of the module are focused around the performance of a ______ activity
22
Documentation Documentation is normally produced for two purposes One is to explain the features of the software and describe how to use them: ____ documentation The other is to describe the software’s internal composition so that the system can be maintained later in its life cycle: _______ documentation Note that documentation is an ________ process
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.