6 Identify Design Elements

Size: px
Start display at page:

Download "6 Identify Design Elements"

Transcription

1 6 Identify Design Elements 1

2 2

3 3

4 Identify Design Elements in Context [Early Elaboration Iteration] [Inception Iteration (Optional)] Define a Candidate Architecture Perform Architectural Synthesis Analyze Behavior Identify Design Elements Architect Refine the Architecture (Optional) Design Components Design the Database 4

5 5

6 6

7 Identify Design Elements Steps Identify classes and subsystems Identify subsystem interfaces Identify reuse opportunities Update the organization of the Design Model Checkpoints Analysis Classes 7

8 From Analysis Classes to Design Elements Analysis Classes Design Elements <<boundary>> <<control>> <<subsystem>> Subsystem <<entity>> <<boundary>> <<subsystem>> Subsystem Many-to-Many Mapping 8

9 Example: Registration Package MainStudentForm MainRegistrarForm 0..1 <<boundary>> RegisterForCoursesForm <<boundary>> CloseRegistrationForm 1 1 <<control>> RegistrationController 1 <<control>> CloseRegistrationController 9

10 Example: University Artifacts Package: Generalization <<entity>> Student <<entity>> ScheduleOfferingInfo <<entity>> FulltimeStudent <<entity>> ParttimeStudent <<entity>> PrimaryScheduleOfferingInfo 10

11 Example: University Artifacts Package: Associations <<entity>> Student 1 0..* <<entity>> Schedule 0..* 0..* <<entity>> Professor primarycourses instructor * 0..4 <<entity>> CourseOffering 0..* 1 CourseOfferingList alternatecourses * <<entity>> 0..* Course 0..* 1 Prerequisites 11

12 Example: External System Interfaces Package <<Interface>> IBillingSystem <<Interface>> ICourseCatalogSystem 12

13 Review: Subsystems and Interfaces Realizes one or more interfaces that define its behavior <<interface>> Interface Name <<subsystem>> Subsystem Name Interface Realization (Canonical form) Subsystem Interface Name Realization (Elided form) <<subsystem>> Subsystem Name 13

14 Identify Design Elements Steps Identify classes and subsystems Identify subsystem interfaces Identify reuse opportunities Update the organization of the Design Model Checkpoints 14

15 Example: Design Subsystems and Interfaces Analysis <<boundary>> BillingSystem Design <<subsystem>> Billing System //submit bill() IBillingSystem submitbill(fortuition : Double, forstudent : Student) <<boundary>> CourseCatalogSystem //get course offerings() <<subsystem>> Course Catalog System ICourseCatalogSystem getcourseofferings(forsemester : Semester, forstudent : Student) : CourseOfferingList initialize() All other analysis classes map directly to design classes. 15

16 Example: Analysis-Class-To-Design-Element Map Analysis Class CourseCatalogSystem BillingSystem All other analysis classes map directly to design classes Design Element CourseCatalogSystem Subsystem BillingSystem Subsystem 16

17 Modeling Convention: Subsystems and Interfaces <<subsystem>> CourseCatalogSystem ICourseCatalogSystem + initialize () + getcourseofferings () Interfaces start with an I <<interface>> ICourseCatalogSystem <<subsystem>> CourseCatalogSystem + getcourseofferings () + initialize () + initialize () + getcourseofferings () 17

18 Example: Subsystem Context: CourseCatalogSystem <<control>> CloseRegistrationController + // is registration open?() + // close registration() coursecatalog 1 <<Interface>> ICourseCatalogSystem Required interface defined <<control>> RegistrationController + getcurrentschedule() + deletecurrentschedule() + submitschedule() + saveschedule() + getcourseofferings() + setsession() + <<class>> new() + getstudent() + getcourseofferings ( for Semester: Semester ) + initialize () Provided interface defined <<subsystem>> CourseCatalogSystem CourseOfferingList + new() + add() + initialize () + getcourseofferings () 18

19 Example: Subsystem Context: Billing System <<control>> CloseRegistrationController + // is registration open?() + // close registration() Biller 1 <<Interface>> 1 IBillingSystem + submitbill(forstudent : Student, fortuition : double) <<entity>> Student <<subsystem>> BillingSystem + submitbill(forstudent : Student, fortuition : double) 19

