[go: up one dir, main page]

0% found this document useful (0 votes)
46 views32 pages

Chapter 06 Software Engineering

Chapter 7 of 'Computer Science: An Overview' covers the discipline of software engineering, including its methodologies, life cycle, and key practices such as testing and documentation. It discusses various software engineering methodologies like the Waterfall Model and Extreme Programming, as well as the importance of modularity and tools like CASE. Additionally, the chapter addresses software ownership, copyright, and the legal aspects of software development.

Uploaded by

nama65145
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views32 pages

Chapter 06 Software Engineering

Chapter 7 of 'Computer Science: An Overview' covers the discipline of software engineering, including its methodologies, life cycle, and key practices such as testing and documentation. It discusses various software engineering methodologies like the Waterfall Model and Extreme Programming, as well as the importance of modularity and tools like CASE. Additionally, the chapter addresses software ownership, copyright, and the legal aspects of software development.

Uploaded by

nama65145
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

Chapter 7:

Software Engineering

Computer Science: An Overview


Tenth Edition

by
J. Glenn Brookshear

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley


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

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-2


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

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-3


Computer Aided Software
Engineering (CASE) tools
• Project planning
• Project management
• Documentation
• Prototyping and simulation
• Interface design
• Programming

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-4


Figure 7.1 The software life cycle

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-5


Figure 7.2 The development phase of
the software life cycle

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-6


Analysis Stage

• Requirements
– Application oriented
• Specifications
– Technically oriented
• Software requirements document

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-7


Design Stage

• Methodologies and tools (discussed later)


• Human interface (psychology and
ergonomics)

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-8


Implementation Stage

• Create system from design


– Write programs
– Create data files
– Develop databases
• Role of “software analyst” versus
“programmer”

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-9


Testing Stage

• Validation testing
– Confirm that system meets specifications
• Defect testing
– Find bugs

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-10


Software Engineering
Methodologies
• Waterfall Model
• Incremental Model
– Prototyping (Evolutionary vs. Throwaway)
• Open-source Development
• Extreme Programming

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-11


Modularity

• Procedures -- Imperative paradigm


– Structure charts
• Objects -- Object-oriented paradigm
– Collaboration diagrams
• Components -- Component architecture

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-12


Figure 7.3 A simple structure chart

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-13


Figure 7.4 The structure of
PlayerClass and its instances

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-14


Figure 7.5 The interaction between
objects resulting from PlayerA’s
serve

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-15


Figure 7.6 A structure chart
including data coupling

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-16


Coupling versus Cohesion

• Coupling
– Control coupling
– Data coupling
• Cohesion
– Logical cohesion
– Functional cohesion

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-17


Figure 7.7 Logical and functional
cohesion within an object

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-18


Tools of the Trade

• Data Flow Diagram


• Entity-Relationship Diagram
– One-to-one relation
– One-to-many relation
– Many-to-many relation
• Data Dictionary

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-19


Figure 7.8 A simple dataflow diagram

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-20


Figure 7.9 A simple use case diagram

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-21


Figure 7.10 A simple class diagram

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-22


Unified Modeling Language

• Use Case Diagram


– Use cases
– Actors
• Class Diagram

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-23


Figure 7.11 One-to-one, one-to-many, and
many-to-many relationships between
entities of types X and Y

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-24


Figure 7.12 A class diagram
depicting generalizations

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-25


Figure 7.13 A sequence diagram
depicting a generic volley

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-26


Structured Walkthoughs

• “Theatrical” experiment
• Class-responsibility-collaboration cards

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-27


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

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-28


Software Testing Strategies

• Glass-box testing )white)


– Pareto principle
– Basis path testing
• Black-box testing
– Boundary value analysis
– Redundancy testing
– Beta testing

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-29


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.

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-30


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

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-31


Software Ownership (continued)

• Patents
– “Natural laws” are traditionally not patentable
• Trade secrets
– Non-disclosure agreements are legally
enforceable

Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 7-32

You might also like