Addressing design Goals  We decompose the system to address complexity  Assigning each subsystem to team to work on  But we also need to address system.

Slides:



Advertisements
Similar presentations
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Advertisements

® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
System Design Chapters 6-7 Object-Oriented Software Engineering:
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 5 Database Application Security Models.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining access control, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Defining persistent data stores, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS Design goals and System Decomposition, example Päivi Ovaska.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS: Identifying boundary conditions, example Päivi Ovaska.
Databases Chapter Distinguish between the physical and logical view of data Describe how data is organized: characters, fields, records, tables,
Addressing Design Goals
Ch 7: Sys. Architecture: Design Decisions to Address Goals
1 System Design: Addressing Design Goals We are starting from an initial design, along with a set of design goals. What is the next step?
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Conquering Complex and Changing Systems Object-Oriented Software Engineering System Design:Hardware/ software mapping, example Päivi Ovaska.
1 Decomposing the System Requirements  Specifications (Use cases)  Design --classes **entity **boundary **control --sequence diagrams --CRC cards **responsibilites.
Chapter 5 Database Application Security Models
Chapter 9: Moving to Design
Client/Server Software Architectures Yonglei Tao.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 9 Elements of Systems Design
Class, Sequence and UML Model.  Has actors and use cases.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
UML Development - Overview PROGRAM ACTORS ANALYSIS Domain Objects DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S)
Database Application Security Models Database Application Security Models 1.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 7 Addressing Design Goals.
1 Adapted from Pearson Prentice Hall Adapted form James A. Senn’s Information Technology, 3 rd Edition Chapter 7 Enterprise Databases and Data Warehouses.
HNDComputing – DeMontfort University  DeMontfort University 2011 Database Fundamentals wk2 Database Design ConceptsDatabase Design Concepts Database Design.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Chapter Five–Part III Object Oriented Design More Design issues.
NETWORKING COMPONENTS AN OVERVIEW OF COMMONLY USED HARDWARE Christopher Johnson LTEC 4550.
MACIASZEK, L.A. (2001): Requirements Analysis and System Design. Developing Information Systems with UML, Addison Wesley Chapter 6 - Tutorial Guided Tutorial.
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 12 Distributed Database Management Systems.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 6, System Design Lecture 2.
Chapter 7 System Design 2 Addressing Design Goals.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Overview System Design II (slides Part B)
CEN Advanced Software Engineering
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 7 System Design: Addressing Design Goals.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
COP 3331 Object-Oriented Analysis and Design 1 Overview System Design I (previous lecture) 0. Overview of System Design 1. Design Goals 2. Subsystem Decomposition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
1 CMPT 275 High Level Design Phase Modularization.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
DESIGN OF SOFTWARE ARCHITECTURE
3/6: Data Management, pt. 2 Refresh your memory Relational Data Model
Feb. 9, 2004CS WPI1 CS 509 Design of Software Systems Lecture #4 Monday, Feb. 9, 2004.
System Design cont Review Class 15 Design Goals System Design Activities –Identification of Subsystems –Persistent Data Stores –Access Control –Control.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
CEN 4010 Eight Lecture Feb. 27, 2006 Introduction to Software Engineering (CEN- 4010) Spring 2006 Instructor: Masoud Sadjadi
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Two New UML Diagram Types Component Diagram Deployment Diagram.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
Deployment Diagram.
Analyzing UML Descriptions of Architectures Using Information Theory
Deployment Diagram.
Network Load Balancing
OO Methodology OO Architecture.
Unified Modeling Language
Advance Software Engineering (CEN-5011)
Analysis models and design models
Addressing Design Goals
Decomposing the System
Design Yaodong Bi.
Software Development Process Using UML Recap
Presentation transcript:

Addressing design Goals  We decompose the system to address complexity  Assigning each subsystem to team to work on  But we also need to address system wide issues

Hardware /Software Mapping  What is the Hw configuration of the system?  Which node is responsible for which functionality?  How nodes communicate?  This leads for adding new subsystems  Components should be encapsulated to minimize dependency