20 Identify Design Elements Steps Identify classes and subsystems Identify subsystem interfaces Identify reuse opportunities Update the organization of the Design Model Checkpoints 20

21 Reuse Opportunities Internal to System? 21

22 Identify Design Elements Steps Identify classes and subsystems Identify subsystem interfaces Identify reuse opportunities Update the organization of the Design Model Checkpoints ClassB ClassC ClassD Y() Z() Y() Z() Y() Z() ClassA Y() Z() ClassC ClassE Y() Z() Y() Z() 22

23 Example: Architectural Layers <<layer>> Application <<layer>> Business Services Necessary because the Application Layer must have access to the core distribution mechanisms provided with Java RMI. <<layer>> Middleware Base Reuse global 23

24 Example: Application Layer <<layer>> Application Registration 24

25 Example: Application Layer Context <<layer>> Application <<layer>> Application Registration <<layer>> Business Services <<layer>> Business Services External System Interfaces Security University Artifacts Secure Interfaces GUI Framework 25

26 Example: Business Services Layer <<layer>> Business Services <<subsystem>> BillingSystem <<subsystem>> CourseCatalogSystem External System Interfaces ObjectStore Support GUI Framework Security <<subsystem>> Security Manager University Artifacts Secure Interfaces 26

27 Example: Business Services Layer Context <<subsystem>> BillingSystem <<layer>> Business Services <<subsystem>> CourseCatalogSystem ObjectStore Support External System Interfaces GUI Framework Security <<subsystem>> Security Manager <<layer>> Business Services University Artifacts Secure Interfaces <<layer>> Middleware <<layer>> Middleware com.odi java.sql 27

28 Example: Middleware Layer <<layer>> Middleware com.odi java.sql Map (from com.odi) Session (from com.odi) DriverManager (from com.odi) Connection (from com.odi) Transaction (from com.odi) Database (from com.odi) Statement (from com.odi) ResultSet (from com.odi) 28

29 7 RunTime Architecture 29

30 30

31 Describe the Run-time Architecture in Context [Early Elaboration Iteration] [Inception Iteration (Optional)] Define a Candidate Architecture Perform Architectural Synthesis Analyze Behavior Describe the Run-time Architecture Architect Refine the Architecture (Optional) Design Components Design the Database 31

32 32

33 33

34 Describe the Run-time Architecture Steps Analyze concurrency requirements Identify processes and threads Identify process lifecycles Map processes onto the implementation Distribute model elements among processes 34

35 35

36 36

37 37

38 38

39 39

40 40

41 41

42 42

43 43

44 Modeling the Mapping of Elements to Processes Class diagrams Active classes as processes/threads <<process>> Process Name <<thread>> Thread Name Composition relationships from processes/threads to classes <<process>> Process Name Class Name Composition relationships from processes/threads to subsystems <<process>> Process Name <<subsystem>> Subsystem Name 44

45 45

46 46

47 47

48 8 Describe Distribution 48

49 49

50 Describe Distribution Overview Software Architecture Document Supplementary Specifications Describe Distribution Deployment Model Implementation Model Design Model 50

51 Key Concepts: The Deployment View Logical View Implementation View Analysts/Designers Structure Use-Case View End-user Functionality Programmers Software management Process View Deployment View System integrators Performance, scalability, throughput System engineering System topology, delivery, installation, communication The Deployment View is an architecturally significant slice of the Deployment Model. 51

52 Review: Example: Deployment Diagram with Processes <<client workstation>> PC <<Campus LAN>> <<Campus LAN>> 1 1 <<application server>> Registration Server CourseCatalogSystemAccess CourseRegistrationProcess BillingSystemAccess 1 <<Campus LAN>> 1 <<legacy RDBMS>> Course Catalog <<legacy>> Billing System 52

53 Why Distribute? Reduce processor load Special processing requirements Scaling concerns Economic concerns Distributed access to the system 53

