ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

Similar documents
Object-Oriented Analysis and Design

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Chapter : Analysis Modeling

Interactions A link message

Software Development Methodologies

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Software Service Engineering

System Design. Design: HOW to implement a system

L3.4. Data Management Techniques. Frederic Desprez Benjamin Isnard Johan Montagnat

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Chapter 6 Structuring System Requirements: Process Modeling 6.1

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

Data. Entities. Accounting Information Systems. Chapter 4: Data Management

UNIT I. Introduction

INTEGRATED MANAGEMENT OF LARGE SATELLITE-TERRESTRIAL NETWORKS' ABSTRACT

1 Overview of Database Management

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

Chapter 4: Data Management

CSE 435: Software Engineering. System Design

HEP replica management

System Design. Design Issues. System Design. System Design. Design: HOW to implement a system. Strategic vs. Local Design Decisions.

Design: HOW to implement a system

MIT Database Management Systems Lesson 01: Introduction

Meltem Özturan

Database Management Systems MIT Lesson 01 - Introduction By S. Sabraz Nawaz

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

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Sub Phase: High-Level Design. From Requirements Analysis to User Manual. System Design

Database Architectures

PROCESSES AND THREADS

System Design. Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice)

Steps in Using COMET/UML

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

FUNCTIONAL MODELLING

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

Knowledge Discovery and Data Mining

A Performance Evaluation Architecture for Hierarchical PNNI and Performance Evaluation of Different Aggregation Algorithms in Large ATM Networks

Darshan Institute of Engineering & Technology for Diploma Studies

CS 451 Software Engineering

Distributed systems. Distributed Systems Architectures. System types. Objectives. Distributed system characteristics.

Silberschatz and Galvin Chapter 15

Database Architectures

7. System Design: Addressing Design Goals

Business Process Modelling

Database Management Systems

Gradational conception in Cleanroom Software Development

7/20/2008. What Operating Systems Do Computer-System Organization

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

Chapter 17: Parallel Databases

Boundary control : Access Controls: An access control mechanism processes users request for resources in three steps: Identification:

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

IBM Tivoli OMEGAMON XE for Storage on z/os Version Tuning Guide SC

Introduction CHAPTER. Review Questions

ICS 52: Introduction to Software Engineering

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

SCOS-2000 Technical Note

20. Business Process Analysis (2)

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

CSCI 4717 Computer Architecture

Chapter 1: Introduction

Something to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact:

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

CS420: Operating Systems

! Parallel machines are becoming quite common and affordable. ! Databases are growing increasingly large

Chapter 20: Parallel Databases

Chapter 20: Parallel Databases. Introduction


Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

SE 1: Software Requirements Specification and Analysis

DATA MINING TRANSACTION

CS3600 SYSTEMS AND NETWORKS

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Database Management Systems MIT Introduction By S. Sabraz Nawaz

Lab 16: Visio Introduction

Architectural Blueprint

Chapter 4. Fundamental Concepts and Models

Vragen. Intra-modular complexity measures. The uses relation. System structure: inter-module complexity

Elevator Control System

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:

ADVANCED LINK AND ASSOCIATION CONCEPTS

System Design. Design: HOW to implement a system

UML-Based Conceptual Modeling of Pattern-Bases

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

Chapter 18: Parallel Databases

Chapter 18: Parallel Databases. Chapter 18: Parallel Databases. Parallelism in Databases. Introduction

Syllabus for Computer Science General Part I

Help student appreciate the DBMS scope of function

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Chapter 6, System Design Lecture 2

System Analysis & design

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

1 Connectionless Routing

Characterizing your Objects

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

System Models. Minsoo Ryu. Hanyang University. Real-Time Computing and Communications Lab., Hanyang University

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III

Transcription:

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70

Functional Models The functional model specifies the results of a computation without specifying how or when they are computed. That means it specifies the meaning of the operations in the object model and the actions in the dynamic model.spreadsheet is a kind of functional model. The purpose of the spreadsheet is to specify values in terms of other values. Data Flow Diagrams The functional model consists of multiple data flow diagrams. A Data Flow Diagram (DFD) shows the functional relationships of the values computed by a system, including the input values, output values, and internal data stores. Or we can say that a DFD is a graph showing the flow of data values from their sources in objects through processes that transform them to their destinations in other objects. A DFD contains processes that transform data, data flows that move data, actor objects that produce and consume data, and data store objects that store data passively. The DFD shows the sequence of transformations performed, as well as the external values and objects that affect the computation. i) Processes A process transforms data values. The lowest level processes are pure functions without side effects. An entire data flow graph is a high level process. A process may have side effects if it contains nonfunctional components. A process is drawn

