ITEC 3010 Systems Analysis and Design, I - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

ITEC 3010 Systems Analysis and Design, I

Description:

Interactions are called messages. Correspond to method calls in programming language ... For next lecture: Chapter 12 'Use Case Realizations' Thank you ! ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 42
Provided by: Petr97
Category:
Tags: itec | analysis | cards | design | in | messages | systems | thank | to | write | you

less

Transcript and Presenter's Notes

Title: ITEC 3010 Systems Analysis and Design, I


1
ITEC 3010 Systems Analysis and Design,
I LECTURE 9 Object-Oriented Design
Prof. Peter Khaiter
2
Topics
  • Object-Oriented Design
  • Object-Oriented Architectural Design
  • Component Diagrams
  • Deployment Diagrams
  • Object-oriented Design Process
  • Design Classes
  • Fundamental Design Principles

3
Object-Oriented DesignThe Bridge Between
Analysis and Programming
  • Bridge between users requirements and new
    systems programming
  • Object-oriented design is process by which
    detailed object-oriented models are built
  • Programmers use design to write code and test new
    system
  • User interface, network, controls, security, and
    database require design tasks and models

4
Overview of Object-Oriented Programs
  • Set of objects that cooperate to accomplish
    result
  • Object contains program logic and necessary
    attributes in a single unit
  • Objects send each other messages and collaborate
    to support functions of main program
  • OO systems designer provides detail for
    programmers
  • Design class diagrams, interaction diagrams, and
    some state machine diagrams

5
Object-Oriented Event-Driven Program Flow
6
Object-Oriented Design Processes and Models
  • Diagrams developed for analysis/requirements
  • Use case diagrams, use case descriptions and
    activity diagrams, domain model class diagrams,
    and system sequence diagrams
  • Diagrams developed for design
  • Component diagrams and Deployment diagrams
  • Interaction diagrams and package diagrams
  • Design class diagrams

7
Design Models with Their Respective Input Models
8
Object-Oriented Architectural Design
  • Desktop system
  • Enterprise-level system
  • Network or client/server system
  • Internet based system

9
Differences between network and Internet systems
10
Component Diagrams and Architectural Design
  • Component Diagram
  • Shows overall system architecture
  • API is the set of all public methods available in
    the component
  • Ports and Sockets define the interface
  • Frameset notation to extend UML notation
  • Used to describe web components

11
Component Diagram Notation
12
Two-layer Architectural Design of an Internet
System
13
Three-layer Architectural Design of an Internet
system
14
Sample Web Services Design
15
Deployment Diagrams
  • Deployment diagram shows physical components of a
    new system
  • Node is a physical component
  • Artifact is an executable module
  • Artifacts are components after they have been
    compiled into executables

16
Sample Deployment Diagram of an Internet System
17
Fundamental Principles of Object-Oriented
Detailed Design
  • Design class diagrams and detailed sequence
    diagrams
  • Use each other as inputs and are developed in
    parallel
  • Sequence diagrams define the interactions between
    objects in order to execute a use case.
  • Interactions are called messages
  • Correspond to method calls in programming
    language
  • Design Classes show attributes and method
    signatures

18
Sample Sequence Diagram
19
Sample Design Class
20
Sample Java Class Definition
21
Object-oriented Design Process
22
Just for Fun!
23
Design Class Symbols
  • UML does not distinguish between design class
    notation and domain model notation
  • Domain model class diagram shows conceptual
    classes in users work environment
  • Design class diagram specifically defines
    software classes
  • UML uses stereotype notation to categorize a
    model element by its characteristics

24
Standard Stereotypes Found in Design Models
25
Standard Design Classes
  • Entity design identifier for problem domain
    class
  • Persistent class exists after system is shut
    down
  • Control mediates between boundary and entity
    classes, between the view layer and domain layer
  • Boundary designed to live on systems
    automation boundary, touched by users
  • User interface and windows classes
  • Data access retrieves data from and sends data
    to database

26
Design Class Notation
  • Name class name and stereotype information
  • Attribute visibility (private or public)
    attribute name, type-expression, initial-value,
    property
  • Method signature information needed to invoke
    (or call) the method
  • Method visibility, method name, type-expression
    (return parameter), method parameter list
    (incoming arguments)?
  • Overloaded method method with same name but two
    or more different parameter lists
  • Class-level method method associated with class
    instead of each object (static or shared method),
    denoted by an underline

27
Notation Used to Define a Design Class
28
Design Class Definitions
  • Overloaded method a method with one name but
    different parameter lists
  • Class-level method a method associated with the
    class rather than an object
  • Class-level attribute an attribute that
    contains the same value for all objects
  • Overridden method a method in a subclass that
    overrides the parents method
  • Abstract class a class that is never
    instantiated
  • Concrete class a normal class with objects

29
Sample Class Diagram with Design Classes and
Inheritance
30
Developing the First-cut Design Class Diagram
  • Elaborate the attributes
  • Visibility, Type cast, Initial values
  • Navigation Visibility
  • Ability to reference the methods of another
    object

31
Navigation Visibility
32
Navigation Visibility Guidelines
  • One-to-many with superior to subordinate. The
    visibility goes from the superior to the
    subordinate
  • Mandatory relationships for existence. Visibility
    goes from independent to dependent
  • Object needs information from another object.
    Visibility goes to object with the information
  • Navigational arrows may be bidirectional

33
First Cut Class Diagram for RMO
34
Detailed Design with CRC cards
  • Class-Responsibility-Collaboration
  • Design process
  • Select a single use case
  • Identify class with primary responsibility
  • Identify other classes that collaborate with
    primary class (become requests for service to
    other classes)?
  • Identify responsibilities within each class
    (these become methods)?

35
CRC Card Notation
36
CRC Card Set for Process new order
37
Updated Design Class Diagram withVisibility and
Methods
38
Some Fundamental Design Principles
  • Encapsulation each object is self-contained
    unit that includes data and methods that access
    data
  • Object reuse designers often reuse same classes
    for windows components
  • Information hiding data associated with object
    is not visible to outside world

39
Some Fundamental Design Principles (continued)
  • Coupling qualitative measure of how closely
    classes in a design class diagram are linked
  • Number of navigation arrows in design class
    diagram or messages in a sequence diagram
  • Loosely coupled system is easier to understand
    and maintain
  • Cohesion qualitative measure of consistency of
    functions within a single class
  • Separation of responsibility divide low
    cohesive class into several highly cohesive
    classes
  • Highly cohesive system is easier to understand
    and maintain and reuse is more likely

40
Some Fundamental Design Principles (continued)?
  • Protection from variations parts of a system
    that are unlikely to change are segregated from
    those that will
  • Indirection an intermediate class is placed
    between two classes to decouple them but still
    link them
  • Object responsibility Objects are responsible
    for system processing
  • Responsibilities include knowing and doing

41
Readings
Todays lecture Chapter 11 Object-Oriented
Design For next lecture Chapter 12 Use
Case Realizations
Thank you !!!
Write a Comment
User Comments (0)
About PowerShow.com