54 Distribution Patterns Client/Server 3-tier Fat Client Fat Server Distributed Client/Server Peer-to-peer 54

55 Client/Server Architectures Thinner client, thicker server Client A Client B Client C Application Application WWW Browser Business Object Services DCOM ADO/R CORBA Beans Business Object Engine Business Object Server Web Server COM MTS Beans ETS HTML CGI ASP Java Business Object Services Business Object Engine Business Object Services Business Object Engine Database Server(s) 55

56 Client/Server: Three-Tier Architecture Client B Application Services Application DCOM ADO/R CORBA Beans Business Object Server COM MTS Beans ETS Business Services Business Object Services Business Object Engine Database Server(s) Data Services 56

57 Client/Server: Fat Client Architecture Client A Application Services Business Services Application Business Object Services Business Object Engine Database Server(s) Data Services 57

58 Client/Server: Web Application Architecture Client C WWW Browser Web Server Application Services Business Services HTML CGI ASP Business Object Services Java Business Object Engine Database Server(s) Data Services 58

59 Peer-to-Peer Architecture Application Services Application DCOM ADO/R CORBA Beans Application DCOM ADO/R CORBA Beans Business Services COM MTS Beans ETS Business Object Services Business Object Engine COM MTS Beans ETS Business Object Services Business Object Engine Data Services 59

60 Describe Distribution Steps Define the network configuration Allocate processes to nodes Define the distribution mechanism 60

61 Describe Distribution Steps Define the network configuration Allocate processes to nodes Define the distribution mechanism 61

62 The Network Configuration End-user workstation nodes Headless" processing server nodes Special configurations Development Test Specialized processors 62

63 Review: What Is a Node? Represents a run-time computational resource Generally has at least memory and often processing capability. Types: Device Physical computational resource with processing capability. May be nested Execution Environment Represent particular execution platforms <<device>> Device Name <<device>> Sub Device Name <<exe env>> EE Name 63

64 Review: What Is a Connector? A connector represents a: Communication mechanism Physical medium Software protocol <<100-T Ethernet>> <<client workstation>> Kiosk <<application server>> Server <<RS-232>> Connector <<client workstation>> Console 64

65 Review: Example: Deployment Diagram <<client workstation>> PC <<Campus LAN>> <<Campus LAN>> 1 <<application server>> Registration Server 1 <<Campus LAN>> 1 1 <<legacy RDBMS>> Course Catalog <<legacy>> Billing System 65

66 Describe Distribution Steps Define the network configuration Allocate processes to nodes Define the distribution mechanism 66

67 Process-to-Node Allocation Considerations Distribution patterns Response time and system throughput Minimization of cross-network traffic Node capacity Communication medium bandwidth Availability of hardware and communication links Rerouting requirements 67

68 Review: Example: Deployment Diagram with Processes <<client workstation>> PC <<Campus LAN>> <<Campus LAN>> 1 1 <<application server>> Registration Server CourseCatalogSystemAccess CourseRegistrationProcess BillingSystemAccess 1 <<Campus LAN>> 1 <<legacy RDBMS>> Course Catalog <<legacy>> Billing System 68

69 What is Deployment? Deployment is the assignment, or mapping, of software artifacts to physical nodes during execution. Artifacts are the entities that are deployed onto physical nodes Processes are assigned to computers Artifacts model physical entities. Files, executables, database tables, web pages, etc. Nodes model computational resources. Computers, storage units. 69

70 Example: Deploying Artifacts to Nodes <<client workstation>> PC StudentApplication <<client workstation>> PC <<process>> StudentApplication <<client workstation>> PC <<deploy>> <<process>> StudentApplication 70

71 What is Manifestation? The physical implementation of a model element as an artifact. A relationship between the model element and the artifact that implements it Model elements are typically implemented as a set of artifacts. Source files, executable files, documentation file 71

72 Example: Manifestation <<header>> MainStudentForm <<manifest>> MainStudentForm <<source>> MainStudentForm <<manifest>> <<manifest>> <<client workstation>> PC <<deploy>> <<process>> StudentApplication 72

73 What is a Deployment Specification? A detailed specification of the parameters of the deployment of an artifact to a node. May define values that parameterize the execution 73

