System Design and Modeling

Slides:



Advertisements
Similar presentations
System Development Life Cycle (SDLC)
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
Design Concepts and Principles
1 Software Design Introduction  The chapter will address the following questions:  How do you factor a program into manageable program modules that can.
Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data.
What is Software Design?  Introduction  Software design consists of two components, modular design and packaging.  Modular design is the decomposition.
Copyright Irwin/McGraw-Hill Software Design Prepared by Kevin C. Dittman for Systems Analysis & Design Methods 4ed by J. L. Whitten & L. D. Bentley.
Software Design Deriving a solution which satisfies software requirements.
© Copyright 2011 John Wiley & Sons, Inc.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Course Instructor: Aisha Azeem
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
SOFTWARE DESIGN.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Systems Design.  Application Design  User Interface Design  Database Design.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Systems Analysis and Design in a Changing World, Fourth Edition
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Principles of Programming & Software Engineering
Introduction to DBMS Purpose of Database Systems View of Data
Database Systems: Design, Implementation, and Management Tenth Edition
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
7. Modular and structured design
Software architecture
Tools Of Structured Analysis
CompSci 280 S Introduction to Software Development
Coupling and Cohesion Rajni Bhalla.
UML Diagrams By Daniel Damaris Novarianto S..
Basic Concepts in Software Design
Systems Planning and Analysis
Chapter 2 Database System Concepts and Architecture
Object-Oriented Analysis and Design
Architecture Concept Documents
Problem Solving How do we attack a large problem?
System Design.
Lecture 9- Design Concepts and Principles
Software Engineering Architectural Design Chapter 6 Dr.Doaa Sami
Basic Concepts in Software Design
Software Design Mr. Manoj Kumar Kar.
Data Dictionaries ER Diagram.
UML Diagrams Jung Woo.
Abstract descriptions of systems whose requirements are being analysed
CH#3 Software Designing (Object Oriented Design)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2: Database System Concepts and Architecture
CIS 375 Bruce R. Maxim UM-Dearborn
Introduction to Database Systems
Chapter 2 Database Environment.
Introduction to Systems Analysis and Design
Software Architecture
Software Design CMSC 345, Version 1/11.
Chapter 20 Object-Oriented Analysis and Design
Lecture 9- Design Concepts and Principles
Chapter 2- Visual Basic Schneider
Chapter 2- Visual Basic Schneider
An Introduction to Software Architecture
Introduction to DBMS Purpose of Database Systems View of Data
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Chapter 7: Data Flow Diagram Structuring System Process Requirements
Members: Keshava Shiva Sanjeeve Kareena
Software Modelling and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Basic Concepts of Algorithm
Distributed Systems and Concurrency: Distributed Systems
Introduction to Programming
Presentation transcript:

System Design and Modeling

Introduction Analysis is “What to” approach Design is “How to” approach System Design is a process of defining the architecture, components, interfaces, and other components of the system and also the result of that process.

Design Objectives Practicality Efficient Cost Flexibility Security System design is further divided into: Physical Design Logical Design Logical Design Physical Design

Logical Design Its concerned with the specification of major features of the system. DFD shows the logical flow of the system. It describes the input, output, data stores and data flow. The following are the steps in logical design: Review the current physical system. Prepare the output specifications. Prepare the input specifications. Prepare the control specifications. Prepares the logical design walkthrough. Reviews the benefits, costs, target dates etc.

Physical Design Tells the programmer exactly what the candidate system must do. And then the programmer writes the new program or modifies the existing ones. Produces reports. The following are the steps in physical design: Specify the input/output media Design DB and specify the procedures. Design physical information flow through the system. Plan the system implementation. Devise test and implementation plan. Update the benefits, costs and system constraints.

System Design Carried out after the analysis of the system is done.  Designing of the system includes making the conceptual layout of the system using various modeling techniques available The first step after the analysis of the system is making the conceptual design. Conceptual design consists of two elements: data model and functional models.

Data modeling is a technique for organizing and documenting system's data. Process model is a technique for organizing and documenting a system's processes, inputs, outputs and data stores. Generally, these models give the following information. What all processes make up a system? What data are used in each process? What data are stored? What data enter and leave the system?

