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

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

Embed Size (px)

Citation preview

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

Chapter 7Software Engineering

Introduction to CS

1st Semester, 2015 Sanghyun Park

Page 2: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Outline Software Life Cycle Development Process Development Process Models Modularity Documentation

Page 3: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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 ________

Page 4: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Software Life Cycle (2/2)

Page 5: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Development Process The development process in the software life cycle

involves ____ phases

Page 6: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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

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

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

Page 8: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Implementation Phase Implementation involves the actual _______ of programs

This phase uses several tools to show the ______ flowof 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

Page 9: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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 _________

Page 10: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Development Process Models There are several models for the development process

We discuss the two most common:the ________ model and the __________ model

Page 11: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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 _____________

Page 12: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Waterfall Model (2/2)

Page 13: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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 _______

Page 14: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Incremental Model (2/2)

Page 15: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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

Page 16: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Structure Chart

Page 17: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

Class Diagram

Page 18: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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

Page 19: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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

Page 20: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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

Page 21: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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

Page 22: Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park

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