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

Size: px
Start display at page:

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

Transcription

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

2 Objectives: Subsystem Design Understand the purpose of Subsystem Design and where in the lifecycle it is performed Define the behaviors specified in the subsystem's interfaces in terms of collaborations of contained classes Document the internal structure of the subsystem Determine the dependencies upon elements external to the subsystem Copyright Rational Software, all rights reserved 2

3 Subsystem Design in Context Architectural Analysis Architect Architectural Design Describe Concurrency Describe Distribution Review the Architecture Architecture Reviewer Designer Use-Case Analysis Use-Case Design Subsystem Design Review the Design Design Reviewer Class Design Copyright Rational Software, all rights reserved 3

4 Subsystem Design Overview Design Subsystems and Interfaces Design Subsystems and Interfaces (updated) Use-Case Realization Subsystem Design Use-Case Realization (updated) Design Guidelines Design Classes Copyright Rational Software, all rights reserved 4

5 Review: Subsystems and Interfaces A cross between a package and a class Realizes one or more interfaces which define its behavior <<interface>> Interface <<subsystem>> Subsystem Name Interface Realization (Canonical form) Subsystem Interface Copyright Rational Software, all rights reserved 5 Realization (Elided form) <<subsystem>> Subsystem Name

6 Subsystem Guidelines Goals Loose coupling Portability, plug-and-play compatibility Insulation from change Independent evolution Strong Suggestions Don t expose details, only interfaces Only depend on other interfaces Key is abstraction and encapsulation <<subsystem>> A <<subsystem>> B <<subsystem>> C Copyright Rational Software, all rights reserved 6

7 Review: Modeling Convention for Subsystems and Interfaces The <<subsystem>> package provides a container for the elements <<subsystem>> that comprise the subsystem, the interaction diagrams that describe CourseCatalogSystem how the subsystem ICourseCatalogSystem elements collaborate to implement the operations of the interfaces the subsystem realizes, and other diagrams that clarify the subsystem elements. The <<subsystem proxy>> class actually realizes the interface and will <<subsystem>> orchestrate package the implementation of the subsystem interface operations. <<subsystem proxy>> class Interfaces start with an I <<subsystem>> CourseCatalogSystem <<subsystem proxy>> CourseCatalogSystem ICourseCatalogSystem Copyright Rational Software, all rights reserved 7

8 Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies Checkpoints Copyright Rational Software, all rights reserved 8

9 Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies Checkpoints Copyright Rational Software, all rights reserved 9

10 Subsystem Responsibilities Subsystem responsibilities defined by interface operations Interface operations may be realized by Internal class operations Internal subsystem operations <<interface>> ICourseCatalogSystem getcourseofferings() <<subsystem>> CourseCatalogSystem subsystem responsibility Copyright Rational Software, all rights reserved 10

11 Distributing Subsystem Responsibilities Identify new, or reuse existing, design elements (e.g., classes and/or subsystems) Be careful to avoid having effectively the same class in two different Allocate subsystems. subsystem responsibilities to design elements Incorporate Existence of such applicable a class implies mechanisms that the subsystem (e.g., boundaries persistence, may not be well-drawn. distribution, etc.) Document design element collaborations in interface realizations Diagram One are or owned more by the interaction subsystem, and diagrams are used to design per the interface internal behavior operation of the subsystem. The diagrams are essential for subsystems with complex internal designs. It also enables the subsystem behavior to be easily understood, Class hopefully diagram(s) rendering containing it reusable across the contexts. required design element relationships These internal interaction diagrams should incorporate any Revisit Architectural Design applicable mechanisms initially identified in Architectural Design (e.g., Adjust persistence, subsystem distribution, boundaries etc.) and/or dependencies, as needed Copyright Rational Software, all rights reserved 11

12 Modeling Convention: Subsystem Interaction Diagrams Subsystem Client Subsystem Proxy Design Element 1 Design Element 2 performresponsibility( ) Op1() subsystem responsibility Op2() Op3() Internal subsystem interactions Op4() Subsystem interface not shown Copyright Rational Software, all rights reserved 12

