Communications Software Engineering Design Model



Similar documents
D50: Advances in Software Engineering Design Model

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

Auto Attendant User Guide

Feature Reference. Features: Call Forwarding Call Waiting Conference Calling Outbound Caller ID Block Last Call Return Voic

Using UML Part Two Behavioral Modeling Diagrams

How To Use A 9608 Phone On A Cell Phone On Sim Sims 2 (Satellite) On A Sims 3 (Cell Phone) On An Iphone Or Ipad Or Ipa 2 (Cellphone) On Sims 4

TABLE: The 2420 Telephone Components

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

Compliance and Requirement Traceability for SysML v.1.0a

Printed in China. Issue 4 AT&T 12/11. Message Guard is a registered trademark of Advanced American Telephones.

For customers in AL, FL, GA, KS, SC, TN. wowforbusiness.com MATRIX USER GUIDE. For Cisco SPA504 & SPA509 IP Phones MGCP.U.1304.O

Quick start guide to your IP phone

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Voice Mail User Guide

Polycom SoundPoint 650 Quick Guide

Home Phone Call Forward Guide

Quick start guide to your IP phone

Optus VoIP IP Handset Quick Start Guide.

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

VOIP PHONE SYSTEM USER GUIDE

Optus VoIP IP Handset Quick Start Guide.

Architecture Design & Sequence Diagram. Week 7

Model SPA 303G Quick Start Guide

UML Tutorial: Sequence Diagrams.

Hosted PBX End User Training Guide For the Polycom Soundpoint IP 321, 331 and 335 Phone

VOCALISER USER INSTRUCTIONS. Pyronix Ltd OCTOBER RINS113 Issue 2

Cisco Model SPA 303 Quick Start Guide

User s manual. Corded telephone. w w w.v t e c h c a n a d a. c o m. Big Button Big Display. Model:CD1281 DIR CID

Dialog 4220 Lite/Dialog 4222 Office

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

USER GUIDE. Cisco Small Business Pro. SPA 500 Series IP Phones Models 504G, 508G, and 509G. Provided by

[1] [2]

Connect to telephone. Connect to wall jack

Manufactures of: All. Dallas Delta Corporation Pty.Ltd. Pty.Ltd. 102 Albert St. East Brunswick, 3057 Vic. Tel: Fax:

Cisco IP Phone 7960 / 7940 Quick Reference Guide

HELPFUL HINTS FOR VOIP PHONES

Snom Phone Quick Start Guide

System Modeling / Class Diagra Diagr m a Week 6

2420 Digital Telephone Instruction Booklet

Process Modeling using BPMN 2.0

User Guide. IP Multimedia 1110, 1120, 1140 & 1150 phones

AVAYA 9608/9611G SIP DESKPHONE INSTRUCTIONS

AVAYA 9608 & 9611G IP DESKPHONE INSTRUCTIONS

RING CYCLES ADMINISTRATIVE LINE FEATURES. AUTO DIAL Electronic Sets: 1. To program, press AUTO DIAL key 2. Dial number to be stored

SYMETRIX SOLUTIONS: TECH TIP February 2014

2 line (1 symbol, 1 display) / 16 character display

Using your VOIP Phone

Cisco IP Phone 7960G and Cisco IP Phone 7940G for Cisco IOS Telephony Services

2 Session buttons. 1 Phone Screen

Polycom SoundPoint IP 650

User Guide. for the. Coral. Phone System. and. T3 Voice Mail System

Chap 1. Introduction to Software Architecture

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Polycom 2-Line Desk Phone Quick Reference Guide

Ipiphony Phone System. User Manual. 1 P a g e

Quick Start Guide Cisco 7940/7960 IP Telephone

VWCC Cisco Phone Users Guide New Phone setup and configuration guide Version 1.4

Avaya 9608 IP Phone Quick Reference User Guide

Cisco SPA 525G. Quick Start guide. Business

Telephone Training Guide

Table Of Contents. Installation and Safety. Cisco IP Phone 7960 Features. Cisco IP Phone 7960 Operation. Conference Calls

User s manual. ML17929 Two-line corded telephone with caller ID/call waiting

BCT Communication Systems Inc.

This service allows you to talk to the 3rd party before transferring the original called party to them. To use Attended Call transfer:

