The Road Map. SE203b: OO Design for Software Engineers. W8: OO Design Approach

Size: px
Start display at page:

Download "The Road Map. SE203b: OO Design for Software Engineers. W8: OO Design Approach"

Transcription

1 SE203b: OO Design for Software Engineers W8: OO Design Approach Statechart,, Activity, Components & Node Diagrams Architectural frameworks Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa The Road Map Introduction to Software Design Software Design Approaches Introduction to OO Paradigm Software Design with OO Paradigm Patterns in Design and Architecture Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 2

2 OO Software Requirements & Design Process Requirement capture using Use Cases Use Case Diagrams Use Case Description Analysis & Design Class Diagrams Data Dictionary Interaction Diagrams Statechart Diagrams Activity Diagrams Implementation Deployment Architecture-centric Patterns Frameworks Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 3 Workflows and s Requirements Requirements Use Case Analysis Analysis Design Design Implementation Implementation Design Deployment Implementation Test Test Test Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 4

3 Use Case Diagram Captures system functionality as seen by users Built in early stages of development Purpose Specify the context of a system Capture the requirements of a system Validate a system s architecture Drive implementation and generate test cases Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 5 Class Diagram Captures the vocabulary of a system Built and refined throughout development Purpose Name and model concepts in the system Specify collaborations Specify logical database schemas Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 6

4 Sequence Diagram Captures dynamic behavior (time-oriented) Purpose flow of control Illustrate typical scenarios Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 7 Some Reusable OO Design Patterns Façade Adapter Composite Proxy Observer Abstract Factory Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 8

5 Analysis & Design Use Case Use Case Diagram Class Diagrams Object Object Diagrams Diagrams Analysis & Design Depl. Impl. Test Component Component Diagrams Diagrams Deployment Deployment Diagrams Diagrams Sequence Diagrams Collaboration Diagrams Statechart Statechart Diagrams Diagrams Activity Activity Diagrams Diagrams Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 9 Statechart Diagram Captures entity behavior (event-oriented) Purpose o o object lifecycle reactive objects (user interfaces, devices, etc.) Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 10

6 States & Events At any given point in time, the system is in one state It will remain in this state until an event occurs o that causes it to change state Events invoke changes in state Final state due to a given event depends upon the initial state An event separates two states off Lamp On A transition represents a change of state in response to an event Lamp Off It is considered to occur instantaneously The label on each transition is the event that causes the change of state Special states: A black circle represents the start state A circle with a ring around it represents an end state on Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 11 Actions & Activities Events trigger operations in the state diagram Two types of operations o An action is an instantaneous operation and not interruptible i.e., its internal structure is not important to model o An activity is an operation that takes time to complete it can be interrupted on Lamp On Off / display_off On / display_on off Lamp Off Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 12

7 Basic UML Statechart Diagram Initial state State Event Ready Transition stop /ctr := 0 Final state Done stop Action Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 13 Object lifecycle - General Handling depends on specific request type Create/Initialize Create/Initialize Object Object Wait Wait for for Request Request void:offhook (); {busy = true; obj.reqdialtone(); }; Handle Handle Request Request Terminate Terminate Object Object Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 14

8 Object lifecycle and State Machines Direct mapping: Create/Initialize Object Lamp On on Wait for Event Handle Event off Lamp Off on/print( on ) off Terminate Object stop Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 15 Actions on Entry to States Entry and exit actions Entry Actions: Performed whenever the state is entered o Notation: entry/ action name o Useful when all transitions entering a state share a common action Exit Actions: Performed whenever the state is exited. o Notation: exit/ action name o Useful when all transitions leaving a state share a common action. LampOn entry/lamp.on(); exit/lamp.off(); e1 e2 Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 16