74 Example: Deployment Specification <<header>> MainStudentForm <<manifest>> MainStudentForm <<source>> MainStudentForm <<manifest>> <<manifest>> <<client workstation>> PC <<deploy>> <<process>> StudentApplication <<deploymentspec>> StuAppDeploy 74 execution = priority = location =

75 Describe Distribution Steps Define the network configuration Allocate processes to nodes Define the distribution mechanism 75

76 Distribution Mechanism RMI was chosen as the implementation mechanism for distribution Analysis Mechanism (Conceptual) Design Mechanism (Concrete) Implementation Mechanism (Actual) Distribution Remote Method Invocation (RMI) Java 1.2 from Sun 76

77 Design Mechanisms: Distribution: RMI Distribution characteristics Latency Synchronicity Message Size Protocol 77

78 Remote Method Invocation (RMI) (continued) One Instance per node Naming. (from java.rmi) lookup(name : String) : Remote Roles to be filled by the designer applying the mechanism Remote (from java.rmi) For all classes that realize the Remote interface, a remote stub and a remote skeleton are created. These classes handle the communication that must occur to support distribution. <<role>> SampleDistributedClassClient <<Interface>> ISampleDistributedClass dosomething(aparameter : SamplePassedData) Any Java class that you want to pass as an argument to an operation on a remote interface must realize the Serializable Interface. To "distribute" a class in Java, you must define an interface that inherits from Remote. The distributed class needs to realize the defined Remote interface and also inherit from (extend) the UnicastRemoteObject. UnicastRemoteObject (from Server) Serializable (from java.io) <<role>> SamplePassedData <<role>> SampleDistributedClass dosomething(aparameter : SamplePassedData) 78

79 Example: Incorporating RMI <<layer>> Business Services University Artifacts (from Business Services) <<layer>> Application Registration Package (from Application) <<layer>> Application <<layer>> Middleware <<layer>> Business Services java.rmi Java.io <<interface>> Serializable (from java.io) Naming (from java.rmi) <<interface>> remote Server UnicastRemote Object (from Server) <<layer>> Middleware (from java.rmi) 79

2

2 9 UC Design 1 2 3 4 5 6 7 Representing Subsystems on a Sequence Diagram Interfaces Represent any model element that realizes the interface No message should be drawn from the interface Subsystem Component

More information

DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume 2

DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume 2 IBM Rational University DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume 2 DEV475 Mastering Object-Oriented Analysis and Design with UML 2.0 Student Guide, Volume

More information

Use Case Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003

Use Case Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Use Case Design FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Copyright 1998-1999 Rational Software, all rights reserved 1 Objectives: Use-Case Design

More information

Subsystem Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003

Subsystem Design. FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Subsystem Design FROM Dr. Giuseppe Calavaro, Ratiolal TO Students in the DISP, University of Roma Tor Vergata 2003 Copyright 1998-1999 Rational Software, all rights reserved 1 Objectives: Subsystem Design

More information

18-Design. Analysis and Design Workflow. Worker Responsibilities. So what do we do next? CMPSCI520/620 Design. Rick Adrion 2003 (except where noted) 1

18-Design. Analysis and Design Workflow. Worker Responsibilities. So what do we do next? CMPSCI520/620 Design. Rick Adrion 2003 (except where noted) 1 CMPSCI520/620 8- and Workflow Readings OOAD Using the UML Copyright 994-998 Rational Software, all rights reserved Architect Architectural Architectural Describe Concurrency Describe Distribution Review

More information

Rational Unified Process

Rational Unified Process 6- Readings OOAD Using the UML Copyright 994-998 Rational Software, all rights reserved [Partly] posted Rational Unified Process The Unified Modeling Language (UML) is a language for specifying, visualizing,

More information

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering Use-Case Analysis Architecture Oriented Analysis R. Kuehl/J. Scott Hawker p. 1 Notes The slides are based on UML use-case analysis techniques This is an introduction detailed techniques and notation will

More information

Software Engineering G Session 7 - Main Theme From Analysis and Design to Software Architectures (Part II) Dr. Jean-Claude Franchitti

