Slide 3.6 - 1 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.
-
Upload
roland-riley -
Category
Documents
-
view
238 -
download
0
Transcript of Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.
![Page 1: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/1.jpg)
Chapter 7
Software Engineering
© 2007 Pearson Addison-Wesley.All rights reserved
![Page 2: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/2.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-2
Chapter 7: Software Engineering
• 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
![Page 3: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/3.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-3
The Software Engineering Discipline
• Distinct from other engineering fields– Prefabricated components– Metrics
• Practitioners versus Theoreticians
• Professional Organizations: ACM, IEEE, etc.– Codes of professional ethics– Standards
![Page 4: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/4.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-4
Computer Aided Software Engineering (CASE) tools
• Project planning
• Project management
• Documentation
• Prototyping and simulation
• Interface design
• Programming
![Page 5: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/5.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-5
Figure 7.1 The software life cycle
![Page 6: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/6.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-6
Figure 7.2 The development phase of the software life cycle
![Page 7: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/7.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-7
Analysis Stage
• Requirements– Application oriented
• Specifications– Technically oriented
• Software requirements document
![Page 8: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/8.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-8
Design Stage
• Methodologies and tools (discussed later)
• Human interface (psychology and ergonomics)
![Page 9: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/9.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-9
Implementation Stage
• Create system from design– Write programs– Create data files– Develop databases
• Role of “software analyst” versus “programmer”
![Page 10: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/10.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-10
Testing Stage
• Validation testing– Confirm that system meets specifications
• Defect testing– Find bugs
![Page 11: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/11.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-11
Software Engineering Methodologies
• Waterfall Model
• Incremental Model– Prototyping (Evolutionary vs. Throwaway)
• Open-source Development
• Extreme Programming
![Page 12: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/12.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-12
Modularity
• Procedures -- Imperative paradigm– Structure charts
• Objects -- Object-oriented paradigm– Collaboration diagrams
• Components -- Component architecture
![Page 13: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/13.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-13
Figure 7.3 A simple structure chart
![Page 14: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/14.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-14
Figure 7.4 The structure of PlayerClass and its instances
![Page 15: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/15.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-15
Figure 7.5 A simple collaboration diagram
![Page 16: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/16.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-16
Figure 7.6 A structure chart including data coupling
![Page 17: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/17.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-17
Coupling versus Cohesion
• Coupling – Control coupling– Data coupling
• Cohesion– Logical cohesion– Functional cohesion
![Page 18: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/18.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-18
Figure 7.7 Logical and functional cohesion within an object
![Page 19: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/19.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-19
Tools of the Trade
• Data Flow Diagram
• Entity-Relationship Diagram– One-to-one relation– One-to-many relation– Many-to-many relation
• Data Dictionary
![Page 20: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/20.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-20
Figure 7.8 A simple dataflow diagram
![Page 21: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/21.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-21
Figure 7.9 A simple entity-relationship diagram
![Page 22: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/22.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-22
Figure 7.10 One-to-one, one-to-many, and many-to-many relationships between entities of types X and Y
![Page 23: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/23.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-23
Unified Modeling Language
• Use Case Diagram– Use cases– Actors
• Class Diagram
![Page 24: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/24.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-24
Figure 7.11 A simple use case diagram
![Page 25: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/25.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-25
Figure 7.12 A simple class diagram
![Page 26: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/26.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-26
Figure 7.13 A class diagram depicting generalizations
![Page 27: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/27.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-27
Structured Walkthoughs
• “Theatrical” experiment
• Class-responsibility-collaboration cards
![Page 28: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/28.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-28
Design Patterns
• 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
![Page 29: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/29.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-29
Software Testing Strategies
• Glass-box testing– Pareto principle– Basis path testing
• Black-box testing– Boundary value analysis– Redundancy testing– Beta testing
![Page 30: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/30.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-30
Documentation
• User Documentation– Printed book for all customers– On-line help modules
• System Documentation– Source code– Design documents
• Technical Documentation– For installing, customizing, updating, etc.
![Page 31: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/31.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-31
Software Ownership
• Copyright– The “substantial similarity” test– Filtration criteria: what is not copyrightable
• Features covered by standards
• Characteristics dictated by software purpose
• Components in the public domain
– The “look and feel” argument
![Page 32: Chapter 7 Software Engineering © 2007 Pearson Addison-Wesley. All rights reserved.](https://reader033.fdocuments.us/reader033/viewer/2022061605/5697bff61a28abf838cbde02/html5/thumbnails/32.jpg)
© 2007 Pearson Addison-Wesley. All rights reserved 0-32
Software Ownership (continued)
• Patents– “Natural laws” are traditionally not patentable
• Trade secrets– Non-disclosure agreements are legally enforceable