The Road Map. SE203b: OO Design for Software Engineers. W8: OO Design Approach
|
|
- Vernon Terry
- 5 years ago
- Views:
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 Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office
More informationUNIT-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 informationObject-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 informationSoftware 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 informationAppendix 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 informationDesign 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 informationSoftware 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 informationOral 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 informationObject-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 information6 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 informationCAS 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 informationInteractions 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 informationXVIII. 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 informationPresenter: 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 informationUML 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 informationObject-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 informationXIX. 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 information8.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 informationDesign 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 informationBasic 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 informationState 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 information10조 이호진 이지 호
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 informationUNIT 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 informationArchitectural 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 informationComponent-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 informationArchitecture 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 information09. 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 informationEnterprise 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 informationCS 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 informationSOFTWARE 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 informationBehavioral 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 informationActivity 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 informationNew 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 informationDISTRIBUTED 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 informationSoftware 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 informationMAHARASHTRA 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 informationArchitectural 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 informationSoftware 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 informationObjectives. 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 informationArchitectural 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 informationAn 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 informationEnterprise 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 informationSoftware 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 informationSoftware 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 informationUP 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 informationEnterprise 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 informationDistributed 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 informationChapter 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 informationImplementing 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 informationEnterprise 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 information02 - 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 informationIntroduction 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 informationDesign 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 informationDistribution 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 informationOracle 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 informationUML 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 informationMAHARASHTRA 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 informationAn 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 informationOBJECT 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 information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationMiddleware. 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 informationSoftware 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 informationUnit 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 informationArchitectural 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 informationBusiness 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 informationUNIT 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 informationBusiness 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 informationOO 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 informationSoftware. 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 informationIntroduction 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 information02 - 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 informationObject 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 informationLesson 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 informationIn 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 informationModule 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 informationDistributed 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 informationXVIII. 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 informationCAS 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 informationDistributed 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 informationNotes. 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 informationCHAPTER 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 informationAnnouncements. 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 informationEvolution 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 informationSoftware 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 informationApplication 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 informationKINGS 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 informationFor 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 informationMeltem Ö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 informationADVANCED 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 informationArchitectural 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 informationFREQUENTLY 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 informationObject-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 informationDarshan 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 information1.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 informationPOAD 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 informationSoftware 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 informationSocket 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 informationDistributed 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 informationSoftware 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 informationChapter 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