Software Engineering G Session 7 - Main Theme From Analysis and Design to Software Architectures (Part II) Dr. Jean-Claude Franchitti Software Engineering G22.2440-001 Session 7 - Main Theme From Analysis and Design to Software Architectures (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant

More information

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04

17-Design. Jackson System Development (JSD) Step 1: Entity/action step. Student Loan Example. CMPSCI520/620 Design ***DRAFT*** 11/4/04 CMPSCI520/620 ***DRAFT*** 11/4/04 17- Readings OOAD Using the UML Copyright 1994-1998 Rational Software, all rights reserved will post Jackson System Development (JSD) Phases the modeling phase Entity/action

More information

S1 Informatic Engineering

S1 Informatic Engineering S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS

More information

index_ qxd 7/18/02 11:48 AM Page 259 Index

index_ qxd 7/18/02 11:48 AM Page 259 Index index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the

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

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

Object Oriented Analysis and Design - Part2(Design)

Object Oriented Analysis and Design - Part2(Design) Object Oriented Analysis and Design - Part2(Design) Exam A QUESTION 1 Which statement is true about elements within the subsystem and public visibility? A. Only the subset of elements that define the subsystems

More information

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten

Architectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)

More information

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Enterprise Java Introduction Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve Course Description This course focuses on developing

More information

Advanced Java Programming

Advanced Java Programming Advanced Java Programming Length: 4 days Description: This course presents several advanced topics of the Java programming language, including Servlets, Object Serialization and Enterprise JavaBeans. In

More information

Index. Add Diagram > Sequence Diagram command,

Index. Add Diagram > Sequence Diagram command, Quatrani.book Page 183 Monday, May 8, 2006 11:56 AM Index A abstraction, 3 actions completing before processing, 54 55 data flowing through, 53 passing control between, 51 performing, 155 157 as round-cornered

More information

Introduction to componentbased software development

Introduction to componentbased software development Introduction to componentbased software development Nick Duan 8/31/09 1 Overview What is a component? A brief history of component software What constitute the component technology? Components/Containers/Platforms

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

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

Pearson Education 2005 Chapter 6 (Maciaszek - RASD 2/e) 2

Pearson Education 2005 Chapter 6 (Maciaszek - RASD 2/e) 2 MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 6 System Architecture and Program Design Pearson Education Limited

More information

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

The Road Map. SE203b: OO Design for Software Engineers. W8: OO Design Approach 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

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

Overview. System architectures Software layers Architectural models. Design requirements. client-server, peer processes, mobile code, agents,...

Overview. System architectures Software layers Architectural models. Design requirements. client-server, peer processes, mobile code, agents,... Architectural Models Overview System architectures Software layers Architectural models client-server, peer processes, mobile code, agents,... Design requirements user expectations of the system 3 January,

More information

Client/Server-Architecture

Client/Server-Architecture Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State

More information

Oracle 10g: Build J2EE Applications

Oracle 10g: Build J2EE Applications Oracle University Contact Us: (09) 5494 1551 Oracle 10g: Build J2EE Applications Duration: 5 Days What you will learn Leading companies are tackling the complexity of their application and IT environments

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

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy

Fundamental Issues. System Models and Networking Chapter 2,3. System Models. Architectural Model. Middleware. Bina Ramamurthy System Models and Networking Chapter 2,3 Bina Ramamurthy Fundamental Issues There is no global time. All communications are by means of messages. Message communication may be affected by network delays

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

System types. Distributed systems

System types. Distributed systems System types 1 Personal systems that are designed to run on a personal computer or workstation Distributed systems where the system software runs on a loosely integrated group of cooperating processors

More information

Systems-Level Architecture. A Re-Introduction Arch. Reintro CSC Level of Design. Divide into two levels:

Systems-Level Architecture. A Re-Introduction Arch. Reintro CSC Level of Design. Divide into two levels: Systems-Level Architecture A Re-Introduction 12 - Arch. Reintro CSC407 1 Level of Design Divide into two levels: System-LevelArchitecture Programming-Level Design You know what design is OOD + written

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

