Copyright © 2015 Pearson Education, Inc. Chapter 7: Software Engineering.

Slides:



Advertisements
Similar presentations
Systems Development Environment
Advertisements

Chapter 2: Approaches to System Development
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 2 Approaches to System Development
Ch 3 System Development Environment
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 1 The Systems Development Environment
Introduction To System Analysis and Design
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Chapter 1 The Systems Development Environment
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 15 Finalizing.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Systems Analysis and Design in a Changing World, Fifth Edition
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.
Chapter 7-- Software Engineering 7.5 Tools of the Trade 楊家愉 應數一
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.1.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter 1 The Systems.
Introduction To System Analysis and design
SOFTWARE ENGINEERING CSC 180 Lecture 10 Dr. Adam Anthony.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 報告者 : 林建任.
Chapter 1 Systems Development in an Organizational Context
Chapter 1 The Systems Development Environment
2 Systems Analysis and Design in a Changing World, Fourth Edition.
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.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Chapter 7 Software Engineering. © 2005 Pearson Addison-Wesley. All rights reserved 7-2 Chapter 7: Software Engineering 7.1 The Software Engineering Discipline.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
System Development 1 u Systems development life cycle (SDLC) l Provides overall framework for managing system development process u Two main approaches.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.
Exam 2 Review Software Engineering CS 561. Outline Requirements Development UML Class Diagrams Design Patterns Users, Usability, and User Interfaces Software.
Chapter 7: Software Engineering
Chapter 1 The Systems Development Environment Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Chapter 1 Assuming the Role of the Systems Analyst.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Chapter 7: Software Engineering
Chapter 7: Software Engineering
SDLC: System Development Life Cycle
UML: Unified modeling language
Appendix A Object-Oriented Analysis and Design
Chapter 7 Software Engineering.
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Systems development life cycle (SDLC)
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Presentation transcript:

Copyright © 2015 Pearson Education, Inc. Chapter 7: Software Engineering

Copyright © 2015 Pearson Education, Inc. 7.1 The Software Engineering Discipline 7.2 The Software Life Cycle 7.3 Software Engineering Methodologies 7.4 Modularity 7.5 Tools of the Trade 7.6 Testing 7.7 Documentation 7.8 Software Ownership and Liability Chapter 7: Software Engineering 7-2

Copyright © 2015 Pearson Education, Inc. Distinct from other engineering fields –Prefabricated components –Metrics Practitioners versus Theoreticians Professional Organizations: ACM, IEEE, etc. –Codes of professional ethics –Standards The Software Engineering Discipline 7-3

Copyright © 2015 Pearson Education, Inc. Project planning Project management Documentation Prototyping and simulation Interface design Programming Computer Aided Software Engineering (CASE) tools 7-4

Copyright © 2015 Pearson Education, Inc. Figure 7.1 The software life cycle 7-5

Copyright © 2015 Pearson Education, Inc. Figure 7.2 The development phase of the software life cycle 7-6

Copyright © 2015 Pearson Education, Inc. Requirements –Application oriented Specifications –Technically oriented Software requirements document Analysis Stage 7-7

Copyright © 2015 Pearson Education, Inc. Methodologies and tools (discussed later) Human interface (psychology and ergonomics) Design Stage 7-8

Copyright © 2015 Pearson Education, Inc. Create system from design –Write programs –Create data files –Develop databases Role of “software analyst” versus “programmer” Implementation Stage 7-9

Copyright © 2015 Pearson Education, Inc. Validation testing –Confirm that system meets specifications Defect testing –Find bugs Testing Stage 7-10

Copyright © 2015 Pearson Education, Inc. Waterfall Model Incremental Model –Prototyping (Evolutionary vs. Throwaway) Open-source Development Extreme Programming Software Engineering Methodologies 7-11

Copyright © 2015 Pearson Education, Inc. Functions  Imperative paradigm –Structure charts Objects  Object-oriented paradigm –Collaboration diagrams Components  Component architecture Modularity 7-12

Copyright © 2015 Pearson Education, Inc. Figure 7.3 A simple structure chart 7-13

Copyright © 2015 Pearson Education, Inc. Figure 7.4 The structure of PlayerClass and its instances 7-14

Copyright © 2015 Pearson Education, Inc. Figure 7.5 The interaction between objects resulting from PlayerA’s serve 7-15

Copyright © 2015 Pearson Education, Inc. Figure 7.6 A structure chart including data coupling 7-16

Copyright © 2015 Pearson Education, Inc. Coupling –Control coupling –Data coupling Cohesion –Logical cohesion –Functional cohesion Coupling versus Cohesion 7-17

Copyright © 2015 Pearson Education, Inc. Figure 7.7 Logical and functional cohesion within an object 7-18

Copyright © 2015 Pearson Education, Inc. Data Flow Diagram Entity-Relationship Diagram –One-to-one relation –One-to-many relation –Many-to-many relation Data Dictionary Tools of the Trade 7-19

Copyright © 2015 Pearson Education, Inc. Figure 7.8 A simple dataflow diagram 7-20

Copyright © 2015 Pearson Education, Inc. Figure 7.9 A simple use case diagram 7-21

Copyright © 2015 Pearson Education, Inc. Figure 7.10 A simple class diagram 7-22

Copyright © 2015 Pearson Education, Inc. Use Case Diagram –Use cases –Actors Class Diagram Unified Modeling Language 7-23

Copyright © 2015 Pearson Education, Inc. Figure 7.11 One-to-one, one-to-many, and many-to-many relationships between entities of types X and Y 7-24

Copyright © 2015 Pearson Education, Inc. Figure 7.12 A class diagram depicting generalizations 7-25

Copyright © 2015 Pearson Education, Inc. Figure 7.13 A sequence diagram depicting a generic volley 7-26

Copyright © 2015 Pearson Education, Inc. “Theatrical” experiment Class-responsibility-collaboration cards Structured Walkthoughs 7-27

Copyright © 2015 Pearson Education, Inc. Well designed “templates” for solving recurring problems Examples: –Adapter pattern: Used to adapter a module’s interface to current needs –Decorator pattern: Used to control the complexity involved when many different combinations of the same activities are required Inspired by the work of Christopher Alexander in architecture Design Patterns 7-28

Copyright © 2015 Pearson Education, Inc. Glass-box testing –Pareto principle –Basis path testing Black-box testing –Boundary value analysis –Redundancy testing –Beta testing Software Testing Strategies 7-29

Copyright © 2015 Pearson Education, Inc. User Documentation –Printed book for all customers –On-line help modules System Documentation –Source code –Design documents Technical Documentation –For installing, customizing, updating, etc. Documentation 7-30

Copyright © 2015 Pearson Education, Inc. Copyright –Allow a product to be released while retaining ownership of intellectual property –Asserted in all works: Specifications Source code Final product Software Ownership 7-31

Copyright © 2015 Pearson Education, Inc. Software License –A legal agreement that grants the user certain permissions without transferring ownership Patents –Must demonstrate that it is new, usable, and not obvious to others with similar backgrounds –Process is expensive and time-consuming Software Ownership (continued) 7-32

Copyright © 2015 Pearson Education, Inc. EndofChapter