IP Phone System: Cisco 7960G and 7940G

Cisco SPA 500 Series IP Phones

Polycom Conference Phone Quick Reference Guide ACC-1144 PUG

Weave Phone User Guide (VVX 310)

InSciTek Microsystems 635 Cross Keys Park Fairport, NY Setting up Your Phones

OneSolutions Hosted IP PBX Cisco IP Phone Training

Featuring the Vertical Xcelerator IP Phone System DESK PHONE USER GUIDE V1.5

PLAN B. Call Forwarding Allows you to redirect all calls to another telephone number.

1. Open a web browser and navigate to:

Information Systems Cisco 7940/7942 IP Phone Quick Reference Guide

TalkBroadband TM Quick Feature Guide

Quick Reference Guide For Partner ACS R5 System Programming

Manual Business Connect

Information Systems Cisco 7965 IP Phone Quick Reference Guide

KCU-02 Monitor. Software Installation User Manual. For Windows XP and Windows 7

IP Office 3.0 Intuity Emulation Mode Mailbox Users Guide

CPS122 Lecture: State and Activity Diagrams in UML

Guide to using your CISCO IP 6941 phone at Imperial College

Phon TM, an answering machine for your fixed line

Cisco IP Phone 7942 User Training Guide

ISDN 970 Telephone USER MANUAL. Copyright 1999 Lucent Technologies Inc. All rights reserved. Printed in Mexico. Issue L


IP Telephony. United Nations Office at Geneva

Citynet Telephone Features

Personal USB VoIP Gateway User s Guide

i. Node Y Represented by a block or part. SysML::Block,

USER GUIDE. Cisco Small Business. SPA 303 IP Phone for 8x8 Virtual Office

A UML Introduction Tutorial

CISCO IP PHONE 6945 Series User Guide

3102 Business Telephone Guide for 3Com Asterisk. Part Number Rev AB Published January

DPH-50U VoIP USB Phone Adapter Quick User Guide

Cisco IP Phone Training. covers Cisco 7945 & 7965 model phones and general phone usage

IP Office 9508 Telephone Quick Guide

User Guide. IP Multimedia m6350 Client

NGT Hosted Digital Voice. User Guide

Transcription:

Communications Software Engineering Design Model Wolfgang Emmerich 1 Lecture Overview Relationship between analysis and design Stages of design Impact of implementation environment Definition of sequence diagrams Sequence diagrams for use cases Creation of class interfaces State diagrams 2

Stages of Development Process User Reqs System Reqs Detailed Design Coding System Integr. Archit. Design Pre-Prod. Test Project and Risk Management System Management Version and Configuration Management Quality Management 3 Producing a Design Model Inputs Actions 16 Identify implementation environment 17 Model initial design class diagram 18 Design control flow 19 Define class interfaces 20 Model classes state diagram 21 Finalise design class diagram Outputs Notations 4

Design Model Contents Inputs: Requirements specifications relating to implementation environment Analysis model class diagram Use case descriptions Notations introduced: sequence diagram state diagram Outputs: sequence diagrams [diagram x use case] state charts [diagram x class] complete design model class diagram 5 Implementation Environment Factors Target operating system Programming language Deployed UIMS Available system integration mechanisms Underlying DBMS Available reuse libraries Non-functional requirements Development process Analysis Design Impl. Env. 6

Changes for Environment Add, delete, or change classes (OOSE blocks) Change associations, e.g. extensions to stimuli inheritance to delegation Analysis Design Impl. Env. 7 Analysis & Design Models in UML Analysis Model: Design Model: logical, conceptual, frozen a practical abstraction 8

Objectives of Class Diagram Design Encapsulation at architectural level to provide cohesive packages Normalisation of class structure to provide implementable interfaces with low coupling 9 Initial Stages of Design???? Translate from analysis model Adapt to environment and revise Design of control flow 10

