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

Software Engineering: Computer Science: An Overview Twelfth Edition

Computer Science: An overview

Uploaded by

adeel
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)
193 views32 pages

Software Engineering: Computer Science: An Overview Twelfth Edition

Computer Science: An overview

Uploaded by

adeel
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


Twelfth Edition

by
J. Glenn Brookshear
Dennis Brylow

Copyright © 2015 Pearson Education, Inc.


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 © 2015 Pearson Education, Inc. 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 © 2015 Pearson Education, Inc. 7-3


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

Copyright © 2015 Pearson Education, Inc. 7-4


Figure 7.1 The software life cycle

Copyright © 2015 Pearson Education, Inc. 7-5


Figure 7.2 The development phase of
the software life cycle

Copyright © 2015 Pearson Education, Inc. 7-6


Analysis Stage

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

Copyright © 2015 Pearson Education, Inc. 7-7


Design Stage

• Methodologies and tools (discussed later)


• Human interface (psychology and
ergonomics)

Copyright © 2015 Pearson Education, Inc. 7-8


Implementation Stage

• Create system from design


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

Copyright © 2015 Pearson Education, Inc. 7-9


Testing Stage

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

Copyright © 2015 Pearson Education, Inc. 7-10


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

Copyright © 2015 Pearson Education, Inc. 7-11


Modularity

• Functions  Imperative paradigm


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

Copyright © 2015 Pearson Education, Inc. 7-12


Figure 7.3 A simple structure chart

Copyright © 2015 Pearson Education, Inc. 7-13


Figure 7.4 The structure of
PlayerClass and its instances

Copyright © 2015 Pearson Education, Inc. 7-14


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

Copyright © 2015 Pearson Education, Inc. 7-15


Figure 7.6 A structure chart
including data coupling

Copyright © 2015 Pearson Education, Inc. 7-16


Coupling versus Cohesion

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

Copyright © 2015 Pearson Education, Inc. 7-17


Figure 7.7 Logical and functional
cohesion within an object

Copyright © 2015 Pearson Education, Inc. 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 © 2015 Pearson Education, Inc. 7-19


Figure 7.8 A simple dataflow diagram

Copyright © 2015 Pearson Education, Inc. 7-20


Figure 7.9 A simple use case diagram

Copyright © 2015 Pearson Education, Inc. 7-21


Figure 7.10 A simple class diagram

Copyright © 2015 Pearson Education, Inc. 7-22


Unified Modeling Language

• Use Case Diagram


– Use cases
– Actors
• Class Diagram

Copyright © 2015 Pearson Education, Inc. 7-23


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

Copyright © 2015 Pearson Education, Inc. 7-24


Figure 7.12 A class diagram
depicting generalizations

Copyright © 2015 Pearson Education, Inc. 7-25


Figure 7.13 A sequence diagram
depicting a generic volley

Copyright © 2015 Pearson Education, Inc. 7-26


Structured Walkthoughs

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

Copyright © 2015 Pearson Education, Inc. 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 © 2015 Pearson Education, Inc. 7-28


Software Testing Strategies

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

Copyright © 2015 Pearson Education, Inc. 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 © 2015 Pearson Education, Inc. 7-30


Software Ownership

• Copyright
– Allow a product to be released while retaining
ownership of intellectual property
– Asserted in all works:
• Specifications
• Source code
• Final product

Copyright © 2015 Pearson Education, Inc. 7-31


Software Ownership (continued)

• 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

Copyright © 2015 Pearson Education, Inc. 7-32

You might also like