Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.

Slides:



Advertisements
Similar presentations
Software Engineering Key design concepts Design heuristics Design practices.
Advertisements

10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Systems Analysis and Design in a Changing World, 6th Edition
CS487 Software Engineering Omar Aldawud
©Brooks/Cole, 2003 Chapter 10 Software Engineering.
CS3773 Software Engineering Lecture 01 Introduction.
Ch 3 System Development Environment
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
Chapter 1 The Systems Development Environment
Chapter 6: Design of Expert Systems
Ch3: Software Engineering Principles 1 What is a principle?  Definition:  Goals of accounting principles:  Goals of software engineering principles?
SOFTWARE ENGINEERING for REAL-TIME SYSTEMS (© J.E.Cooling 2003) Software design - core concepts - slide 1 Software engineering for real-time systems Section.
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.
1 IS 4420 Database Fundamentals Chapter 2: Database Development Process Leon Chen.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Chapter.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
CIS 321—IS Analysis & Design
Chapter 7 Software Engineering Objectives Understand the software life cycle. Describe the development process models.. Understand the concept of modularity.
Chapter 7 Software Engineering Objectives Understand the software life cycle. Describe the development process models. Understand the concept of modularity.
Chapter 1 The Systems Development Environment
Software Engineering Course Review Chapter 1 1. Software –Definition of software –Characteristics of Software –The difference of software and.
Objectives:  To define RAD  Describe RAD as a system development method  List the advantages of RAD as a method  List the disadvantages of RAD  State.
1 INTRODUCTION Chapter 1 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon Negash.
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
1 Chapter 5 Practice: A Generic View Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
PART ONE The Product and the Process Chapter 2 The Process  Software Engineering: A Layered Technology a “quality” focus process model methods tools.
College of Computer and Information Science Chapter 14 Programming and Languages.
Copyright © 2015 Pearson Education, Inc. Chapter 7: Software Engineering.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Rapid Application Development. What is RAD……..?  Rapid Application Development (RAD) is a software development process.  first developed during the.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
College of Computer and Information Science Chapter 14 Programming and Languages.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Software Engineering MCS-2 Lecture # 6
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Chapter 10 Software Engineering. Understand the software life cycle. Describe the development process models. Understand the concept of modularity in.
Code Development Code development for end user systems.
Systems Analysis and Design in a Changing World, 6th Edition
Software Waterfall Life Cycle
Systems Analysis and Design in a Changing World, 6th Edition
Data Structures Using C++ 2E
1. What do you understand by software engineering? Discuss the role of engineering software development. 2. What do you understand by software requirement.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.
The Systems Development Environment Systems Analysis and Design II.
Chapter 7: Software Engineering
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Workflows Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Systems Analysis and Design in a Changing World, 6th Edition
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Building Information Systems
Chapter 7: Software Engineering
Chapter 7: Software Engineering
Chapter 1: Introduction to Systems Analysis and Design
About the Presentations
The V Model The V Model Damian Gordon Damian Gordon.
CIS 210 Systems Analysis and Development
Chapter 7 Software Engineering.
Chapter 1: Introduction to Systems Analysis and Design
Chapter 1: Introduction to Systems Analysis and Design
Presentation transcript:

Chapter 10 Software Engineering

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. After reading this chapter, the reader should be able to: O BJECTIVES Understand the role of documentation in software engineering.

10.1 Software life cycle 10.1 Software life cycle 10.3 Modularity 10.3 Modularity 10.2 Development process models 10.2 Development process modelsContents 10.5 Documentation 10.5 Documentation Summary 10.4 Quality 10.4 Quality

Software engineering is the establishment and use of sound engineering methods and principles to obtain reliable software that works on real machines.Software engineering is the establishment and use of sound engineering methods and principles to obtain reliable software that works on real machines.

SOFTWARELIFECYCLE软件生命周期SOFTWARELIFECYCLE软件生命周期 10.1

Figure 10-1 System life cycle Software life cycle

Figure 10-2 System development phases Define:(1)Users(2)Needs(3)Requirements (4)Methods What?How? DoingOK? (1)Determing the systems (2)Designing the files,databases Modularity Structure chart/UML (1)Flowchart/Ps eudocode (2)Coding (1)Black Box Testing By test enginer (2)White Box Testing By programmer

DEVELOPMENTPROCESSMODELS开发过程模型DEVELOPMENTPROCESSMODELS开发过程模型 10.2

Figure 10-3 Waterfall model Each module is completely finished before the next module is tarted.

Figure 10-4 Incremental model The entire package is constructed, with each module consisting of only a shell; the modules gain complexity with each iteration of the package.

MODULARITY模块化MODULARITY模块化 10.3

Modularity is the division of a large program into smaller parts that can communicate with each other. Coupling is a measure of how tighly two modules are bound to each other. The types of coupling include data,control,global, and content.Coupling is a measure of how tighly two modules are bound to each other. The types of coupling include data,control,global, and content. Cohesion is a measure of how closely the processes in a program are related. The types of cohesion include functional,sequential,communication,procedural,tem poral,logical, and coincidental.Cohesion is a measure of how closely the processes in a program are related. The types of cohesion include functional,sequential,communication,procedural,tem poral,logical, and coincidental. Low Coupling, High Cohesion.Low Coupling, High Cohesion.

QUALITY ( 软件 ) 质量 QUALITY 10.4

Figure 10-5 Quality factors 可操作性可维护性 可移植性

Figure 10-6 Quality circle There are six steps to quqlity software: Quality toolsQuality tools Technical reviewTechnical review Formal testingFormal testing Change controlsChange controls StandardsStandards Measurement and reportingMeasurement and reporting

DOCUMENTATION文档DOCUMENTATION文档 10.5

User Documentation User Documentation System Documentation System Documentation Documentation in the Analysis Phase Documentation in the Analysis Phase Documentation in the Design Phase Documentation in the Design Phase Documentation in the Implementation Phase Documentation in the Implementation Phase Documentation in the Testing Phase Documentation in the Testing Phase Documentation as an ongoing process Documentation as an ongoing process