Deposit Package in Design Model Deposit << interface >> Receipt button << interface >> Crate slot << interface >> << control >> Deposit Item Receiver << entity >> Receipt basis << entity >> Deposit Item Name: String Deposit value: ECU Daily total: Integer << interface>> Receipt printer::printer << control >> Alarm::Alarmist << interface >> Can slot Customer Panel Create () setvalue (integer) Increment () << interface >> Bottle slot << entity >> Can << entity >> Bottle << entity >> Crate 11 Sequence Diagrams in UML Shows interactions among a set of objects in temporal order Objects appear as vertical lines Events marked by labelled horizontal (or slopped) lines 12

Sequence Diagram Notation :CustomerPanel synchronous Message (remote) procedure call Name Object Type :DepositItem Receiver :ReceiptBasis can:deposititem item() exists() insert() printreceipt() object activation asynchronous lifeline message object deletion 13 Returning Item (Skeleton) System border cp:customer panel rcv:deposit item receiver rcpt:receipt basis di:deposit item Time 14

Returning Item (Skeleton + Operations) cp:customer panel rcv:deposit item receiver rcpt:receipt basis di:deposit item Customer presses start button Sensors activated DO New deposit item is inserted Measure/check if this kind of item is acceptable NoReceived:=NoReceived+1 IF found THEN create a new daily Amount:= daily Amount+1 WHILE items are deposited 15 Returning Item (+ Stimuli) cp:customer panel rcpt:receipt basis di:deposit item Customer presses start button Sensors activated start() activate() rcv:deposit create() item receiver DO New deposit item is inserted Measure/check if this kind of item is acceptable NoReceived:=NoReceived+1 IF not found THEN create a new daily Amount:= daily Amount+1 new item() item() exists () insertitem (Item) incr() WHILE items are deposited 16

Defining Stimuli Issues to consider : name plus minimum number of parameters same name for similar behaviour creation also by stimuli basic case designed first two types : messages inside one process signals between processes 17 Sequence Diagram Structures "Stair" decentralised "Fork " centralised for well-structured sequence of operations for variable sequence of operations 18

Sequence Diagrams & Conditions Shows general interaction pattern 0p() ob1:c1 ob3:c3 ob2:c2 Conditional shown by splitting message arrow (and return) Pre-existing objects as broken lines [x>0]foo(x) [x<0]bar(x) 19 Detailing the Design Receipt Basis insertitem(item) printon(ostream) delete ReceiptBasis itemlist: list (ReturnedItem) sum: ECU create; insertitem(deposititem); printon(ostream); delete; 20

Design elements already considered Design outputs so far : set of sequence diagrams [diagram x use case] elaborated class diagram Next steps change perspective from class outside to inside from instance to type-level of abstraction Need for further understanding of each class Development of state diagrams to define class behaviour But this can be quite complex 21 Tackling Complexity - Example A system containing four buttons (B1 - B4) and two lights (L1 - L2) Since the last powering on, if B2 has been pushed more often than B3, then L1 shall be lit. Since the last powering on, if B2 has not been pushed more often than B3, then L2 shall be lit. At no time shall more than one light be lit. If either light bulb burns out, the other bulb shall flash on and off in 2-second increments regardless of the number of B2 and B3 presses. This flashing shall cease when B4 is pressed and restart when B1 is pressed. When the malfunctioning bulb is replaced, the bulb shall cease to flash, and the system shall return to its normal operation. What is normal operation, if we don t know whether the system records B2 and B3 presses while a bulb is broken? 22

Specifying Complex Behaviours Need to formally specify behaviour of: system in use objects in system OOSE offers techniques use case diagrams, interaction diagram, state transition diagram UML provides notations use case model, sequence diagram, collaboration diagram, state diagram State diagrams provide essential means of showing how a class of objects evolves in response to external stimuli 23 Modelling of States and Transitions action stimulus (input) stimulus (output) LECTURE State of CLASS 24

Finite State Machines A formal model for states and transitions A finite state machine FSM is a five-tuple FSM=(S,A,σ, s, F) where i) ii) iii) iv) v) S, is a finite set of states A is a finite alphabet of events σ: S A -> S, a partial function of transitions s S, a start state F S, a set of ending states 25 FSM Execution Semantics An FSM configuration is an element of SxA* If FSM=(S,A,σ,s,F) is finite state machine then i) A binary relation Γ is defined on configurations by (q,w) Γ (q',w') α A : (w=aw') (s(q,a)=q') ii) Γ* defines the transitive closure of Γ. iii) A sequence of events is acceptable by the finite state machine if there is an ending state f F such that (s,w) Γ* (f,e). 26