Process Modeling/Function Modeling Tools used are System Flowcharts DFD Data dictionary Decision table Decision tree Structure charts HIPO Diagram

A process specification (PSPEC) can be used to specify the processing details implied by a bubble within a DFD. The process specification describes the input to a function, the algorithm. It indicates restrictions and limitations imposed on the process (function), performance characteristics that are relevant to the process, and design constraints that may influence the way in which the process will be implemented. In other words, process specification is used to describe the inner workings of a process represented in a flow diagram.

The Control Specifications (CSPEC) is used to indicate (1) how the software behaves when an event or control signal is sensed and (2) which processes are invoked as a consequence of the occurrence of the event. The control specification (CSPEC) contains a number of important modeling tools. The control specification represents the behavior of the system in two ways. The CSPEC contains a state transition diagram that is sequential specification of behavior. It also contains a process activation table (PAT) -a combinatorial specification of behavior.

Structure Charts Prior to programming, the basic infrastructure of the program layout is prepared based on the concepts of modular programming. In modular programming, the complete system is coded as small independent interacting modules. Each module is aimed at doing one specific task. The design for these modules is prepared in the form of structure charts. A structure chart is a design tool that pictorially shows the relation between processing modules in computer software. Describes the hierarchy of components modules and the data are transmitted between them.

Structure charts contd.. Structure charts show the relation of processing modules in computer software. It is a design tool that visually displays the relationships between program modules. It shows which module within a system interacts and graphically depicts the data that are communicated between various modules. Structure charts are developed prior to the writing of program code. They are not intended to express procedural logic. This task is left to flowcharts and pseudocode.

Structure Chart Notation Program modules are identified by rectangles with the module name written inside the rectangle. Arrows indicate calls, which are any mechanism used to invoke a particular module.

Annotations on the structure chart indicate the parameter that are passed and the direction of the data movement. We see that modules A and B interact. Data identified as X and Y are passed to module B, which in turn passes back Z.

Data passing Two types of data are transmitted. The first, parameter data, are items of data needed in the called module to perform the necessary work. A small arrow with an open circle at the end is used to note the passing of data parameters. In addition, control information (flag data) is also passed. Its purpose is to assist in the control of processing by indicating the occurrence of, say, errors or end-of- conditions. A small arrow with a closed circle indicates the control information. A brief annotation describes the type of information passed. Structure chart is a tool to assist the analyst in developing software that meets the objectives of good software design.

Modularity Modularity is a very important feature of any software and allows a program to be intellectually manageable. The modular structure should reflect the structure of the problem. It should have the following properties. Intra-module property: Cohesion Inter module property: Coupling

HIPO Diagrams (hierarchy plus input-process-output) It used by systems analysts to present a high-level view of the functions performed by a system, as well as the decomposition of functions into sub functions, and so on. A useful modeling tool, because they look like the familiar organization chart that describes the hierarchy of managers, sub managers, and so on. However, the diagram does not show the data used by, or produced by the system. HIPO Diagram also consists of: VTOC (visual table of contents). Each function represented by a rectangular box can be described in further detail in an IPO (or input-process- output) diagram; a typical IPO diagram

VTOC Diagram

IPO Diagram

Data Modeling in system analysis (Conceptual Data Modeling) The data model focuses on what data should be stored in the database while the function model deals with how the data is processed.  The Data Stores from the DFD are picked up and based on the data being stored by them the Data Model of the system is prepared. We use ER Diagrams for data modeling.

Designing Distributed Systems Broad classification of 3 types of systems in the market: Personal system Embedded system Distributed system In a distributed system information processing is distributed over several computers rather than being done on a single computer. “A distributed system consists of a collection of autonomous computers, connected through a network and distribution middleware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility.”

Characteristics of distributed systems Certain common characteristics can be used to assess distributed systems • Resource Sharing Ability to use any hardware, software or data anywhere in the system. • Openness Openness is concerned with extensions and improvements of distributed systems. • Concurrency Components in distributed systems are executed in concurrent processes.

• Scalability Accommodate more users and respond faster. • Fault Tolerance H/w, s/w and network failure • Transparency Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components.

Advantages of distributed system Performance Reliability Incremental growth Sharing of data/resource Communication

Disadvantages of distributed system Complexity. Manageability. Unpredictability: response time depends on overall load of the network. Security.