13 Example: CourseCatalogSystem Subsystem In Context subsystem interface : Student : RegisterFor CoursesForm : Registration Controller : ICourseCatalog System : Schedule : Student 1: // create schedule( ) Student wishes to create a new schedule 2: // get course offerings( ) 3: getcourseofferings(semester) 4: // display course offerings( ) A list of the available course offerings for this semester are displayed A blank schedule is displayed for the students to select offerings 5: // display blank schedule( ) subsystem responsibility Legacy RDBMS Database Access 6: // select 4 primary and 2 alternate offerings( ) 7: // create schedule with offerings( ) 8: // create with offerings( ) 9: // add schedule(schedule) At this, point the Submit Schedule subflow is executed. Copyright Rational Software, all rights reserved 13

14 Incorporating the Architectural Mechanisms: Persistency Analysis-Class-to-Architectural-Mechanism Map from Use-Case Analysis Analysis Class Student Schedule CourseOffering Course RegistrationController Analysis Mechanism(s) Persistency, Security Persistency, Security Persistency, Legacy Interface Persistency, Legacy Interface Distribution OODBMS Persistency RDBMS Persistency OODBMS Persistency was discussed in Use-Case Design Copyright Rational Software, all rights reserved 14

15 Review: Incorporating JDBC: Steps Provide access to the class libraries needed to implement JDBC Provide java.sql package Create the necessary DBClasses One DBClass per persistent class Course Offering persistent class => DBCourseOffering (continued) Copyright Rational Software, all rights reserved 15

16 Review: Incorporating JDBC: Steps (contd.) Incorporate DBClasses into the design Allocate to package/layer DBCourseOffering placed in CourseCatalogSystem subsystem Add relationships from persistency clients Persistency clients are the CourseCatalogSystem subsystem clients Create/Update interaction diagrams that describe: Database initialization Persistent class access: Create, Read, Update, Delete Copyright Rational Software, all rights reserved 16

17 Example: Local CourseCatalogSystem Subsystem Interaction CourseCatalog System Client : : : Connection CourseCatalogSystemDBCourseOfferring : Statement : : : Course Catalog CourseOfferingList CourseOffering : ResultSet 1. getcourseofferings(semester) Retrieve all available course offerings for the current semester Subsystem Proxy 1.1. read(string) createstatement( ) sql statement is passed in specifying the search criteria executequery(string) course offerings in the current semester // executequery( Create ) a list to hold all retrieved course offerings Repeat these operations for each element returned from the executequery() command. The CourseOfferingList is loaded with the data retrieved from the database. The getdata and setdata operations are called for each attribute in the each retrieved class instance new( ) new( ) 3. setdata( ) 4. add(courseoffering) 2. getstring( ) Add the retrieved course offering to the list to be returned RDBMS Read Copyright Rational Software, all rights reserved 17

18 Example: Billing System Subsystem In Context subsystem interface : Registrar : : : : CloseRegistrationFormCloseRegistrationController ICourseCatalogSystemCourseOffering : Schedule : Student. : IBillingSystem 1. // close registration( ) 1.1. // is registration open?( ) 2. // close registration( ) Repeat twice this is for simplicity; realistically, an indefinite number of iterations could occur) Retrieve a list of course offerings for the current semester 2.1. getcourseofferings(semester) 2.2. // close registration( ) 2.3. // level( ) Close registration for each course offering If the maximum number of selected primary courses have not been committed, select alternate course offerings). Finally commit or cancel the course offering once all leveling has occurred Send student and tuition to the Billing System, which will do the actual billing to the student for the schedule // close( ) 2.5. gettuition( ) 2.6. submitbill(student, double) Currently assuming tuition based on number of offerings taken and certain attributes of students. If different offerings get different prices this will change slightly. Copyright Rational Software, all rights reserved 18 subsystem responsibility

19 Example: Local BillingSystem Subsystem Interaction Subsystem Proxy Billing System Client : BillingSystem : StudentBillingTransaction : Student. : BillingSystemInterface : Billing System 1. submitbill(student, double) 1.1. create(student, double) Retrieve the information that must be included on the bill // get contact info( ) 1.2. submit(studentbillingtransaction) // open connection( ) // process transaction( ) // close connection( ) Copyright Rational Software, all rights reserved 19

20 Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies Checkpoints Copyright Rational Software, all rights reserved 20