presentation DAD Distributed Applications Development Cristian Toma

presentation DAD Distributed Applications Development Cristian Toma Lecture 12 S4 - Core Distributed Middleware Programming in JEE Distributed Development of Business Logic Layer presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department

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

Chapter 1: Distributed Information Systems

Chapter 1: Distributed Information Systems Chapter 1: Distributed Information Systems Contents - Chapter 1 Design of an information system Layers and tiers Bottom up design Top down design Architecture of an information system One tier Two tier

More information

White Paper. Major Performance Tuning Considerations for Weblogic Server

White Paper. Major Performance Tuning Considerations for Weblogic Server White Paper Major Performance Tuning Considerations for Weblogic Server Table of Contents Introduction and Background Information... 2 Understanding the Performance Objectives... 3 Measuring your Performance

More information

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems

Outline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems Distributed Systems Outline Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems What Is A Distributed System? A collection of independent computers that appears

More information

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version :

SUN Sun Certified Enterprise Architect for J2EE 5. Download Full Version : SUN 310-052 Sun Certified Enterprise Architect for J2EE 5 Download Full Version : http://killexams.com/pass4sure/exam-detail/310-052 combination of ANSI SQL-99 syntax coupled with some company-specific

More information

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

This course is intended for Java programmers who wish to write programs using many of the advanced Java features. COURSE DESCRIPTION: Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation,

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions

1Z Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions 1Z0-850 Java SE 5 and 6, Certified Associate Exam Summary Syllabus Questions Table of Contents Introduction to 1Z0-850 Exam on Java SE 5 and 6, Certified Associate... 2 Oracle 1Z0-850 Certification Details:...

More information

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

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

Chapter 2 Architectures. Software Architectures

Chapter 2 Architectures. Software Architectures Chapter 2 Architectures Software architectures of distributed systems System architectures of distributed systems 1 Software Architectures Software architecture describes how the software components are

More information

Achieving Architectural Design Concepts with Remote Method Invocations

Achieving Architectural Design Concepts with Remote Method Invocations Achieving Architectural Design Concepts with Remote Method Invocations L.ilteri ÖNEY E1305937 Computer Engineering Department - METU Dr.Semih ÇETN ABSTRACT Motivation to write this article is based on

More information

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format. J2EE Development Detail: Audience www.peaksolutions.com/ittraining Java developers, web page designers and other professionals that will be designing, developing and implementing web applications using

More information

Advanced Lectures on knowledge Engineering

Advanced Lectures on knowledge Engineering TI-25 Advanced Lectures on knowledge Engineering Client-Server & Distributed Objects Platform Department of Information & Computer Sciences, Saitama University B.H. Far (far@cit.ics.saitama-u.ac.jp) http://www.cit.ics.saitama-u.ac.jp/~far/lectures/ke2/ke2-06/

More information

B.H. Far

B.H. Far SENG 401 Analysis and Design of Large Scale Software II Chapter 5: Architectural Patterns (Styles) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng401/

More information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT IS SOFTWARE ARCHITECTURE? WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is

More information

Java Training For Six Weeks

Java Training For Six Weeks Java Training For Six Weeks Java is a set of several computer software and specifications developed by Sun Microsystems, later acquired by Oracle Corporation that provides a system for developing application

More information

Distributed Computing

Distributed Computing Distributed Computing 1 Why distributed systems: Benefits & Challenges The Sydney Olympic game system: see text page 29-30 Divide-and-conquer Interacting autonomous systems Concurrencies Transactions 2

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

Java Enterprise Edition

Java Enterprise Edition Java Enterprise Edition The Big Problem Enterprise Architecture: Critical, large-scale systems Performance Millions of requests per day Concurrency Thousands of users Transactions Large amounts of data

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

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV

INTRODUCTION TO Object Oriented Systems BHUSHAN JADHAV INTRODUCTION TO Object Oriented Systems 1 CHAPTER 1 Introduction to Object Oriented Systems Preview of Object-orientation. Concept of distributed object systems, Reasons to distribute for centralized objects.

More information

GETI 2101 : Information Systems

