What s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML

Similar documents
INF 111 / CSE 121: Announcements Quiz #3- Thursday What will it cover?

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

Software Service Engineering

Chapter : Analysis Modeling

Object-Oriented and Classical Software Engineering

UNIT-4 Behavioral Diagrams

State Machine Diagrams

Chapter 1: Programming Principles

Interactions A link message

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Chapter 1: Principles of Programming and Software Engineering

CSC 330 Object Oriented Software Design. Software Design Phase

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012

Object Fundamentals. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 2 08/30/2007

Meltem Özturan

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

UML- a Brief Look UML and the Process

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Unified Modeling Language (UML) and Modeling

Practical UML - A Hands-On Introduction for Developers

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

Practical UML : A Hands-On Introduction for Developers

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Software Architecture and Design I

Darshan Institute of Engineering & Technology for Diploma Studies

What is a Class Diagram? A diagram that shows a set of classes, interfaces, and collaborations and their relationships

What is a Class Diagram? Class Diagram. Why do we need Class Diagram? Class - Notation. Class - Semantic 04/11/51

Object Fundamentals, Part One. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009

UML Tutorial. Unified Modeling Language UML Tutorial

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Topic : Object Oriented Design Principles

IS 0020 Program Design and Software Tools

Hippo Software BPMN and UML Training

Basic Structural Modeling. Copyright Joey Paquet,

Architecture and the UML

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

Ch 1: The Architecture Business Cycle

Design Engineering. Overview

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

Computer Science for Engineers

Lecture 16: (Architecture IV)

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE. Speaking the Language of OO

COSC 3351 Software Design. An Introduction to UML (I)

Object-Oriented Design

Design Concepts and Principles

Lecture 17: (Architecture V)

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Object-Oriented Design

Unified Modeling Language

Lecture 8: Use Case -Driven Design. Where UML fits in

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Unified Modeling Language (UML) Class Diagram

Ingegneria del Software Corso di Laurea in Informatica per il Management

Lecture 13 Introduction to Software Architecture

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

Unified Modeling Language

CHAPTER 5 ARCHITECTURAL DESIGN SE211 SOFTWARE DESIGN

Architectural Blueprint

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Structured Analysis and Structured Design

Topics. Kinds of UML models. Use case modeling. Actors. Actor. Assignment of reqs to actors and use cases

Unit-4 OBJECT ORIENTED DESIGN WORKFLOW

Introduction to UML. Danang Wahyu utomo

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Introduction to Software Engineering. 5. Modeling Objects and Classes

SEEM4570 System Design and Implementation Lecture 11 UML

Object-Oriented Systems Analysis and Design Using UML

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

06. Analysis Modeling

12 Tutorial on UML. TIMe TIMe Electronic Textbook

Unit-1 INTRODUCTION 1.1 CATEGORIES OF INFORMATION SYSTEMS SYLLABUS:

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

Object-Interaction Diagrams: Sequence Diagrams UML

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

MechEng SE3 Lecture 7 Domain Modelling

Unit Wise Questions. Unit-1 Concepts

Object Oriented Methods with UML. Lecture -4

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour

Presenter: Dong hyun Park

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

Review: Cohesion and Coupling, Mutable, Inheritance Screen Layouts. Object-Oriented Design CRC Cards - UML class diagrams

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Process and data flow modeling

Object Oriented Modeling

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

SEEM4570 System Design and Implementation. Lecture 10 UML

Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India.

Interaction Modelling: Sequence Diagrams

APPENDIX M INTRODUCTION TO THE UML

Introducing the UML Eng. Mohammed T. Abo Alroos

Ali Khan < Project Name > Design Document. Version 1.0. Group Id: S1. Supervisor Name: Sir.

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

Transcription:

What s Next INF 117 Project in Software Engineering Lecture Notes -Spring Quarter, 2008 Michele Rousseau Set 6 System Architecture, UML Set 6 2 Announcements kreqs should be complete Except minor changes Make sure you show the client kstart working on Design UML Today s Class kdesign 3 Iterations ksystem Architecture kuml kteam logs due today Set 6 3 Set 6 4 Design Iterations kiteration #1: High Level Design Complete As much Detailed (modular level) Complete as possible kiteration #2: Complete Detailed Design Integration Test Plans kiteration #3: Minor changes based on feedback Note: you should begin coding after 2 nd iteration Set 6 5 System Architecture Set 6 6 1