21 Example: CourseCatalogSystem Subsystem Elements <<Interface>> ICourseCatalogSystem (from External System Interfaces) getcourseofferings(forsemester : Semester) : CourseOfferingList <<subsystem proxy>> CourseCatalogSystem getcourseofferings(forsemester : Semester) : CourseOfferingList Subsystem Interface Subsystem Proxy CourseOfferingList (from University Artifacts) new() add() 1 DBCourseOfferring create() : CourseOffering read(searchcriteria : string) : CourseOfferingList 1 <<entity>> CourseOffering new() setdata() 0..* (from University Artifacts) 1 Connection (from java.sql) createstatement() Statement (from java.sql) executequery() executeupdate() ResultSet (from java.sql) getstring() Copyright Rational Software, all rights reserved 21

22 Example: Billing System Subsystem Elements <<Interface>> IBillingSystem (from External System Interfaces) submitbill(forstudent : Student, fortuition : double) StudentBillingTransaction Subsystem Interface create(forstudent : Student, foramount : double) <<subsystem proxy>> BillingSystem submitbill(forstudent : Student, fortuition : double) 1 <<entity>> Student. (from University Artifacts) // get contact info() Subsystem Proxy 0..1 BillingSystemInterface submit(thetransaction : StudentBillingTransaction) Copyright Rational Software, all rights reserved 22

23 Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies Checkpoints Copyright Rational Software, all rights reserved 23

24 Describing Subsystem Dependencies Subsystem dependency on a subsystem <<subsystem>> Client Support <<subsystem>> Server Support Flexible Server Subsystem dependency on a package <<subsystem>> Client Support Supporting Types Use with care Copyright Rational Software, all rights reserved 24

25 Example: CourseCatalogSystem Subsystem Dependencies <<subsystem>> CourseCatalogSystem (from Business Services) External System Interfaces (from Business Services) MEMO A subsystem cannot be reused without the packages it depends on Access to the subsystem interface itself (ICourseCatalogSystem). University Artifacts (from Business Services) Access the core types of the Course Registration System java.sql (from Middleware) Access the DBMS Copyright Rational Software, all rights reserved 25

26 Example: BillingSystem Subsystem Dependencies <<subsystem>> BillingSystem (from Business Services) External System Interfaces (from Business Services) University Artifacts (from Business Services) Copyright Rational Software, all rights reserved 26

27 Subsystem Design Steps Distribute Subsystem behavior to Subsystem Elements Document Subsystem Elements Describe Subsystem Dependencies Checkpoints Copyright Rational Software, all rights reserved 27

28 Checkpoints: Design Subsystems Is a realization association defined for each interface offered by the subsystem? Is a dependency association defined for each interface used by the subsystem? Ensure that none of the elements within the subsystem have public visibility. Is each operation on an interface realized by the subsystem documented in a interaction diagram? If not, is the operation realized by a single class, so that it is easy to see that there is a simple 1:1 mapping between the class operation and the interface operation? Copyright Rational Software, all rights reserved 28

29 Review: Subsystem Design What is the purpose of Subsystem Design? How many interaction diagrams should be produced during Subsystem Design? Why should dependencies on a subsystem be on the subsystem interface? Copyright Rational Software, all rights reserved 29

30 Exercise: Subsystem Design Given the following: The defined subsystems, their interfaces and their relationships with other design elements (the subsystem context diagrams) Patterns of use for the architectural mechanisms (continued) Copyright Rational Software, all rights reserved 30

31 Exercise: Subsystem Design (cont.) Identify the following for a particular subsystem(s): The design elements contained within the subsystem and their relationships The applicable architectural mechanisms The interactions needed to implement the subsystem interface operations (continued) Copyright Rational Software, all rights reserved 31

32 Exercise: Subsystem Design (cont.) Produce the following diagrams for a particular subsystem(s): Interface realizations Interaction diagram for each interface operation Class diagram containing the subsystem design elements that realize the interface responsibilities and their relationships Class diagram that shows the subsystem and any dependencies on external packag(es) and/or subsystem(s) (subsystem dependencies class diagram) Copyright Rational Software, all rights reserved 32

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

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

6 Identify Design Elements

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

More information

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 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

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

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

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

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

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

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

Rational Software. Payroll System Subsystem Design Solution