Data management  Which data should be persistent?  How they are accessed?  This is very important  Most systems need access their data  This should be fast  What DBMS we need?

Access Control  Who can access which data?  Can we change it dynamically?  It should be consistent

Control Flow  How does the system sequence operations?  More than one user at same time?  Event driven?

Boundary Conditions  How the system is initialized?  How it is shut down?  How are exceptional cases detected and handled?

UML Deployment Diagrams  Depicts the relationship between run-time components and HW  Component are self contained entities that provide services to other components  Example: web server provides service to web browser  Web browser provides service to user

 A distributed system can be composed of many interacting run-time components  In UML deployment diagrams:  Nodes are represented by boxes containing components  Dependencies are dashed arrows  A component can be refined to present interfaces and its classes

Mapping subsystems to HW: selecting a HW configuration  Many systems run on many computers  Connect using internet  This is good choice for high performance  And serving distributed users

 We need to decide on:  Allocation of subsystems to computers  Communication support  We also need select virtual machines  OSs  DBMS  Communication package

MyTrip  Remember: two subsystems  PlanningSubsystem  RoutingSubsystem  Clearly they run on two different machines  WebServer  OnBoardComputer  What about virtual machines?  Unix  Safari  IExplorer

Allocating objects and subsystems to nodes  This triggers new objects and subsystems  RoutingSubsystem and PlanningSubsystem need to communicate..!!!  So we introduce new subsystem: CommunicationSubsystem

 We also notice that only segments need to be stored at RoutingSubsystem  So we need another object called proxy  We add SegmentProxy and TripProxy  Draw the revised design pattern

Identifying persistent data  We need to store data  Remember a special subsystem for storage in repository model

In MyTrip  We need to store trip information in OnBoardcomputer Car  In case of system shutdown during trip  We will use file storage  Most efficient choice

 What about PlanningSubsytem?  We need to store:  Maps  Trips  We will choose database coz:  Complex queries  Multiple users  So we add two subsystems  TripFileStoreSubsystem  MapDBStoreSubsystem

Identifying persistent objects  Entity objects  But not all of them, example:  Location  Direction  All objects that must survive shutdown

Selecting a storage management  Flat files  RDBMS  Concurrency  Recovery  Access control  Large quantities of data  Complx queries

 Object-Oriented Databases  Stores data as objects and associations  Slower than RDB in typical queries

Providing access control  In my trip, storing maps and trips brings up security concerns  So here what we do:  Introduce new class: Drive  PlanningSubsystem is responsible for authentication  CommunicationSubsystem encrypt data

What about multi-user environment  We need Access Matrix  Rows are actors  Columns are controlled objects  Entry: access right has list of operations

How do represent Access Matrix?  Global Access table:  Actor + class + operation  tuple  Slow  Requires space  Access control list:  Associates (actor, operation) with class  Like guest list  Capability association  Associates (class, operation) with actor

Use of FireWalls  Protect services located on intranets from other hosts  According host, port,  They allow or deny packets to reach their destinations

 Firewalls access is specified using list of rules  Searched sequentially  As in table 7-3  Access matrix is static access control

 But consider a bank IS, a broker is assigned a set of portfolios …..dynamically  Broker should access his own portfolios  So we should model access rights dynamically  Dynamic access control  We use proxy design patter

Access isAccessable(op) Portfolio Buy() Sell() Estimate() Broker PortfolioProxy Buy() Sell() Estimate()

Use of proxy  For each portfolio we create a proxy To protect that portfolio  Authentication: the process of identifying the association between actor and system  Sometimes we use username and passwords  Sometimes we need more than that.

 Some systems use cards = passwords  As in picti  We usually encrypt password  Make them expire  We also use encryption

Control Flow  It is the sequence of actions in a system  Which operations should be executed and in which order 1- Procedure driven control -- as in legacy systems

2- event driven 3- threads --problems in debugging --problems in testing

Boundary conditions  We need to decide on how the systems  Starts  Shutdown  Managed  And how to deal with failure (Exception Management)

Refining System Analysis for MyTrip