as an ellipse ii) Data Flows A data flow connects the output of an object or process to the input of another object or process. It represents an intermediate data value within a computation. A data flow is drawn as an arrow. Sometimes an aggregate data value is split into its components, each of which goes to a different process. Flows on the boundary of a data flow diagram are its inputs and outputs. iii) Actors An actor is an active object that drives the data flow graph by producing or consuming values. Actors are attached to the inputs and outputs of a data flow graph. The actors are lie on the boundary of the data flow graph. An actor is drawn as a rectangle. iv) Data Stores A data store is a passive object within a data flow diagram that stores data for later access. A data store is drawn as a pair of parallel lines containing the name of the store. Input arrows indicate information or operations that modify the stored data. Output arrows indicate information retrieved from the store. Both actors and data stores are objects. v) Nested Data Flow Diagrams A process can be expanded into another data flow diagram. Each input and output of the process is an input or output of the new diagram. The new diagram may have data stores. Diagrams can be nested to an arbitrary depth, and the entire set of nested diagrams forms a tree. A diagram that references itself represents a recursive computation. vi) Control Flows

A control flow is a Boolean value that affects whether a process is evaluated. The control flow is not an input value to the process itself. A control flow is shown by a dotted line from a process producing a Boolean value to the process being controlled. SPECIFYING AN OPERATION Each operation can be specified in various ways. These are : - Mathematical functions, such as trigonometric functions - Table of input and output values for small finite sets - Equations specifying output in terms of input - Pre- and post- conditions - Decision tables - Pseudocode - Natural language Specification of an operation includes a signature and a transformation. The external specification of an operation only describes changes visible outside the operation. Access operations are operations that read or write attributes or links of an object. Nontrivial operations can be divided into three categories: queries, actions, and activities. A query is an operation that has no side effects, it is a pure function. An action is a transformation that has side effects on the target object. An activity is an operation to or by an object that has duration in time Constraints A constraint shows the relationship between two objects at the same time or between different values of the same object at different times. A constraint may be expressed as a total function or a partial function. Object constraints specify that some objects

depend entirely or partially on other objects. Dynamic constraints specify relationships among the states or events of different objects. Functional constraints specify restrictions on operations. Relation of Functional to Object and Dynamic Models The functional model shows what has to be done by a system. The leaf processes are the operations on objects. The processes in the functional model correspond to operations in the object model. Processes in the functional model show objects that are related by function. A process is usually implemented as a method.

System Design System design is the high level strategy for solving the problem and building a solution. The overall organization of a system is called the system architecture. The first step in system design is to divide the system into small number of components. Each major component of a system is called a sub-system. Each subsystem encompasses aspects of the system that share some common property- similar functionality, the same physical location, or execution on the same kind of hardware. A subsystem is not a kind of object nor a function but a package of classes, associations, operations, events and constraints that are interrelated. A subsystem is usually identified by the service it provides. A service is a group of related functions that share some common purpose, such as I/O processing, drawing pictures or performing arithmetic. Each subsystem has a well defined interface to the rest of the subsystem. The relationship between two subsystems can be client-supplier or peer to peer. The decomposition of systems into subsystems may be organized as a sequence of horizontal layers or vertical partitions.

In the analysis model, as in the real world and in hardware, all objects are concurrent. Many objects can be implemented on a single processor if the objects have the activity that is mutually exclusive. Allocating subsystems to processors and tasks Each concurrent subsystem must be allocated to a hardware unit, either a general purpose processor or a specialized functional unit. The system designer must: Estimate performance needs and the resources needed to satisfy them. Choose hardware or software implementation for subsystems. Allocate software subsystems to processors to satisfy performance needs and minimize interprocessor communication. Determine te connectivity of the physical units that implement the subsystems. Management of data stores Each data store may combine data structures, files and databases implemented in memory or on secondary storage devices. Different data stores provide various trade offs between cost, access time, capacity and reliability. Files are cheap, simple and permanent form of data store. Databases managed by database management systems are another kind of data store. Databases are powerful and make applications easier to different hardware and operating system platforms, since the vendor ports the DBMS code. One disadvantage is that DBMS have a complex interface. The following guidelines characterize the kind of data that belongs in a formal database: Data that requires access at fine levels of detail by multiple users. Data that can be efficiently managed with DBMS commands. Data that must port across many hardware and operating system platforms. Data that must be accessible by more than one application program. The following guidelines characterize the kind of data that belongs in afile and not in a relational database: Data that is voluminous in quantity but difficult to structure within the confines of DBMS. Data that is voluminous in quantity and of low information density. raw data that is summarized in the database. Volatile data that is kept a short time and then discarded.