Rational Software. Payroll System Subsystem Design Solution Rational Software Payroll System Subsystem Design Solution Version 2003 Mastering OOAD with UML Issue v2003 Payroll System Subsystem Design Solution Issue Date February 2003 Revision History Date Issue

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

Requirements Analysis. SE 555 Software Requirements & Specification

Requirements Analysis. SE 555 Software Requirements & Specification Requirements Analysis Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation.

More information

Chapter 9 SQL in a server environment

Chapter 9 SQL in a server environment Chapter 9 SQL in a server environment SQL in a Programming Environment embedded SQL persistent stored modules Database-Connection Libraries Call-level interface (CLI) JDBC PHP Database connection The third

More information

Outline. Lecture 10: Database Connectivity -JDBC. Java Persistence. Persistence via Database

Outline. Lecture 10: Database Connectivity -JDBC. Java Persistence. Persistence via Database Outline Lecture 10: Database Connectivity -JDBC Persistence via Database JDBC (Java Database Connectivity) JDBC API Wendy Liu CSC309F Fall 2007 1 2 Java Persistence Persistence via Database JDBC (Java

More information

Lecture 9&10 JDBC. Mechanism. Some Warnings. Notes. Style. Introductory Databases SSC Introduction to DataBases 1.

Lecture 9&10 JDBC. Mechanism. Some Warnings. Notes. Style. Introductory Databases SSC Introduction to DataBases 1. Lecture 9&10 JDBC Java and SQL Basics Data Manipulation How to do it patterns etc. Transactions Summary JDBC provides A mechanism for to database systems An API for: Managing this Sending s to the DB Receiving

More information

Lab # 9. Java to Database Connection

Lab # 9. Java to Database Connection Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4113: Lab # 9 Java to Database Connection Eng. Haneen El-Masry December, 2014 2 Objective In this lab, we turn

More information

Overview. Database Application Development. SQL in Application Code. SQL in Application Code (cont.)

Overview. Database Application Development. SQL in Application Code. SQL in Application Code (cont.) Overview Database Application Development Chapter 6 Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures Database Management Systems 3ed

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures

More information

Information Systems Development COMM005 (CSM03) Autumn Semester 2009

Information Systems Development COMM005 (CSM03) Autumn Semester 2009 Information Systems Development COMM005 (CSM03) Autumn Semester 2009 Dr. Jonathan Y. Clark Email: j.y.clark@surrey.ac.uk Course Website: www.computing.surrey.ac.uk/courses/csm03/isdmain.htm Slide 1 Adapted

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

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

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

Introduction to Architecture. Introduction to Architecture 1

Introduction to Architecture. Introduction to Architecture 1 Introduction to Architecture Introduction to Architecture 1 Content What is architecture? Motivation for architecture Non-functional requirements Introduction to Architecture 2 What is architecture? The

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Arif Sari Email: arif@arifsari.net Course Website: www.arifsari.net/courses/ Slide 1 Adapted from slides 2005 John Wiley & Sons, Inc. Slide 2 Course Textbook: Systems Analysis

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

SQL in a Server Environment

SQL in a Server Environment SQL in a Server Environment Vaidė Narváez Computer Information Systems January 13th, 2011 The Three-Tier Architecture Application logic components Copyright c 2009 Pearson Education, Inc. Publishing as

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

Examples. Object Orientated Analysis and Design. Benjamin Kenwright

Examples. Object Orientated Analysis and Design. Benjamin Kenwright Examples Object Orientated Analysis and Design Benjamin Kenwright Outline Revision Questions Group Project Review Deliverables Example System Problem Case Studey Group Project Case-Study Example Vision

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing Component-Based Architectures with Rational Rose RealTime Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers

More information

Enterprise Java Unit 1- Chapter 6 Prof. Sujata Rizal

Enterprise Java Unit 1- Chapter 6 Prof. Sujata Rizal Introduction JDBC is a Java standard that provides the interface for connecting from Java to relational databases. The JDBC standard is defined by Sun Microsystems and implemented through the standard

More information

DataBase Lab JAVA-DATABASE CONNECTION. Eng. Haneen El-masry

DataBase Lab JAVA-DATABASE CONNECTION. Eng. Haneen El-masry In the name of Allah Islamic University of Gaza Faculty of Engineering Computer Engineering Department ECOM 4113 DataBase Lab Lab # 9 JAVA-DATABASE CONNECTION El-masry 2013 Objective In this lab, we turn

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,

More information

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

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

More information

JDBC Drivers Type. JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server.

JDBC Drivers Type. JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server. JDBC Drivers Type 1 What is JDBC Driver? JDBC drivers implement the defined interfaces in the JDBC API for interacting with your database server. For example, using JDBC drivers enable you to open database

More information

1. Log into your portal and navigate to Student Center>All Student Functions on the left hand side of the screen:

1. Log into your portal and navigate to Student Center>All Student Functions on the left hand side of the screen: Enrollment: How to Register For Classes (add/drop) 1. Log into your portal and navigate to Student Center>All Student Functions on the left hand side of the screen: 2. Navigate to Register for Classes

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

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

Software Design Heuristics

Software Design Heuristics Software Design Heuristics Software Design Heuristics CONTENT 1. Introduction 2. Encapsulation/Information Hiding 3. Strong Cohesion 4. Loose Dr. Samira Sadaoui 1 Introduction Introduction Software Design

More information

1. Go to and then click on the Bookstore link. Select Faculty Adoptions.

1. Go to   and then click on the Bookstore link. Select Faculty Adoptions. Online Textbook Adoption Process 1. Go to www.matc.edu and then click on the Bookstore link. Select Faculty Adoptions. 2. If you have not done so already, register yourself by selecting Register Here.

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

Rational Quality Manager

Rational Quality Manager Rational Quality Manager Guide for Configuring a New Account in the Jazz Sandbox Contents 1. Introduction... 2 2. Create a user account for Jazz... 3 3. Create a New Project... 5 4. Manage Access to the

More information

Assigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP)

Assigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP) Subsystem design basics Assigning Responsibilities (Patterns of Responsibility Assignment Principles: GRASP) Dept. of Computer Science Baylor University Focus on modeling how subsystems accomplish goals

More information

1. Log into your portal and navigate to Student Center>All Student Functions on the left hand side of the screen:

1. Log into your portal and navigate to Student Center>All Student Functions on the left hand side of the screen: Enrollment: How to Register For Classes (add/drop) 1. Log into your portal and navigate to Student Center>All Student Functions on the left hand side of the screen: 2. Navigate to Register for Classes

More information

Programming in Java

Programming in Java 320341 Programming in Java Fall Semester 2014 Lecture 16: Introduction to Database Programming Instructor: Slides: Jürgen Schönwälder Bendick Mahleko Objectives This lecture introduces the following -

More information

Discuss setting up JDBC connectivity. Demonstrate a JDBC program Discuss and demonstrate methods associated with JDBC connectivity

Discuss setting up JDBC connectivity. Demonstrate a JDBC program Discuss and demonstrate methods associated with JDBC connectivity Objectives Discuss setting up JDBC connectivity. Demonstrate a JDBC program Discuss and demonstrate methods associated with JDBC connectivity Setting Up JDBC Before you can begin to utilize JDBC, you must

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

How to build a UML model

How to build a UML model How to build a UML model RUP Stereotypes, packages, and object diagrams Case study 1 Rational Unified Process Designed to work with UML No longer being promoted by IBM Roles - (out of 20 or so) Architect

More information

INTERNAL ASSESSMENT TEST III Answer Schema

INTERNAL ASSESSMENT TEST III Answer Schema INTERNAL ASSESSMENT TEST III Answer Schema Subject& Code: Object-Oriented Modeling and Design (15CS551) Sem: V ISE (A & B) Q. No. Questions Marks 1. a. Ans Explain the steps or iterations involved in object

More information

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their products. These companies are promoting a new, extended version

More information

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect

Announcements. How to build a UML model. Rational Unified Process. How RUP builds a model. UI design. Architect How to build a UML model RUP Steriotypes, packages, and object diagrams Case study Announcements HW3 Phase 1 due on Feb 6 th, 5:00pm (need to create new pairs, accounts) Feedback on M2: turn procedural

More information

The Process of Software Architecting

The Process of Software Architecting IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,

More information

MANTHLY TEST SEPTEMBER 2017 QUESTION BANK CLASS: XII SUBJECT: INFORMATICS PRACTICES (065)