9 Order of Actions: Simple Case Exit actions prefix transition actions Entry action postfix transition actions LampOn entry/lamp.on(); exit/printf( exiting printf( exiting ); off/printf( to off ); LampOff entry/lamp.off(); exit/printf( exiting printf( exiting ); Resulting action sequence: printf( exiting ); printf( to off ); lamp.off(); off/printf( needless printf( needless ); printf( exiting ); printf( needless ); ); lamp.off(); Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 17 State ( Do ) Activities An activity is associated with a state The notation: do/ activity name It forks a concurrent thread that executes until: the activity completes or the state is exited o through an outgoing transition the activity can be a continuous operation e.g., do: display main screen Error entry/printf( error printf( error! ) do/while (true) alarm.ring(); Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 18

10 Conditions State1 Do /activity 1 Event1 [condition] /action State2 A state is often associated with the value of an object satisfying some conditions A conditions is a Boolean function of object value o e.g., the amount within predefined limits A guarded transition o a transition labeled by an event with a condition A guarded transition fires when its event occurs and the condition is true It showed as a Boolean expression in brackets following the event name e.g., insert card [readable] Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 19 Guards Conditional execution of transitions guards must be side-effect free Selling bid [value >= 200] /sell Happy bid [value < 100] /reject bid [(value >= 100) & (value < 200)] /sell Unhappy Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 20

11 State Generalization In a nested state diagram, a state in a higher-level is a form of generalization of the states in its lower level state diagram If it is in state X, it is in exactly one of the state x_1; ; x_n Y x_1 X x_n Z Transmission Neutral N F R N Stop U Forward First Second U D D Forward Reverse Third Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 21 Concurrency Aggregation concurrency A state diagram for an aggregate is a collection of state diagrams, one for each element The elements are inherently concurrent Objects can change state independently or interact Synchronization constraints are implemented by conditions in guarded transitions Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 22

12 Car Components: Example Car Ignition Accelerator Brake Transmission Transmission R Accelerator Neutral Reverse depress accel N Off On N F release accel Forward Ignition Off turn key to start [transmission in neutral] Starting release key On turn key off Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 23 Statecharts: : Recap Used to model event-driven (reactive) behavior well-suited to the server model inherent in the object paradigm Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 24

13 Activity Diagram Captures dynamic behavior (activity-oriented) Purpose o o workflows operations Transitions are caused by internal events The objective o To help understanding the flow of work (operations) that an object or component performs often associated with several classes especially concurrent activities Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 25 Kinds of Action States Action (State) Action Submachine (State) Submachine Just like their state machine counterparts (simple state and submachine state) except that transitions are caused by internal events and are taken when the step is finished, Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 26

14 Example POEmployee sortmail() delivermail() POEmployee.sortMail POEmployee. delivermail delivermail Check Out Truck Put Mail In Boxes Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 27 Activity Graph as Method All activity graphs are methods for operations Application is completely OO when all action states invoke operations POEmployee.sortMail POEmployee. delivermail POEmployee delivermail sortmail() delivermail() «realize» Check Out Truck Put Mail In Boxes Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 28

15 Coordinating Steps Initial state Final state Branch/merge Fork join Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 29 Coordinating Steps(Cont.) For modeling conventional flow chart decisions. Calculate Cost [cost < $50] [cost >= $50] Charge Account Get Authorization Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 30

16 Representing Concurrency Concurrency is shown using forks, joins and rendezvous. o o o A fork has one incoming transition and multiple outgoing transitions. The execution splits into multiple concurrent threads A join has multiple incoming transitions and one outgoing transition. The outgoing transition will be taken when all incoming transitions have occurred The incoming transitions must be triggered in separate threads If one incoming transition occurs a wait condition occurs at the join until the other transitions occur A rendezvous has multiple incoming and multiple outgoing transitions. Once all the incoming transitions occur all the outgoing transitions may occur Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 31 Example Build Frame Put On Roof Install Walls Install Foundation Inspect Install Electricity in Foundation Install Electricity In Frame Install Electricity Outside Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 32

17 Swimlanes The activity of an object might involve invocation of other ojects. The partition of activities among the existing objects can be explicitly shown using swimlanes Partitions are a grouping mechanism o Swimlanes are the notation for partitions They do not provide domain-specific semantics Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 33 Activity Diagrams an example with swimlanes Student CourseSection Receive course registration request [not ok] Check prerequisites Check special permission [not ok] [ok] [ok] Verify course not full [ok] [not ok] Complete registration Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 34

18 Coordinating Steps Synch state is inherited from state machines but used mostly in activity graphs Provides communication capability between parallel processes State machine notation Build Frame Put On Roof Install Walls Install Foundation Inspect Install Electricity in Foundation Install Electricity In Frame Install Electricity Outside Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 35 Convenience Features (Synch State) Forks and joins do not require composite states Synch states may be omitted for the common case (unlimited bound and one incoming and outgoing transition). Activity diagram notation Build Frame Put On Roof Install Walls Install Foundation Inspect Install Electricity in Foundation Install Electricity In Frame Install Electricity Outside Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 36

19 When to Use Activity Diagrams Use activity diagrams when the behavior you are modeling... does not depend much on external events mostly has steps that run to completion o rather than being interrupted by events requires object/data flow between steps is being constructed at a stage when you are more concerned with o which activities happen, rather than which objects are responsible for them (except partitions possibly) Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 37 Activity Diagrams: Recap Use Activity Diagrams for applications that are primarily control and data-driven, like business modeling rather than event-driven applications like embedded systems Purpose o workflows o operations Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 38

20 OO Software Requirements & Design Process Requirement capture using Use Cases Use Case Diagrams Use Case Description Analysis & Design Class Diagrams Data Dictionary Interaction Diagrams Statechart Diagrams Activity Diagrams Implementation Deployment Architecture-centric Patterns Frameworks Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 39 Workflows and s Requirements Requirements Use Case Analysis Analysis & Design Design Implementation Implementation Design Deployment Implementation Test Test Test Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 40

21 Use Case Use Case Diagram Class Class Diagrams Diagrams Deployment Deployment Diagrams Diagrams Object Object Diagrams Diagrams Design Analysis Depl. Impl. Test Component Component Diagrams Diagrams Sequence Sequence Diagrams Diagrams Collaboration Collaboration Diagrams Diagrams Statechart Statechart Diagrams Diagrams Activity Activity Diagrams Diagrams Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 41 Component Diagram Captures the physical structure of the implementation Components may be implemented by artifacts oo e.g., binary, executable, or or script files (such as html) component Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 42

22 Components and Classes Component is the physical implementation of a set of classes Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 43 Components and Interfaces The component realizes the interface is connected to the interface using a full realization relationship A component accesses the services of the other component through its interface Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 44

23 Component Diagram Example ShoppingSessionHome ShoppingSession <<EJBSession>> ShoppingSession CatalogHome <<EJBEntity>> Catalog CatalogHome CatalogPK CatalogPK Catalog Catalog CatalogInfo CatalogInfo Catalog ShoppingCartHome <<EJBEntity>> ShoppingCart ShoppingCart Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 45 Deployment Diagram Captures the topology of a system s hardware Shows the configuration of run-time processing elements and the software components, o processes and objects that live on them Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 46

24 Nodes and Components A component may be deployed by a node or more classes might be implemented by a component or more Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 47 Deployment Diagram Example(Cont.) Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 48

25 Deployment Diagram Example(Cont.) :Client <<browser>> :OpenSourceBrowser videostoreserver:appserver <<Session>> ShoppingSession ShoppingSession <<Entity>> Catalog Catalog <<Entity>> ShoppingCart ShoppingCart :DBServer <<database>> :VideoStoreDB Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 49 OO Software Requirements & Design Process Requirement capture using Use Cases Use Case Diagrams Use Case Description Analysis & Design Class Diagrams Data Dictionary Interaction Diagrams Statechart Diagrams Activity Diagrams Implementation Deployment Architecture-centric Patterns Frameworks Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 50

26 Architectural Patterns: : Frameworks The notion of patterns can be applied to software architecture These are called o architectural patterns, or o frameworks, or o architectural styles Each allows you to design flexible systems using components o The components are as independent of each other as possible Architectural patterns Layered View Controller (MVC) Distributed o Client Server o Broker Pipes and filters Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 51 Multi-Layer Style In a layered system, each layer communicates only with the layer immediately below it Each layer has a well-defined interface used by the layer immediately above o The higher layer sees the lower layer as a set of services A complex system can be built by superposing layers at increasing levels of abstraction It is important to have a separate layer for the UI Layers immediately below the UI layer o provide the application functions determined by the use-cases Bottom layers provide general services o e.g. network communication, database access Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 52

27 Multi-layer layer Style Example User Interface User Interface Application Logic OS Access Application Logic DB Access NW Comm. OS Access DB Access Network Communication Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 53 Example: 2-tier 2 & 3-tier 3 Architecture Graphical User Interface Application Graphical User Interface Business Object Graphical User Interface Business Object Relational Database/ External Relational Database/ External Design Patterns Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 54

28 Multi-layer layer Example Application Programs Screen Display Facilities User Account Mngt Application Programs Screen Display Facilities User Account Mngt. File System Kernel File System Kernel Typical layers in an operating system Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 55 Deployment Diagram Example(Cont.) :Client Presentation <<browser>> :OpenSourceBrowser videostoreserver:appserver Application Logic <<Session>> ShoppingSession ShoppingSession <<Entity>> Catalog Catalog <<Entity>> ShoppingCart ShoppingCart :DBServer Database <<database>> :VideoStoreDB Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 56

29 Complex Internet system Client Dynamic HTML, JavaScript, Java plug-ins, source code enhancements Server Java, C, C++, JavaScript, CGI Application Server Java, C, C++, JavaBeans, CORBA, DCOM Fulfillment System Financial System Inventory System RDBMS Server Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 57 The Multi-Layer Design Principles Divide and conquer: The layers can be independently designed Increase cohesion: Well-designed layers have layer cohesion Reduce coupling: Well-designed lower layers do not know about the higher layers the only connection between layers is through the interfaces (API) Increase abstraction: you do not need to know the details of how the lower layers are implemented Increase reusability: The lower layers can often be designed generically. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 58

30 The Multi-layer layer Design Principles Increase reuse: o You can often reuse layers built by others that provide the services you need. Increase flexibility: o you can add new facilities built on lower-level services, or replace higher-level layers. Design for portability: o All the dependent facilities can be isolated in one of the lower layers. Design for testability: o Layers can be tested independently. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 59 -View View-Controller (MVC( MVC) ) Style to separate the user interface layer from other parts of the system The main elements The model o contains the underlying classes whose instances are to be viewed and manipulated The view o contains objects used to render the appearance of the data from the model in the user interface The controller o contains the objects that control and handle the user s interaction with the view and the model The Observable design pattern is normally used to separate the model from the view Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 60

31 The MVC Architecture UI Example Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 61 MVC: : Example Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 62

32 MVC: : Example Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 63 The MVC Architecture Example viewed by actor View create and update receives actor events notify about changes Controller modify Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 64

33 The MVC Design Principles Divide and conquer: o The three components can be somewhat independently designed Increase cohesion: o The components have stronger layer cohesion by separating view and controller Reduce coupling: o The communication channels between the three components are minimal Increase reuse: o The view and controller normally make extensive use of reusable components for various kinds of UI controls Design for flexibility: o It is usually quite easy to change the UI by changing the view, the controller, or both Design for testability: You can test the application separately from the UI Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 65 Distributed Architecture Clients LAN WAN Servers Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 66

34 Client-Server & Multi-tier tier Styles There is at least one component that has the role of server o waiting for and then handling connections that has the role of client o initiating connections in order to obtain some service. A further extension is the Peer-to-Peer pattern A system composed of various software components that are distributed over several hosts. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 67 Client-Server Client1: System1: <<communication>> exchange messages System3: <<communication>> exchange messages <<communication>> exchange messages <<communication>> Request service 1 <<communication>> look up addresses Server: Peer-to-peer Client2: System2: Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 68

35 Physical Application Architecture Thinner client, thicker server Client A Application Client B Application Client C WWW Browser Business Object Services DCOM CORBA Beans Business Object Engine Business COM Object Server MTS Beans ETS Business Object Services Web Server HTML CGI ASP Business Object Services Java Business Object Engine Business Object Engine Relational Database Server(s) Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 69 The distributed architecture Design Principles Divide and conquer: o Dividing the system into client and server processes where Each can be separately developed. Increase cohesion: o The server can provide a cohesive service to clients. Reduce coupling: o There is usually only one communication channel exchanging simple messages. Increase abstraction: o Separate distributed components are often good abstractions. Increase reuse: o It is often possible to find suitable frameworks on which to build good distributed systems However, client-server systems are often very application specific Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 70

36 The distributed architecture Design Principles Design for flexibility: o can be easily reconfigured by adding extra servers or clients Design for portability: o You can write clients for new platforms without having to port the server. Design for testability: o You can test clients and servers independently. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 71 The Broker Style Transparently distribute aspects of the software system to different nodes o An object can call methods of another object without knowing that this object is remotely located o CORBA and Web-services are a well-known open standards that support borkering. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 72

37 Example of a Broker system Client Proxy object request Distributed Infrastructure Broker Server Remote Obj Subscribe Interface Repository (Registration) Publish Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 73 The Broker Architecture Design Principles Divide and conquer: o The remote objects can be independently designed. Increase reusability: o It is often possible to design the remote objects so that other systems can use them too. Increase reuse: o You may be able to reuse remote objects that others have created. Design for flexibility: o The brokers can be updated as required, or the proxy can communicate with a different remote object. Design for portability: o You can develop clients for new platforms while still accessing brokers and remote objects on other platforms. Design defensively: o You can provide careful assertion checking in the remote objects. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 74

38 The Pipe-and and-filter Framework A stream of data, in a relatively simple format, is passed through a series of processes Each of which transforms it in some way. Data is constantly fed into the pipeline. The processes work concurrently. The architecture is very flexible. o o o o Almost all the components could be removed. Components could be replaced. New components could be inserted. Certain components could be reordered. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 75 Example of a pipe-and and-filter system encoders for microphone input microphones near sound source cancel echo cancel noise remove non-voice frequencies equalize dynamic range compress transmit distant microphone encoder for ambient noise encode speaker output TCP/IP Transmission decompress receive Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 76

39 The Pipe-Filter Architecture Design Principles Divide and conquer: o The separate processes can be independently designed. Increase cohesion: o The processes have functional cohesion. Reduce coupling: o The processes have only one input and one output. Increase abstraction: o The pipeline components are often good abstractions, hiding their internal details. Increase reusability: o The processes can often be used in many different contexts. Increase reuse: o It is often possible to find reusable components to insert into a pipeline. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 77 The Pipe-Filter Architecture Design Principles Design for flexibility: o There are several ways in which the system is flexible. Design for testability: o It is normally easy to test the individual processes. Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 78

40 OO Software Requirements & Design Process Requirement capture using Use Cases Use Case Diagrams Use Case Description Analysis & Design Class Diagrams Data Dictionary Interaction Diagrams Statechart Diagrams Activity Diagrams Implementation Deployment Architecture-centric Patterns Frameworks Mar 29, 2006 SE203b, ECE UWO, Hamada Ghenniwa 79

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

UNIT-4 Behavioral Diagrams

UNIT-4 Behavioral Diagrams UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 9: Architecting and Designing Software

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 9: Architecting and Designing Software Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 9: Architecting and Designing Software 9.1 The Process of Design Definition: Design is a problem-solving process

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Recap 1 to 5 Chapters 1. UML Notation 1. Use Case 2. Class Diagrams 3. Interaction or Sequence Diagrams 4. Machine or State Diagrams 5. Activity Diagrams

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman CS314, Colorado State University Software Engineering Notes 4: Principles of Design and Architecture for OO Software Focus: Determining the Overall Structure of a Software System Describes the process

More information

Software Architecture Patterns

Software Architecture Patterns Software Architecture Patterns *based on a tutorial of Michael Stal Harald Gall University of Zurich http://seal.ifi.uzh.ch/ase www.infosys.tuwien.ac.at Overview Goal Basic architectural understanding

More information

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

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)

More information

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

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour 8.1 Interaction Diagrams Interaction diagrams are used to model the

More information

6 Identify Design Elements

6 Identify Design Elements 6 Identify Design Elements 1 2 3 Identify Design Elements in Context [Early Elaboration Iteration] [Inception Iteration (Optional)] Define a Candidate Architecture Perform Architectural Synthesis Analyze

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

Interactions A link message

Interactions A link message Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between

More information

XVIII. Software Architectures

XVIII. Software Architectures XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

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

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

XIX. Software Architectures

XIX. Software Architectures XIX. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

More information

8.1 Interaction Diagrams. Object-Oriented Software Engineering Practical Software Development using UML and Java. Interactions and messages

8.1 Interaction Diagrams. Object-Oriented Software Engineering Practical Software Development using UML and Java. Interactions and messages 8.1 Interaction Diagrams Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour Interaction diagrams are used to model the

More information

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns

Design Patterns. Observations. Electrical Engineering Patterns. Mechanical Engineering Patterns Introduction o to Patterns and Design Patterns Dept. of Computer Science Baylor University Some slides adapted from slides by R. France and B. Tekinerdogan Observations Engineering=Problem Solving Many

More information

Basic Properties of Styles

Basic Properties of Styles Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 18 Enterprise Styles/Patterns (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo Basic

More information

State Machine Diagrams

State Machine Diagrams State Machine Diagrams Introduction A state machine diagram, models the dynamic aspects of the system by showing the flow of control from state to state for a particular class. 2 Introduction Whereas an

More information

10조 이호진 이지 호

10조 이호진 이지 호 10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.

More information

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

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

More information

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit

More information

Architecture and the UML

Architecture and the UML Architecture and the UML Models, Views, and A model is a complete description of a system from a particular perspective Use Case Use Case Sequence Use Case Use Case Use Case State State Class State State

More information

09. Component-Level Design

09. Component-Level Design 09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a

More information

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

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH Enterprise Architect User Guide Series UML Models Author: Sparx Systems Date: 30/06/2017 Version: 1.0 CREATED WITH Table of Contents UML Models UML Diagrams UML Structural Models Class Diagram Composite

More information

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

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior CS 307: Software Engineering Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person

More information

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa

SOFTWARE MODELING AND DESIGN. UML, Use Cases, Patterns, and. Software Architectures. Ki Cambridge UNIVERSITY PRESS. Hassan Gomaa SOFTWARE MODELING AND DESIGN UML, Use Cases, Patterns, and Software Architectures Hassan Gomaa George Mason University, Fairfax, Virginia Ki Cambridge UNIVERSITY PRESS Contents Preface P"U

More information

Behavioral Modeling. Gregor v. Bochmann, University of Ottawa

Behavioral Modeling. Gregor v. Bochmann, University of Ottawa SEG3101 (Fall 2010) Behavioral Modeling Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher with material from: K.E. Wiegers, D. Leffingwell & D. Widrig, M. Jackson,

More information

Activity Diagram Written Date : September 02, 2016

Activity Diagram Written Date : September 02, 2016 Written Date : September 02, 2016 s describe how activities are coordinated to provide a service which can be at different levels of abstraction. Typically, an event needs to be achieved by some operation,

More information

New Features Summary PowerDesigner 15.2

New Features Summary PowerDesigner 15.2 New Features Summary PowerDesigner 15.2 Windows DOCUMENT ID: DC10077-01-1520-01 LAST REVISED: February 2010 Copyright 2010 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Modified by: Dr. Ramzi Saifan Definition of a Distributed System (1) A distributed

More information

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

Software Engineering. Page 1. Objectives. Object-Behavioural Modelling. Analysis = Process + Models. Case Study: Event Identification Software Engineering Object-Oriented Analysis (State and Interaction Diagrams) James Gain (jgain@cs.uct.ac.za) http://people.cs.uct.ac.za/~jgain 1. Show the object-behaviour design process Objectives 2.

More information

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

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

Architectural Styles II

Architectural Styles II Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66

More information

Software Components and Distributed Systems

Software Components and Distributed Systems Software Components and Distributed Systems INF5040/9040 Autumn 2017 Lecturer: Eli Gjørven (ifi/uio) September 12, 2017 Outline Recap distributed objects and RMI Introduction to Components Basic Design

More information

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

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

Architectural Blueprint

Architectural Blueprint IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint

More information

An Introduction to Software Architecture. David Garlan & Mary Shaw 94

An Introduction to Software Architecture. David Garlan & Mary Shaw 94 An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data

More information

Enterprise Web based Software Architecture & Design

Enterprise Web based Software Architecture & Design IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark class discussions Enterprise Web based

More information

Software Architecture

Software Architecture Software Architecture Lecture 5 Call-Return Systems Rob Pettit George Mason University last class data flow data flow styles batch sequential pipe & filter process control! process control! looping structure

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling.

UP Requirements. Software Design - Dr Eitan Hadar (c) Activities of greater emphasis in this book. UP Workflows. Business Modeling. UP Requirements UP Workflows Business Modeling Requirements Analysis and Design Implementation Test Deployment Configuration & Change Management Project Management Environment Iterations Activities of

More information

Enterprise Software Architecture & Design

Enterprise Software Architecture & Design Enterprise Software Architecture & Design Characteristics Servers application server, web server, proxy servers etc. Clients heterogeneous users, business partners (B2B) scale large number of clients distributed

More information

Distributed Objects. Object-Oriented Application Development

Distributed Objects. Object-Oriented Application Development Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming

More information

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc. Chapter 1 GETTING STARTED SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: The IDE: Integrated Development Environment. MVC: Model-View-Controller Architecture. BC4J: Business Components

More information

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p.

Implementing a Web Service p. 110 Implementing a Web Service Client p. 114 Summary p. 117 Introduction to Entity Beans p. 119 Persistence Concepts p. Acknowledgments p. xvi Introduction p. xvii Overview p. 1 Overview p. 3 The Motivation for Enterprise JavaBeans p. 4 Component Architectures p. 7 Divide and Conquer to the Extreme with Reusable Services

More information

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/58 Definition Distributed Systems Distributed System is

More information

Introduction to UML. Danang Wahyu utomo

Introduction to UML. Danang Wahyu utomo Introduction to UML Danang Wahyu utomo danang.wu@dsn.dinus.ac.id 085 740 955 623 Evolution of OO Development Methods History of OOAD leading to UML Why Model? Analyse the problem domain - Simplify reality

More information

Design concepts for data-intensive applications

Design concepts for data-intensive applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Design concepts for data-intensive applications Attila Adamkó Department of Information Technology, Institute of

More information

Distribution and Integration Technologies

Distribution and Integration Technologies Distribution and Integration Technologies Distributed Architectures Patterns and Styles 1 Distributed applications infrastructure ISP intranet wireless backbone desktop computer: server: laptops: tablets:

More information

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Oracle Fusion Middleware 11g: Build Applications with ADF Accel Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware

More information

UML 2.0 State Machines

UML 2.0 State Machines UML 2.0 State Machines Frederic.Mallet@unice.fr Université Nice Sophia Antipolis M1 Formalisms for the functional and temporal analysis With R. de Simone Objectives UML, OMG and MDA Main diagrams in UML

More information

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

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

An Introduction to Software Architecture By David Garlan & Mary Shaw 94

An Introduction to Software Architecture By David Garlan & Mary Shaw 94 IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion An Introduction to

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization OBJECT ORIENTED DESIGN with the Unified Process Use Case Realization Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop detailed sequence diagrams

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004

Middleware. Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Middleware Adapted from Alonso, Casati, Kuno, Machiraju Web Services Springer 2004 Outline Web Services Goals Where do they come from? Understanding middleware Middleware as infrastructure Communication

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Unit Wise Questions. Unit-1 Concepts

Unit Wise Questions. Unit-1 Concepts Unit Wise Questions Unit-1 Concepts Q1. What is UML? Ans. Unified Modelling Language. It is a Industry standard graphical language for modelling and hence visualizing a blue print of all the aspects of

More information

Architectural Styles - Finale

Architectural Styles - Finale Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles - Finale Reid Holmes Lecture

More information

Business Process Modeling. Version 25/10/2012

Business Process Modeling. Version 25/10/2012 Business Process Modeling Version 25/10/2012 Maurizio Morisio, Marco Torchiano, 2012, 2013 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML Class

More information

UNIT V *********************************************************************************************

UNIT V ********************************************************************************************* Syllabus: 1 UNIT V 5. Package Diagram, Component Diagram, Deployment Diagram (08 Hrs, 16 Marks) Package Diagram: a. Terms and Concepts Names, Owned Elements, Visibility, Importing and Exporting b. Common

More information

Business Process Modeling. Version /10/2017

Business Process Modeling. Version /10/2017 Business Process Modeling Version 1.2.1-16/10/2017 Maurizio Morisio, Marco Torchiano, 2012-2017 3 BP Aspects Process flow Process modeling UML Activity Diagrams BPMN Information Conceptual modeling UML

More information

OO Using UML: Dynamic Models

OO Using UML: Dynamic Models OO Using UML: Dynamic Models Defining how the objects behave Overview The object model describes the structure of the system (objects, attributes, and operations) The dynamic model describes how the objects

More information

Software. Networked multimedia. Buffering of media streams. Causes of multimedia. Browser based architecture. Programming

Software. Networked multimedia. Buffering of media streams. Causes of multimedia. Browser based architecture. Programming 1 Software Networked multimedia Introduction Browser based software architecture Distributed software Servers Network Terminals User interface Middleware Communications Network multimedia can be defined

More information

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. Introduction p. xxi Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p. 7 Understanding UML Diagrams p. 10 Visual Modeling

More information

02 - Distributed Systems

02 - Distributed Systems 02 - Distributed Systems Definition Coulouris 1 (Dis)advantages Coulouris 2 Challenges Saltzer_84.pdf Models Physical Architectural Fundamental 2/60 Definition Distributed Systems Distributed System is

More information

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

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification Object Oriented Design Part 2 Analysis Design Implementation Program Design Analysis Phase Functional Specification Completely defines tasks to be solved Free from internal contradictions Readable both

More information

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

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

In this Lecture you will Learn: System Design. System Architecture. System Architecture

In this Lecture you will Learn: System Design. System Architecture. System Architecture In this Lecture you will Learn: System Design Chapter 13 The major concerns of system design The main aspects of system architecture, in particular what is meant by subdividing a system into layers and

More information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

More information

Distributed Multitiered Application

Distributed Multitiered Application Distributed Multitiered Application Java EE platform uses a distributed multitiered application model for enterprise applications. Logic is divided into components https://docs.oracle.com/javaee/7/tutorial/overview004.htm

More information

XVIII. Software Architectures

XVIII. Software Architectures XVIII. Software Architectures Software Architectures Subsystems, Modules and Connectors Pipes and Filters, Object-Oriented, Layered, Event-Driven, Repository-Based Architectures Client Server Architectures

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software Architecture by Tao et al. (Chapters 6 and 7) 1

More information

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan. Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan Reading List Remote Object Invocation -- Tanenbaum Chapter 2.3 CORBA

More information

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title

Notes. Submit homework on Blackboard The first homework deadline is the end of Sunday, Feb 11 th. Final slides have 'Spring 2018' in chapter title Notes Ask course content questions on Slack (is651-spring-2018.slack.com) Contact me by email to add you to Slack Make sure you checked Additional Links at homework page before you ask In-class discussion

More information

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) Sample Deployment diagram Component diagrams are different in

More information

Announcements. me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris

Announcements.  me your survey: See the Announcements page. Today. Reading. Take a break around 10:15am. Ack: Some figures are from Coulouris Announcements Email me your survey: See the Announcements page Today Conceptual overview of distributed systems System models Reading Today: Chapter 2 of Coulouris Next topic: client-side processing (HTML,

More information

Evolution of Service Oriented Architectures

Evolution of Service Oriented Architectures Evolution of Service Oriented Architectures Rushikesh K. Joshi Department of Computer Science & Engineering Indian Institute of Technology Bombay Email: rkj@cse.iitb.ac.in R.K.Joshi IIT Bombay 1 The Plan

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK SUBJECT CODE / NAME: IT1402-MIDDLEWARE TECHNOLOGIES YEAR/SEM : IV / VII UNIT

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

Meltem Özturan

Meltem Özturan Meltem Özturan www.mis.boun.edu.tr/ozturan/samd 1 2 Modeling System Requirements Object Oriented Approach to Requirements OOA considers an IS as a set of objects that work together to carry out the function.

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80

More information

FREQUENTLY ASKED QUESTIONS

FREQUENTLY ASKED QUESTIONS Borland Together FREQUENTLY ASKED QUESTIONS GENERAL QUESTIONS What is Borland Together? Borland Together is a visual modeling platform that enables software teams to consistently deliver on-time, high

More information

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 6, System Design Lecture 1

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 6, System Design Lecture 1 Object-Oriented Software Engineering Conquering Complex and Changing Systems Chapter 6, System Design Lecture 1 Design There are two ways of constructing a software design: One way is to make it so simple

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

1.264 Lecture 16. Legacy Middleware

1.264 Lecture 16. Legacy Middleware 1.264 Lecture 16 Legacy Middleware What is legacy middleware? Client (user interface, local application) Client (user interface, local application) How do we connect clients and servers? Middleware Network

More information

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models

POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models POAD Book: Chapter 4: Design Patterns as Components Chapter 5: Visual Design Models Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU Outline Chapter 4: Design Patterns

More information

Software Architecture

Software Architecture Software Architecture Definitions http://www.sei.cmu.edu/architecture/ published_definitions.html ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software- Intensive Systems

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Distributed Middleware. Distributed Objects

Distributed Middleware. Distributed Objects Distributed Middleware Distributed objects DCOM CORBA EJBs Jini Lecture 25, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy. Lecture 25, page 2 Distributed

More information

Software MEIC. (Lesson 4)

Software MEIC. (Lesson 4) Software Architecture @ MEIC (Lesson 4)! Last class The Architecture Influence Cycle The AIC applied to Fénix Today Revisiting the definition of Software Architecture How to describe a Software Architecture

More information

Chapter 13: Architecture Patterns

Chapter 13: Architecture Patterns Chapter 13: Architecture Patterns SAiP Chapter 13 J. Scott Hawker/R. Kuehl p. 1 Len Bass, Paul Clements, Rick Kazman, Topics What is a Pattern? Pattern Catalog Module patterns Component and Connector Patterns

More information