Software Architecture: Essentials k Components What are the main parts? What aspects of the requirements do they correspond to? Where did they come from? Examples: filters, databases, GUIs, interpreters k Connections How do components communicate? Examples: procedure calls, messages, pipes, event broadcast k Constraints (including constraints on change) How is it all organized? Set 6 7 Architectural design process ksystem structuring Decompose the system into principal subsystems identify communications between them kcontrol modelling A model of the control relationships between the different parts of the system kmodular decomposition The identified sub-systems are decomposed into modules Set 6 8 Architecture Design: Advanced karchitectural styles Restrict the way in which components can be connected Prescribe patterns of interaction Promote fundamental principles Common styles: layered, client server, etc karchitecture description Boxes and arrows UML Architecture description languages Set 6 9 From Architecture to Modules k Repeat the design process Design the internal architecture of a component Define the purpose of each module the provided interface of each module the required interface of each module k Do this over and over again Until each module has a simple, well-defined internal architecture purpose provided interface required interface k Until all modules hook up Set 6 10 Some Principles krigor ensures all requirements are addressed kseparation of concerns Modularity allows work in isolation because components are independent of each other decompose a complex system into less complex sub-systems; divide & conquer (re-)use existing modules understand the system in pieces Abstraction allows work in isolation because well-defined interfaces guarantee that components will work together Set 6 12 Set 6 11 Some More Principles k Anticipation of change allows changes to be absorbed seamlessly k What makes a good module? High cohesion: all internal parts are closely related. Low coupling: modules rely on each other as little as possible Information Hiding: Each module hides its internal structure. Generality: allows components to be reused throughout the system Incrementality: allows the software to be developed with intermediate working results k Remember to document your rationale! 2

UML UML Concepts k Display the boundary of a system & its major functions using use cases and actors k Illustrate use case realizations with interaction diagrams k Illustrate scenarios with use case diagrams and sequence diagrams k Represent a static structure of a system using class diagrams k Model the behavior of objects with state transition diagrams k Reveal the physical implementation architecture with component & deployment diagrams Copyright 1997 by Rational Software Corporation Set 6 14 Diagrams in UML ka diagram is a view into a model Presented from the aspect of a particular stakeholder Provides a partial representation of the system Is (should be?) semantically consistent with other views Types of UML Diagrams Structure. (6 types) k Class diagrams k Object diagram k Package diagram k Composite structure diagram k Component diagram k Deployment Diagram Behavior. (4 types) k Activity diagram k Use Case diagram k State machine diagram k Interaction diagrams Sequence diagram Communication diagram Interaction overview diagram Timing diagram Set 6 15 If the appropriate diagram is not part of UML use it anyways Set 6 16 UML & the S/W Process (Design) Use Cases Define the system Boundaries Class Diagrams From a software perspective Show classes & how they interrelate Sequence Diagrams For Common Scenarios Pick most significant scenarios from Use Cases Use CRC cards or sequence diagrams to determine how the software should behave Class, Responsibilities, Collaborators (CRC) cards are index cards used to represent» the responsibilities of classes» interaction between the classes Package Diagrams Show large-scale organization of the system State Diagrams Used for classes with complex lifecycles Deployment Diagrams Show the physical layout of the software All of these can be used for design Set 6 17 Class Diagrams A Class Diagram describes the types of objects in the system and the various kinds of static relationships that exist among them Class Name Attributes (Name:type) Operations (Name: Parameters) Makes it easier to see the big picture Know what a class does at a glance Set 6 18 3

