23
Chapter 7-- Software Engineering 7.5 Tools of the Trade 楊楊楊 楊楊100701014

Chapter 7-- Software Engineering

  • Upload
    haven

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Chapter 7-- Software Engineering. 7.5 Tools of the Trade. 楊家愉 應數一 100701014. Introduction. In this section, we introduce : Modeling techniques ( 設計程式的技術 / 方法 ) Notational systems ( 標誌系統 ). Some Old Friends. - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 7-- Software Engineering

Chapter 7-- Software Engineering

7.5 Tools of the Trade

楊家愉應數一100701014

Page 2: Chapter 7-- Software Engineering

Introduction

In this section, we introduce :

• Modeling techniques (設計程式的技術 /方法 )• Notational systems (標誌系統 )

Page 3: Chapter 7-- Software Engineering

Some Old Friends

Although the imperative paradigm seeks to build software in terms of procedures, a way of identifying those procedures is to consider the data to be manipulated rather than the procedures themselves.

The theory is that by studying how data moves through a system, one identifies the points at which either data formats are altered or data paths merge and split.

Page 4: Chapter 7-- Software Engineering

Some Old Friends

Dataflow diagram means of representing the information gained

form such dataflow studies.Arrows – represent data pathsOvals- represent points at which data

manipulation occurRectangles – represent data sources and stores

Page 5: Chapter 7-- Software Engineering

Affect of data flow diagram

Not only assist in identifying procedures during the design stage of software development, but also useful when trying to gain an understanding of the proposed system during the analysis stage.

Page 6: Chapter 7-- Software Engineering

Data Flow Diagram

Page 7: Chapter 7-- Software Engineering

Data dictionary

• Has been used for years by software engineers • Is a central repository of information about

the data items appearing throughout a software system.

• Information of it Constitutes:1. Valid entries in each item2. Where the item is stored3. Where the item is referenced in the software

Page 8: Chapter 7-- Software Engineering

Data dictionary

• Goal:– Improve communication between the

stakeholders of a software system and the software engineer.

– Converting all of the stakeholder needs into a requirements specification.

– Helps ensure that the fact that part numbers are net really numeric will be revealed.

– To establish uniformity throughout the system.

Page 9: Chapter 7-- Software Engineering

Unified Modeling Language

Dataflow diagrams and data dictionaries• Tools in the software engineering arsenal well

before emergence of the object-oriented paradigm

• Continued to find useful roles even though the imperative paradigm

Page 10: Chapter 7-- Software Engineering

• Has been developed with the object-oriented paradigm in mind.

• The tool that attempts merely to capture the image of the proposed system from the user’s point of view

Unified Modeling Language

Page 11: Chapter 7-- Software Engineering

Use Case Diagram

• Depicts the proposed system as a large rectangle in which interactions between the system

• Its users are represented as ovals and users of the system are represented as stick figures.

Page 12: Chapter 7-- Software Engineering

Use Case Diagram

Page 13: Chapter 7-- Software Engineering

Class diagram

• Is a notational system for representing the structure of classes and relationships between classes.

• It can indicate how many instances of one class may be associated with instances of another

Page 14: Chapter 7-- Software Engineering

One-to-one relationship

Page 15: Chapter 7-- Software Engineering

One-to-many relationship

Page 16: Chapter 7-- Software Engineering

Many-to-many relationship

Page 17: Chapter 7-- Software Engineering

Interaction diagrams

Sequence diagram• Depicts the communication between the

individuals that are involved in performing a task.

• Each rectangle together with its dashed line is called a life line.

Page 18: Chapter 7-- Software Engineering

Interaction diagram

Page 19: Chapter 7-- Software Engineering

Interaction fragments• Are used to represent alternative sequences

within one diagram.

CRC (class-responsibility-collaboration) cards• Is simply a card, on which the description of

an object is written

Page 20: Chapter 7-- Software Engineering

Design Patterns

• Predeveloped model for solving a recurring problem in software design

Adapter pattern provides a solution to a problem that often

occurs when constructing software from prefabricated modules.

Page 21: Chapter 7-- Software Engineering

Design Patterns

Decorator pattern means of designing a system that performs

different combinations of the same activities depending on the situation at the time

Page 22: Chapter 7-- Software Engineering

Design Pattern

• The results of progress in design pattern development are reflected in the library of tools provided in today’s software development packages such as the Java programming environments provided by Oracle and the .NET Framework provided by Microsoft.

Page 23: Chapter 7-- Software Engineering

Design Pattern

The origins of design patterns lie in the research of Christopher Alexander (克里斯托弗‧亞歷山大 ) in traditional architecture.

His goal was to identify features. Today, many of his ideas have been incorporated into software design and his work continues to be an inspiration for many software engineers.