Reference: 1. Software engineering, roger s. pressman.
Recommend Documents
Introduce software engineering, and in particular: ... We will study software
engineering practices as a guide to how ... RS Pressman, Software Engineering.
IBM. ELECTRIC TYPEWRITER. MODEL C-l. CUSTOMER ENGINEERING.
REFERENCE MANUAL. Mechanical Principles and Adjustments. CONTENTS.
Page.
Software engineering provides models & techniques ... The Case for Agent-Oriented Software Engineering. III. ... Every manager will pay lip service to it. Every.
Dec 1, 2009 - Overview of the LISE Approach and Illustration on a Case Study ... LISE (Liability Issues in Software Engineering) is a project funded by ANR.
Mar 27, 1997 - engineering degree programs in higher education, the formulation of .... degree from a program by the Computer Sciences Accreditation Board.
(1984, 1986), The Emperor's New Mind: Concerning. Computers, Minds, and the
Laws of Physics (1989), Shadows of the Mind: A Search for the Missing.
Mar 19, 2016 - tial foundation of German nationality law, which places ... children born in France of foreign parents, ... 40,000 children born of Turkish parents.
The development of engineering systems is usually based upon the deployment of ... ware lifecycle to allow a development of such applications using a common.
Reference: 1. Software engineering, roger s. pressman.
CS487-Week 7-Page 1. CS 487. Week 7. Reading: 1. Ian Sommerville, Chapter 3
. Objective: 1. To create a design model that will implement all customer ...
CS 487 Week 7 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To create a design model that will implement all customer requirements correctly. 2. To create a design model that exhibits both internal and external quality factors of software to be built. Concepts: 1. Design Concepts 2. System Design Outline: Design Concepts: 1. Abstraction 2. Architecture 3. Refinement 4. Modularity 5. Information hiding 6. Refactoring 7. Functional independence System Design: 1. Architecture Design 2. Component-Level Design 3. User Interface Design
Reference: 1. Software engineering, roger s. pressman.
CS487-Week 7-Page 1
CS487: Week 7 – Lecture Notes
1. Definition of Design An iterative process through which requirements are translated into a blue print for construction. 2. Design Principles
Should be traceable to the analysis model Should not reinvent the wheel Should be structured to accommodate change Should be structured to design gently Design is not coding, coding is not design New Design should be o Easy to understand o Easy to Reuse o Easy to change o Easy to code o Easy to test o Easy to integrate
What does the object do without any implication on how does it do it. Data Abstraction o collection of data that describes a data object o Denotes the essential characteristics of an object that distinguishes it from all kinds of objects.
Procedural Abstraction CS487-Week 7-Page 2
Sequence of instructions that have limited and specific function 5. Architecture
Structure or organization of program components It includes manner of interaction and the structure of data that are used by the components. Structural properties This aspect of the architectural design representation defines: o the components of a system (e.g., modules, objects, filters) o the manner in which those components are packaged and interact with one another Extra-functional properties Should address how the design architecture achieves requirements for o Performance o Capacity o Reliability o Security o Adaptability o Other system characterstics Families of related Systems The architectural design should draw upon repeatable patterns that are commonly encountered in the design of families of similar systems
6. Design Patterns
A Pattern is a solution for a repeated problem within a context A Design Pattern describes a design structure that solves a particular design problem The pattern characteristics indicate the attributes of the design that may be adjusted to enable the pattern to accommodate a variety of problems. Design Pattern Template o Pattern name —describes the essence of the pattern in a short o Intent—describes the pattern and what it does o Also-known-as—lists any synonyms for the pattern o Motivation—provides an example of the problem o Applicability—notes specific design situations in which the pattern is applicable o Structure—describes the classes that are required to implement the pattern o Participants—describes the responsibilities of the classes o Collaborations—describes how the participants collaborate to carry out their responsibilities o Consequences—describes the “design forces” that affect the pattern and the potential trade-offs o Related patterns—cross-references related design patterns CS487-Week 7-Page 3
7. Modular Design
Easier to build Easier to change Easier to fix
8. Refinement
Top down design strategy Elaboration starts at high level move downwards until all essential elements of the software are refined Reveal low-level details
9. Abstraction
Abstraction enables a designer to specify procedure and data without low-level details
10. Functional Independence
Cohesion – the degree to which module performs one and only one function Coupling – the degree to which module is “connected” to other modules in the system
11. Refactoring
Process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure When software is refactored, the existing design is examined for o Redundancy o Unused design elements o Inefficient unnecessary algorithms o Poorly constructed or inappropriate data structures o any other design failure that can be corrected to yield a better design
12. Architectural Design
An early stage of the System design process and represents link between specification and design process. Involves identifying major system components and their communication and is often carried out in parallel with some specialization activities. Advantages of explicit architecture o Stakeholder communication o System analysis CS487-Week 7-Page 4
o Large-scale reuse Architecture and System characteristics o Performance o Security o Safety o Availability o Maintainability Three organizational styles are widely used: o A shared data repository style (The repository model) o A shared services and servers style (Client Server) o An abstract machine or layered style (layered) Modular Decomposition styles o OO o Pipe and filter Control Styles o Centralized control (call return model) o Event-based control (Broadcast Model)
13. Component Level Design
Occurs after the first iteration of the architecture design and translates the design model into operational software Establishes the algorithmic details required to manipulate data structures, defining component interfaces and implementing the processing algorithm for each component
14. User Interface Design
Provides different interaction styles and introduces usability attributes and system approaches to system evaluation User Interface Design Models o User model — a profile of all end users of the system o Design model — a design realization of the user model o Implementation model — the interface “look and feel” coupled with supporting information that describe interface syntax and semantics Design Issues o Response Time o Help Facilities o Error Handling o Menu and Command Labeling o Application Accessibility o Internationalization