• 沒有找到結果。

Chapter 7:

N/A
N/A
Protected

Academic year: 2022

Share "Chapter 7:"

Copied!
32
0
0

加載中.... (立即查看全文)

全文

(1)

Copyright © 2015 Pearson Education, Inc.

Computer Science: An Overview Twelfth Edition

by

J. Glenn Brookshear Dennis Brylow

Chapter 7:

Software Engineering

(2)

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

(3)

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

(4)

Copyright © 2015 Pearson Education, Inc. 7-4

Computer Aided Software Engineering (CASE) tools

• Project planning

• Project management

• Documentation

• Prototyping and simulation

• Interface design

• Programming

(5)

Copyright © 2015 Pearson Education, Inc. 7-5

Figure 7.1 The software life cycle

(6)

Copyright © 2015 Pearson Education, Inc. 7-6

Figure 7.2 The development phase of

the software life cycle

(7)

Copyright © 2015 Pearson Education, Inc. 7-7

Analysis Stage

• Requirements

– Application oriented

• Specifications

– Technically oriented

• Software requirements document

(8)

Copyright © 2015 Pearson Education, Inc. 7-8

Design Stage

• Methodologies and tools (discussed later)

• Human interface (psychology and

ergonomics)

(9)

Copyright © 2015 Pearson Education, Inc. 7-9

Implementation Stage

• Create system from design

– Write programs – Create data files

– Develop databases

• Role of “software analyst” versus

“programmer”

(10)

Copyright © 2015 Pearson Education, Inc. 7-10

Testing Stage

• Validation testing

– Confirm that system meets specifications

• Defect testing

– Find bugs

(11)

Copyright © 2015 Pearson Education, Inc. 7-11

Software Engineering Methodologies

• Waterfall Model

• Incremental Model

– Prototyping (Evolutionary vs. Throwaway)

• Open-source Development

• Extreme Programming

(12)

Copyright © 2015 Pearson Education, Inc. 7-12

Modularity

• Functions  Imperative paradigm

– Structure charts

• Objects  Object-oriented paradigm

– Collaboration diagrams

• Components  Component architecture

(13)

Copyright © 2015 Pearson Education, Inc. 7-13

Figure 7.3 A simple structure chart

(14)

Copyright © 2015 Pearson Education, Inc. 7-14

Figure 7.4 The structure of

PlayerClass and its instances

(15)

Copyright © 2015 Pearson Education, Inc. 7-15

Figure 7.5 The interaction between objects resulting from PlayerA’s

serve

(16)

Copyright © 2015 Pearson Education, Inc. 7-16

Figure 7.6 A structure chart

including data coupling

(17)

Copyright © 2015 Pearson Education, Inc. 7-17

Coupling versus Cohesion

• Coupling

– Control coupling – Data coupling

• Cohesion

– Logical cohesion

– Functional cohesion

(18)

Copyright © 2015 Pearson Education, Inc. 7-18

Figure 7.7 Logical and functional

cohesion within an object

(19)

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

(20)

Copyright © 2015 Pearson Education, Inc. 7-20

Figure 7.8 A simple dataflow diagram

(21)

Copyright © 2015 Pearson Education, Inc. 7-21

Figure 7.9 A simple use case diagram

(22)

Copyright © 2015 Pearson Education, Inc. 7-22

Figure 7.10 A simple class diagram

(23)

Copyright © 2015 Pearson Education, Inc. 7-23

Unified Modeling Language

• Use Case Diagram

– Use cases – Actors

• Class Diagram

(24)

Copyright © 2015 Pearson Education, Inc. 7-24

Figure 7.11 One-to-one, one-to-many, and many-to-many relationships between

entities of types X and Y

(25)

Copyright © 2015 Pearson Education, Inc. 7-25

Figure 7.12 A class diagram

depicting generalizations

(26)

Copyright © 2015 Pearson Education, Inc. 7-26

Figure 7.13 A sequence diagram

depicting a generic volley

(27)

Copyright © 2015 Pearson Education, Inc. 7-27

Structured Walkthoughs

• “Theatrical” experiment

• Class-responsibility-collaboration cards

(28)

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

(29)

Copyright © 2015 Pearson Education, Inc. 7-29

Software Testing Strategies

• Glass-box testing

– Pareto principle – Basis path testing

• Black-box testing

– Boundary value analysis – Redundancy testing

– Beta testing

(30)

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

(31)

Copyright © 2015 Pearson Education, Inc. 7-31

Software Ownership

• Copyright

– Allow a product to be released while retaining ownership of intellectual property

– Asserted in all works:

• Specifications

• Source code

• Final product

(32)

Copyright © 2015 Pearson Education, Inc. 7-32

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

參考文獻

相關文件

Chapter 7 Amazing Nature - Understand the importance of protecting the

● size() 回傳 queue

● In computer science, a data structure is a data organization, management, and storage format that enables efficient access and

Chapter 7 Amazing Nature -Understand the importance of protecting the

Unless prior permission in writing is given by the Commissioner of Police, you may not use the materials other than for your personal learning and in the course of your official

Know how to implement the data structure using computer programs... What are we

• Recorded video will be available on NTU COOL after the class..

The remaining positions contain //the rest of the original array elements //the rest of the original array elements.