Advantages of using a database: Many infrastructure features Common interface for all architecture. A standard access language. Disadvantages of using a database Performance overhead Insufficient functionality fo advanced applications Awkward interface with programming languages. Handling global resources Global resources include: physical units such as processors, tape drives, and communication satellites; space such as disk space, a workstation screen, and buttons on a mouse; logical names such as object IDs, filenames, and class names; and access to shared data, such as databases. If the resource is a physical object then it can control itself by establishing a protocol for obtaining access within a concurrent system. If resource is logical entity then there is danger of conflicting access in a shared environment. A logical resource can be partitioned logically. Choosing software control implementation External control is the flow of externally visible events among the objects in the system. There are three kinds of control for external events: procedure driven sequential, event driven sequential, and concurrent. Internal control is the flow of control within the process. It exists only in the implementation and therefore, is not inherently concurrent or sequential. Three kinda of control flow are common: procedure calls, quasi concurrent inter-task calls, and concurrent inter task calls. Handling boundary conditions The system designer must consider the boundary conditions as well: Initialization: things to be initialized include constant data, parameters, global variables, task, guardian objects, and possibly the class hierarchy itself. During initialization only a subset of the functionaliy of the system is usually available. Termination: it is usually simpler than initialization because many internal objects can simply be abondaned. Failure: it can arise from user errors, from the exhaustion of system resources or from an external breakdown.

Common architectural framework There are several prototypical architectural frame works that are common in existing systems. Each of these is well-suited to a certain kind of system. The kinds of system includes: Batch transformation: a data transformation executed once on an entire input set. Continous tranfromation: a data transformation performed continuously as inputs change. Interactive interface: a system dominated by external interactions. Dynamic simulation: a system that simulates evolving real world objects. Real time system: a system dominated by strict timing constraints. Transaction manager: a system concerned with storing and updating data, often including concurrent access from different physical locations. Architecture of the ATM system The ATM system is a hybrid of an interactive interface and transaction managent system. The entry stations are interactive interfaces their purpose is to interact with the human to gather information needed to formulate a transaction. Specifying the entry station consnsits of

constructing an object model and a dynamic model; the functional modelis trivial. Fig shows the architecture of the ATM system. There are three major subsystems: the ATM stations, the consortium, and the bank computers. The topology is simple star; the consortium computer communicates with all the atm stations and with all the bank computers. Each connection is dedicated phone line. The station code and bank code is used to distinguish the phone lines to the consortium computer. The only permanent data stores are in the bank computers each transaction is processed as a single batch operation; an account is locked by a transaction until the transaction is complete. The only complexity might come from failure handling. Overview of object design During object design the designer carries out the energy chosen during system design and fleshes out the details. There is a shift in emphasis from application domain concepts towards computer science. The objects discovered during analysis serve as the skeleton of the design, but the object designer must choose among different ways to implement them with an eye toward minimizing execution time, memory, and other measures of cost. Working from analysis and architecture

The object model describes the classes of objects in the system including their attributes and the operations that they support. The information in the analysis object model must be present in the design in some form. The functional model describes the operations that the system must implement. The algorithms and decomposition must be chosen to optimize important implementation measures such as ease of implementation, understandability and performance. The dynamic model describes how the system responds to external events. The object-oriented design is primarily a process of refinement or adding detail. Steps of object design During object design, the designer must perform the following steps: Combine the three models to obtain operation on classes Design algorithms to implement operations Optimize access paths to data Implement control for external interactions Design associations Determine object representation Package classes and associations into models Combining the three models After analysis we have the object, dynamic, and functional models, but the object model is the main framework around which the design is constructed. The object model from analysis may not show operations. The designer must convert the actions and activities of the dynamic model and the processes of the functional model into operations attached to classes in the object model. Each state diagram describes the life history of an object. A transition is a change of state of the object and maps into an operation on the object. We can associate each event received by an object. In the state diagram, the action performed by a transition depends on both the event and the state of the object. Therefore the algorithm implementing an operation depends on the state of the object. If the same event can be received by more than one state of an object, then the code implementing the algorithm must contain a case statement dependent on the state. An action or activity initiated by a transition in a state diagram may expand into an entire data flow diagram in the functional model. The network of processes within the data flow diagram represents the body of an operation. The flows in the diagram are intermediate values in the operation. The processes in the data flow diagram constitute sub operations.

Determine the target object of a sub operation as follows: If a process extracts a value from an input flow, then the input flow is the target. If a process has an input flow and output flow of the same type, and the output value is substantially an updated version of the input flow, then the input/output flow is the target. If a process constructs an output value from several input flows, then the operation is a class operation on the output class.