230 likes | 402 Views
Chapter 7-- Software Engineering. 7.5 Tools of the Trade. 楊家愉 應數一 100701014. Introduction. In this section, we introduce : Modeling techniques ( 設計程式的技術 / 方法 ) Notational systems ( 標誌系統 ). Some Old Friends.
E N D
Chapter 7-- Software Engineering 7.5 Tools of the Trade 楊家愉應數一100701014
Introduction In this section, we introduce : • Modeling techniques (設計程式的技術/方法) • Notational systems(標誌系統)
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.
Some Old Friends Dataflow diagram means of representing the information gained form such dataflow studies. Arrows – represent data paths Ovals- represent points at which data manipulation occur Rectangles – represent data sources and stores
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.
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: • Valid entries in each item • Where the item is stored • Where the item is referenced in the software
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.
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
Unified Modeling Language • 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
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.
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
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.
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
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.
Design Patterns Decorator pattern means of designing a system that performs different combinations of the same activities depending on the situation at the time
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.
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.