State Transition Diagrams Graphical Notation for FSMs circle = state double circle = finishing state directed arc = transition two connected states label = input/output events hook = starting state Example: STD for Making a Phone Call idle on hook/ quiet off hook/ dial tone on hook/ quiet dial tone dial busy number/ busy tone busy dial idle number/ ringing tone connected ringing called party off hook/ connected 27 Motivation of State Diagrams Real STD system models get very complex. Reasons of complexity: STD system model by can only be in one state State is influenced by many factors All factors need to be considered leading to exponential proliferation of states and transitions State Diagrams manage complexity by Composition of states Concurrent substates Conditional transitions History states 28

State Diagrams A state diagram is a directed graph of states connected by transitions a formal specification of the behaviour of a class UML incorporates extensions to basic STDs made by Harel in his State Charts: decomposition of states default entry states concurrent states conditions on transitions 29 STATE DIAGRAM CONCEPTS Three fundamental ideas : event: state: an atomic occurrence at a point in time a period in time during which an object is waiting for an event to occur transition: a response to an external event received by an object in a certain state state A event causing transition state B 30

Basic UML State Diagram Notations NAME state variables {optional} triggered operations {optional} Typing Password password: String = entry/ set echo invisible exit/ set echo normal eventname (arguments) [condition] ^target.sendevent (arguments) / operations (arguments) {all optional} type string [valid] / logged on NAME Logged on directory: home entry/ display message 31 Composite States A composite state is composed of substates. lift receiver/ get dial tone Active DialTone Dialling Idle Connecting caller hangs up /disconnect Busy Talking Ringing 32

Equivalent STD Idle lift receiver/ get dial tone DialTone caller hangs up /disconnect caller hangs up /disconnect Dialling Connecting caller hangs up /disconnect caller hangs up /disconnect Busy Talking Ringing caller hangs up /disconnect 33 Composite States Depiction of substates can be omitted Dial tone Dial digit(n) Dialling dialednumber(num) Connected Default starting state begins at a circle Termination appears as a bullseye An event can be generated in another class using send event notation ^target.sendevent Dialling Dial digit(n) PartialDial ^dialednumber(number) 34

Concurrent Substates When a state has multiple threads of control, each concurrent substate appears as a separate region separated by swim lanes Taking D50 IN PROGRESS Attending lectures Doing tutorials finished done COMPLETE Course Work on time 35 Conditions on Transitions An optional guard [condition] may be attached to transitions after the event name lift receiver/ get dial tone Idle Active DialTone dial digit(n) Dialling Connecting dial digit(n) [incomplete] dial digit(n) [valid] /connect caller hangs up /disconnect Busy Talking Ringing 36

State Diagram for Telephone lift receiver/ get dial tone Idle caller hangs up /disconnect Active phone # DialTone do/play dial tone caller answers Pinned Talking 15 secs Invalid do/play message Busy do/play busy caller tone hangs up Timeout do/playmessage dial digit(n) dial digit(n) [invalid] 15 secs busy Dialling Connecting Ringing do/play ringing tone dial digit(n) [incomplete] dial digit(n) [valid] /connect connected 37 Recycling Machine State Diagram One state diagram for each class Example for Deposit Item Receiver: DepositItemReceiverActive Preparing ReceiptPrinting putitem ^rcpt.insertitem ^prn.print Logo Printing Accepting Items printreceipt ^rcpt.printon Ostream Computing Ostream Printing ^prn.print Receiptprinted delete 38

Advanced Concepts Activity: an ongoing operation within a state Elapsed time event: an event occuring a given time after entry into state History state: a state resumed upon reentry A A1 X secs C A2 H Y secs do/activity C 39 Role of state transitions in OOSE To increase understanding of design blocks (classes) To model the state-controlled objects, rather than the stimulus-controlled To help in the abstraction of the actual code To describe stimuli received and what happens consequently 40

Summary Design outputs: set of sequence diagrams [diagram x use case] elaborated class diagram state diagrams for classes that maintain internal states Next lecture: Study how analysis and design can be supported by tools - Computer Aided Software Engineering 41 Design Model Stages 42