MANTHLY TEST SEPTEMBER 2017 QUESTION BANK CLASS: XII SUBJECT: INFORMATICS PRACTICES (065) MANTHLY TEST SEPTEMBER 2017 QUESTION BANK CLASS: XII SUBJECT: INFORMATICS PRACTICES (065) DATABASE CONNECTIVITY TO MYSQL Level- I Questions 1. What is the importance of java.sql.*; in java jdbc connection?

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

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

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

More information

PERSİSTENCE OBJECT RELATİON MAPPİNG

PERSİSTENCE OBJECT RELATİON MAPPİNG PERSİSTENCE Most of the applications require storing and retrieving objects in a persistent storage mechanism. This chapter introduces how to store and retrieve information in a persistent storage with

More information

UNIT III - JDBC Two Marks

UNIT III - JDBC Two Marks UNIT III - JDBC Two Marks 1.What is JDBC? JDBC stands for Java Database Connectivity, which is a standard Java API for databaseindependent connectivity between the Java programming language and a wide

More information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use

More information

Architectural Design. Architectural Design. Software Architecture. Architectural Models

Architectural Design. Architectural Design. Software Architecture. Architectural Models Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems

More information

CSE 308. Database Issues. Goals. Separate the application code from the database

CSE 308. Database Issues. Goals. Separate the application code from the database CSE 308 Database Issues The following databases are created with password as changeit anticyber cyber cedar dogwood elm clan Goals Separate the application code from the database Encourages you to think

More information

Presenter: Dong hyun Park

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

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Ch t 8 Chapter 8. System Models

Ch t 8 Chapter 8. System Models Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling

More information

Service Vs. System. Why do we need Services and a Services Viewpoint in DM2 and DoDAF? Fatma Dandashi, PhD March 4, 2011

Service Vs. System. Why do we need Services and a Services Viewpoint in DM2 and DoDAF? Fatma Dandashi, PhD March 4, 2011 Service Vs. System Why do we need Services and a Services Viewpoint in DM2 and DoDAF? Fatma Dandashi, PhD March 4, 2011 1. Does DoD Need To Model a Service? Bottom Line Up front (BLUF) DoD has a requirement

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

UNIT II Requirements Analysis and Specification & Software Design

UNIT II Requirements Analysis and Specification & Software Design UNIT II Requirements Analysis and Specification & Software Design Requirements Analysis and Specification Many projects fail: because they start implementing the system: without determining whether they

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering IT6801 - SERVICE ORIENTED ARCHITECTURE Anna University 2 & 16 Mark Questions & Answers Year / Semester: IV /

More information

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo Vendor: The Open Group Exam Code: OG0-091 Exam Name: TOGAF 9 Part 1 Version: Demo QUESTION 1 According to TOGAF, Which of the following are the architecture domains that are commonly accepted subsets of

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

Genisys Registration Instructions

Genisys Registration Instructions Genisys Registration Instructions Go to: http://my.regent.edu Introduction: All students must register for classes through Regent University s online information system called Genisys (General Information

More information

The ATCP Modeling Framework

The ATCP Modeling Framework The ATCP 2+9+1 Modeling Framework Bobbi Underbakke Adaptive Team Collaboration, Inc. 800.837.0677 atcprocess.com Adaptive Team Collaboration, Inc. March 22, 2005 Chris Armstrong Armstrong Process Group,

More information

1 Software Architecture

1 Software Architecture Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to

More information

Student Number: Please fill out the identification section above as well as the one on the back page, and read the instructions below. Good Luck!

Student Number: Please fill out the identification section above as well as the one on the back page, and read the instructions below. Good Luck! CSC 343H1S 2013 Test 2 Duration 50 minutes Aids allowed: none Last Name: Lecture Section: Day Student Number: First Name: Instructor: Horton Please fill out the identification section above as well as

More information

Introduction to Software Reuse

Introduction to Software Reuse DCC / ICEx / UFMG Introduction to Software Reuse Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Software Reuse The use of existing software or software knowledge to build new software In the last

More information

ACRONYMS AND GLOSSARY

ACRONYMS AND GLOSSARY Appendix A ACRONYMS AND GLOSSARY SYS-ED/ COMPUTER EDUCATION TECHNIQUES, INC. 1 Acronyms Acronym 1NF 1ONF 2NF 2ONF 2ONF 3NF 3ONF API CASE CORBA CRUD DFD FLOOT IDL Java VM ODMG OMG OODBMS OOUI OQL ODBC OOCRUD

