Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.

Similar presentations


Presentation on theme: "Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park."— Presentation transcript:

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


Download ppt "Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park."

Similar presentations


Ads by Google