CS487_03_29_10

CS487_03_29_10 - CS487 Software Engineering I OMAR ALDAWUD...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
Software Engineering I CS487 OMAR ALDAWUD 03/29/2010 2010 Illinois Institute of Technology © Architectural Design
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Component-Level Design Component Level Design ¡ Occurs after the 1 st iteration of architectural design ¡ At this point the overall data and program structure of the software has been established ¡ Translate the design model into an operational software ¢ code like language ¢ Represent the design at a level of abstraction that is close to Code ARCHITECTURE DATA INTERFACES PROCEDURAL DESIGN
Background image of page 2
Component Design ¡ Establish the algorithmic detail required to: ¢ Manipulate data structures. ¢ Define components interfaces. ¢ Implement the processing algorithms for each component. ¡ Graphical. ¢ Flowchart. ¢ Tabular design notation. ¢ Decision table. ¡ Text. ¢ Program design language “pseudo-code.” What is a Component? ¡ OMG Unified Modeling Language Specification [OMG01] defines a component as ¢ “… a modular, deployable, and replaceable part of a system that encapsulates implementation and exposes a set of interfaces.” ¡ OO view: ¢ a component contains a set of collaborating classes ¢ Each class within a component has been fully elaborated to include: ¡ all attributes and operations that are relevant to its implementation ¡ All interfaces (messages) must be defined ¡ Conventional view: ¢ logic , the internal data structures that are required to implement the processing logic, and an interface that enables the component to be invoked and data to be passed to it
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Interfaces ¡ UML definition ¢ An Interface is a specification for the externally visible [public] operations of a class or component without specifying the internal structure …” Basic Design Principles ¡ The Open-Closed Principle (OCP). “A module [component] should be open for extension but closed for modification. Example Page 299 Fig 11.4 ¡ The Liskov Substitution Principle (LSP). “Subclasses should be substitutable for their base classes. Class should work if a class derived from the base class is passed instead of the base class “polymorphism” ¡ Dependency Inversion Principle (DIP). “Depend on abstractions. Do not depend on concretions.” ¡ The Interface Segregation Principle (ISP). “Many client-specific interfaces are better than one general purpose interface. ¡ The Release Reuse Equivalency Principle (REP). “The granule of reuse is the granule of release.” backward compatibility ¡ The Common Closure Principle (CCP). “Classes that change together belong together.” ¡ The Common Reuse Principle (CRP). “Classes that aren’t reused together should not be grouped together.” Source: Martin, R., “Design Principles and Design Patterns,” downloaded from http:www.objectmentor.com, 2000.
Background image of page 4
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Background image of page 6
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Cohesion ¡ Conventional view: ¢ the “single-mindedness” of a module ¡ OO view: ¢ cohesion implies that a component or class encapsulates only attributes and operations that are closely related to one another and to the class or component itself
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This document was uploaded on 04/23/2010.

Page1 / 30

CS487_03_29_10 - CS487 Software Engineering I OMAR ALDAWUD...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online