Attributes and Operations k Attributes Describes a property as a line of text within the class box Attribute name corresponds to the name of a field in a programming language Visibility Marker Denotes whether an attribute is Public (+) or Private (-) k Operations Actions that a class knows to carry out Corresponds to methods on a class Operation & Method are not the same thing An Operation is the procedure declaration A Method is the body of a procedure k Associations Describe the relationship between two classes Set 6 19 Example of a Class Airplane +speed: int getspeed():int setspeed(int) The diagram doesn t tell us what getspeed and setspeed do or how they do it we made some assumptions public class Airplane { public int speed; public void setspeed (int speed) { this.speed = speed; } public int getspeed() { Set 6 20 Class Diagram (Example) ( is a or is like a - polymorphism) Class Diagrams provide a static model view aggregation ( is a part of ) What shouldn t this be the final Iteration? Sequence Diagrams kone type of Interaction Diagram kalso describe the behavior of the system kdetails how operations are carried out What messages are sent when korganized according to time kobjects listed from left to right According to when they take part in the message sequence of the Set 6system Describes the Structure 21 Set 6 22 Sequence Diagrams k Represent one scenario k Describes the dynamic behavior of a system k Details how operations are carried out What messages are sent when k Good at describing the behavior of several objects within a single use case Showing collaborations between objects Describing system interaction w.r.t. time (objects ordered from L to R according to time) k Not good at precise definition of the behavior Set 6 23 Sequence Diagrams (2) Basic Elements of a Sequence Diagram k Objects Lifelines: time goes from top to bottom May be several instances of one class Boxes on lifelines show if object is active k Messages Analogous to method calls in a program Can have parameters k Special messages New shown by position of object Delete shown with a big X Return messages Self-calls Set 6 24 4

Sequence Diagrams: Terms Guards k A lifeline, represents the time that an object exists kwhen a condition must be met Represented as a vertical line. k An activation bar represents the duration of before a message is sent execution of the message krepresented by brackets on the Represented by a vertical rectangle k A message call is represented by an arrow message line [guard] between activation bars A simple message return is represented by a dashed arrow k A self call is when an object calls itself k A note is used to clarify details Represented with a dog-eared rectangle (Notes Set 6 can be put into any kind of UML diagram) 25 Set 6 26 Sequence Diagram Example: Hotel Reservation Putting them together kclass Diagrams kscenarios kuse Cases ksequence Diagrams UML is iterative & Incremental Set 6 27 khow do they all work together Set 6 28 Elevator Example: Basic Class Diagram Elevator Example: Use Case Set 6 29 Set 6 30 5

Elevator Example: Scenario k Passenger pressed floor button k Elevator system detects floor button pressed k Elevator moves to the floor k Elevator doors open k Passenger gets in and presses elevator button k Elevator doors closes k Elevator moves to required floor k Elevator doors open k Passenger gets out k Elevator doors closes Elevator Example: Sequence Diagram Set 6 31 Sequence Diagram for Serving Elevator Button Set 6 32 Elevator Example: Sequence Diagram Elevator Example: Revising the Class Diagram Sequence Diagram for Serving Door Button Set 6 33 Set 6 34 State Transition Diagrams k An event occurs at a point in time and transmits information from one object to another k An action occurs in response to an event and cannot be interrupted k An activity is an operation with certain duration that can be interrupted by another event k A guard is a logical condition placed before a transition that returns either a true or a false. Set 6 35 State Transition Diagrams: Notation kstate symbol: ktransition Symbol: State Name Actions Event / Action Set 6 36 6

Example: Simple Digital Watch k Has a display and two buttons to set it A & B Button k Watch has two modes of operation display time - hours:minutes set time two modes Set minutes. k The A button is used to select modes. Set hours On each press, the mode advances in sequence: display set hours set minutes display etc. Within the sub modes, the B button is used to advance the hours or minutes once each time it is pressed. k Buttons must be released before they can generate another event. State Transition EX: Digital Watch Set 6 37 Set 6 38 Activity Diagrams k A flow chart with support for parallel behavior k Branches and Merges model the conditional behavior k Branch: has a single incoming transition multiple, conditional, outgoing transitions k Merge: where conditional behavior terminates Each branch has a corresponding merge k Represented as a Diamond Set 6 39 Activity Diagram (2) k Forks and Joins model parallel behavior k Fork: has a single incoming transition and multiple outgoing transitions (exhibiting parallel behavior) k Join: synchronizes the parallel behavior All parallel behaviors complete at the join Each Fork has a corresponding Join k Represented as a thick line k Conditional Thread: A condition on the thread originating from the fork to create an exception for the join rule. Set 6 40 Activity Diagram (3) ksynch State: synchronizes different activities so they make a transition to the next activity at the same time Activity Diagram: ATM Ex. kwhen to use Activity Diagrams? When modeling parallel behavior or Documenting the logic of a business process Set 6 41 Set 6 42 7