More information

Working with Databases and Java

Working with Databases and Java Working with Databases and Java Pedro Contreras Department of Computer Science Royal Holloway, University of London January 30, 2008 Outline Introduction to relational databases Introduction to Structured

More information

Diseño y Evaluación de Arquitecturas de Software. Architecture Based Design Method

Diseño y Evaluación de Arquitecturas de Software. Architecture Based Design Method Diseño y Evaluación de Arquitecturas de Software Architecture Based Design Method César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 08/10/2015 1 Architecture Based Design

More information

ERwin and JDBC. Mar. 6, 2007 Myoung Ho Kim

ERwin and JDBC. Mar. 6, 2007 Myoung Ho Kim ERwin and JDBC Mar. 6, 2007 Myoung Ho Kim ERwin ERwin a popular commercial ER modeling tool» other tools: Dia (open source), Visio, ConceptDraw, etc. supports database schema generation 2 ERwin UI 3 Data

More information

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA PURPOSE OF THIS CLASS An introduction to software architecture What is an architecture Why it is important How it is represented

More information

Application Architectures, Design Patterns

Application Architectures, Design Patterns Application Architectures, Design Patterns Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2017 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Application Architectures, Design Patterns Winter Term

More information

FLX UC 1000/1500 Registering with Shoretel ShoreGear

FLX UC 1000/1500 Registering with Shoretel ShoreGear Technical Note FLX UC 1000/1500 Registering with Shoretel ShoreGear Date: January 15, 2016 This technical note gives a detailed description on how to register a Revolabs FLX UC 1000/1500 IP & USB conference

More information

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

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

More information

Pertemuan 8. Object Oriented Modeling and Design

Pertemuan 8. Object Oriented Modeling and Design Pertemuan 8 Object Oriented Modeling and Design References Rumbaugh, James et al., Object Oriented Modeling and Design, 1991, Prentice Hall, Inc., USA, ISBN: 0 13 629841 9 9 Coad, Peter and Yourdon, Edward,

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

What is Software Architecture

What is Software Architecture What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements

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

Rational Requirements Composer

Rational Requirements Composer Rational Requirements Composer Guide for Configuring a New Account in the Jazz Sandbox Contents 1. Introduction... 2 2. Create a user account for Jazz... 3 3. Create a New Project... 6 4. Manage Access

More information

Chapter 10 Object-Oriented Design Principles

Chapter 10 Object-Oriented Design Principles Chapter 10 Object-Oriented Design Principles Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Outline Object-oriented design: bridging from analysis

More information

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment Copyright Rational Software 2002 http://www.therationaledge.com/content/dec_02/m_uiiterativeenvironment_jc.jsp Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

More information

Web Services for Visualization

Web Services for Visualization Web Services for Visualization Gordon Erlebacher (Florida State University) Collaborators: S. Pallickara, G. Fox (Indiana U.) Dave Yuen (U. Minnesota) State of affairs Size of datasets is growing exponentially

More information

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.)

Design Pattern. CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) Design Pattern CMPSC 487 Lecture 10 Topics: Design Patterns: Elements of Reusable Object-Oriented Software (Gamma, et al.) A. Design Pattern Design patterns represent the best practices used by experienced

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

Ch 11 Software Development

Ch 11 Software Development COSC 1P03 Ch 11 Software Development Introduction to Data Structures 9-10.1 COSC 1P03 Software Development Phases Analysis problem statement requirements specification system analysts inputs and outputs

More information

(9A05803) WEB SERVICES (ELECTIVE - III)

(9A05803) WEB SERVICES (ELECTIVE - III) 1 UNIT III (9A05803) WEB SERVICES (ELECTIVE - III) Web services Architecture: web services architecture and its characteristics, core building blocks of web services, standards and technologies available

More information

JAVA AND DATABASES. Summer 2018

JAVA AND DATABASES. Summer 2018 JAVA AND DATABASES Summer 2018 JDBC JDBC (Java Database Connectivity) an API for working with databases in Java (works with any tabular data, but focuses on relational databases) Works with 3 basic actions:

More information