GETI 2101 : Information Systems GETI 2101 : Information Systems IBM 2005 1 Essentials of Visual Modeling with UML 2.0 Principles of Visual Modeling IBM 2005 2 Objectives Describe the importance of visual modeling and the role of Model

More information

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

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views 1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties

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

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1 Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects

More information

Software Paradigms S.H. Kaisler, 440 p., Wiley, Chapters 12-17

Software Paradigms S.H. Kaisler, 440 p., Wiley, Chapters 12-17 SENG 401 Analysis and Design of Large Scale Software II Focus Programming paradigm Program Structure Variables Structures Classes, Objects Data Types Chapter 5: Architectural Patterns (Styles) Department

More information

LOG8430: Architecture logicielle et conception avancée

LOG8430: Architecture logicielle et conception avancée LOG8430: Architecture logicielle et conception avancée Modeling, OO Concepts, and Design Patterns Winter 2018 Fabio Petrillo Chargé de Cours This work is licensed under a Creative 1 Commons Attribution-NonCommercialShareAlike

More information

Avancier Methods (AM) Software Architecture Diagrams

Avancier Methods (AM) Software Architecture Diagrams Methods (AM) Software Architecture Diagrams in the AM viewpoint library It is illegal to copy, share or show this document (or other document published at http://avancier.co.uk) without the written permission

More information

JAVA & J2EE UNIT -1 INTRODUCTION

JAVA & J2EE UNIT -1 INTRODUCTION JAVA & J2EE UNIT -1 INTRODUCTION 1. List and explain the java buzzwords 2. Explain different access specifires in java,with example [6 marks] 3. Explain any 5 object oriented features supported by java,

More information

Vendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo

Vendor: SUN. Exam Code: Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY. Version: Demo Vendor: SUN Exam Code: 310-051 Exam Name: SUN Certified ENITRPRISE ARCHITECT FOR J2EE(tm)TECHNOLOGY Version: Demo QUESTION NO: 1 Which acts as a proxy to an EJB? A. home instance B. remote instance C.

More information

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1

Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introduction... xv SECTION 1: DEVELOPING DESKTOP APPLICATIONS USING JAVA Chapter 1: Getting Started with Java... 1 Introducing Object Oriented Programming... 2 Explaining OOP concepts... 2 Objects...3

More information

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong

Enterprise JavaBeans (I) K.P. Chow University of Hong Kong Enterprise JavaBeans (I) K.P. Chow University of Hong Kong JavaBeans Components are self contained, reusable software units that can be visually composed into composite components using visual builder

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

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

Chapter 2 System Models

Chapter 2 System Models CSF661 Distributed Systems 分散式系統 Chapter 2 System Models 吳俊興國立高雄大學資訊工程學系 Chapter 2 System Models 2.1 Introduction 2.2 Physical models 2.3 Architectural models 2.4 Fundamental models 2.5 Summary 2 A physical

More information

Java EE 6: Develop Business Components with JMS & EJBs

Java EE 6: Develop Business Components with JMS & EJBs Oracle University Contact Us: + 38516306373 Java EE 6: Develop Business Components with JMS & EJBs Duration: 4 Days What you will learn This Java EE 6: Develop Business Components with JMS & EJBs training

More information

Using JNDI from J2EE components

Using JNDI from J2EE components Using JNDI from J2EE components Stand-alone Java program have to specify the location of the naming server when using JNDI private static InitialContext createinitialcontext() throws NamingException {

More information

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master Oracle 1Z0-864 Java Enterprise Edition 5 Enterprise Architect Certified Master Download Full Version : http://killexams.com/pass4sure/exam-detail/1z0-864 Answer: A, C QUESTION: 226 Your company is bidding

More information

ABOUT CORE JAVA COURSE SCOPE:

ABOUT CORE JAVA COURSE SCOPE: ABOUT CORE JAVA COURSE SCOPE: JAVA based business programs perform well because constant JAVA requirements help designers to create multilevel programs with a component centered approach. JAVA growth allows

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

Object-Oriented Analysis and Design Using UML (OO-226)

Object-Oriented Analysis and Design Using UML (OO-226) Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,

More information

WebSphere 4.0 General Introduction

WebSphere 4.0 General Introduction IBM WebSphere Application Server V4.0 WebSphere 4.0 General Introduction Page 8 of 401 Page 1 of 11 Agenda Market Themes J2EE and Open Standards Evolution of WebSphere Application Server WebSphere 4.0

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

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY

CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY SUN CERTIFICATION CERTIFICATION SUCCESS GUIDE ENTERPRISE ARCHITECT FOR JAVA 2 PLATFORM, ENTERPRISE EDITION (J2EE ) TECHNOLOGY TABLE OF CONTENTS Introduction..............................................

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

Introduction to software architecture Revision : 732

Introduction to software architecture Revision : 732 Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software

More information

Rational Software White paper

Rational Software White paper Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations

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

Verteilte Systeme (Distributed Systems)

Verteilte Systeme (Distributed Systems) Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 4: Operating System Support Processes and

More information

Software Architectures. Lecture 6 (part 1)

Software Architectures. Lecture 6 (part 1) Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements

More information

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University CORBA and COM TIP Two practical techniques for object composition X LIU, School of Computing, Napier University CORBA Introduction Common Object Request Broker Architecture (CORBA) is an industry-standard

More information

Contents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A

Contents. Java RMI. Java RMI. Java RMI system elements. Example application processes/machines Client machine Process/Application A Contents Java RMI G53ACC Chris Greenhalgh Java RMI overview A Java RMI example Overview Walk-through Implementation notes Argument passing File requirements RPC issues and RMI Other problems with RMI 1

More information

IS 0020 Program Design and Software Tools

IS 0020 Program Design and Software Tools 1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005 What is UML? 2 The Unified Modelling Language is a standard notation to model [object oriented] systems.

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

A General ecommerce Platform with Strong International and Local Aspects

A General ecommerce Platform with Strong International and Local Aspects A General ecommerce Platform with Strong International and Local Aspects By Martin Ramsin A Master s Thesis August 2000 Examiner: Professor Seif Haridi Supervisors:Andy Neil and Mark Bünger, Icon MediaLab

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

Irbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems

Irbid National University, Irbid, Jordan. 1. The concept of distributed corporate systems Developing Enterprise Systems with CORBA and Java Integrated Technologies Safwan Al Salaimeh, Amer Abu Zaher Irbid National University, Irbid, Jordan ABSTRACT: The questions of corporate systems development

More information

Oracle Identity Manager: Administration and Implementation

Oracle Identity Manager: Administration and Implementation Oracle University Contact Us: 1.800.529.0165 Oracle Identity Manager: Administration and Implementation Duration: 5 Days What you will learn The Oracle Identity Manager: Administration and Implementation

More information

Distributed Environments. CORBA, JavaRMI and DCOM

Distributed Environments. CORBA, JavaRMI and DCOM Distributed Environments CORBA, JavaRMI and DCOM Introduction to CORBA Distributed objects A mechanism allowing programs to invoke methods on remote objects Common Object Request Broker middleware - works

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies. Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

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

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed Systems. The main method of distributed object communication is with remote method invocation Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,

More information

Agent-Enabling Transformation of E-Commerce Portals with Web Services

Agent-Enabling Transformation of E-Commerce Portals with Web Services Agent-Enabling Transformation of E-Commerce Portals with Web Services Dr. David B. Ulmer CTO Sotheby s New York, NY 10021, USA Dr. Lixin Tao Professor Pace University Pleasantville, NY 10570, USA Abstract:

More information

Credit where Credit is Due. Goals for this Lecture. Introduction to Design

Credit where Credit is Due. Goals for this Lecture. Introduction to Design Credit where Credit is Due Lecture 17: Intro. to Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some material presented in this lecture is taken

More information

Chapter 3. Design of Grid Scheduler. 3.1 Introduction

Chapter 3. Design of Grid Scheduler. 3.1 Introduction Chapter 3 Design of Grid Scheduler The scheduler component of the grid is responsible to prepare the job ques for grid resources. The research in design of grid schedulers has given various topologies

More information