Systems Development Lifecycle

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
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.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Traditional Approach to Design
Chapter 10 The Traditional Approach to Design
Chapter 9: The Traditional Approach to Design Chapter 10 Systems Analysis and Design in a Changing World, 3 rd Edition.
Chapter 4 Enterprise Modeling.
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.
Chapter 4.
Systems Analysis and Design 9th Edition
© Copyright 2011 John Wiley & Sons, Inc.
Process Modeling Chapter 6. Key Definitions A process model is a formal way of representing how a business operates Data flow diagramming shows business.
Chapter 7 Using Data Flow Diagrams
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 Key.
Chapter 9 Using Data Flow Diagrams
© Copyright 2011 John Wiley & Sons, Inc.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Chapter 4.
DATA FLOW DIAGRAMS IT 155.
User Interface Design Chapter 11. Objectives  Understand several fundamental user interface (UI) design principles.  Understand the process of UI design.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
staffs.ac.uk Process Model. staffs.ac.uk Contents Provide definitions Explain the components and representations Introduce a step.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system design 1 what is systems design? preparation of the system’s specifications with.
Data and Process Modeling
Chapter 9 Moving to Design. The Structured Approach To Designing The Application Architecture Module-an identifiable component of a computer program that.
Data Flow Diagrams A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths.
Business Process Management. Key Definitions Process model A formal way of representing how a business operates Illustrates the activities that are performed.
Phase 2: Systems Analysis
Chapter 7 Using Data Flow Diagrams
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Software Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes.
10 ITK261 The traditional approach to design Reading: Chapter 10 Oct 9, 11.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
SE: CHAPTER 7 Writing The Program
Cohesion and Coupling CS 4311
Structured Analysis.
Systems analysis and design, 6th edition Dennis, wixom, and roth
Interface Design Inputs and outputs –data flows to and from external entities –data flows into and out of processes that are manual or not fully automated.
1 ITEC 2010 Chapter 9 – Design The Structure Chart Structure chart –A hierarchical diagram showing the relationships between the modules of a.
CCSB223/SAD/CHAPTER131 Chapter 13 Designing the System Internals.
The World’s Simplest IS 1 Receive Data 2 Present Data Another Entity An Entity D1 Data Store Input Data Output.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Information Systems Architecture (ISA) Conceptual blueprint for organization’s desired information systems structure Consists of:  Data (e.g. Enterprise.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Systems Analysis and Design 8th Edition
11 Software Design CSCU 411 Software Engineering.
Systems Design.  Application Design  User Interface Design  Database Design.
CS223: Software Engineering
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
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.
7. Modular and structured design
Basic Concepts in Software Design
System Design and Modeling
Lecture 9- Design Concepts and Principles
Software Design Mr. Manoj Kumar Kar.
Software Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes.
Software Design CMSC 345, Version 1/11.
Lecture 9- Design Concepts and Principles
Design Module view What module should the system and which have to be developed . It determines the module structure of components.
Cohesion and Coupling.
Presentation transcript:

Systems Development Lifecycle Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design Implementation Maintenance

Four parts to a system design System architecture Interface design Database design Process design

Where to start? Two schools of thought: evolution: start with current system and identify changes revolution: start from scratch Either way, there are two approaches to modeling: data-driven - identify relevant data first process-driven - identify relevant functions first

System Modeling Approaches Data-driven: Identify major data entities Determine structure (attributes) of entities Identify processes that manipulate data Define data flows, sources, and sinks Process-driven: Identify major tasks Identify the inputs and outputs to the tasks Translate to processes and data flows Identify data stores and external sources and sinks Design structure of data End Result: a Data Flow Diagram

Data Flow Diagrams A structured analysis technique that employs a set of visual representations of the data that moves through the organization, the paths through which the data moves, and the processes that produce, use, and transform data.

Four Basic Symbols Source/ Sink Data Flow Process # Data Store # Naming: entities - noun data flows - noun high level process - system name other processes - verb/adjective/noun data stores - noun # Process # Data Store

A Generic Data Flow Diagram Source A 1 Receive Data n Present Data Sink D Output Input Output Input Source B Sink E Input Data Data Output Source C Sink F 2 Process Data 3 Process Data ... N-1 Process Data D1 Data Store

... Elements of the design Entity A Entity D Entity B Entity E 1 n Entity D Output Input Receive Data Present Data Output Input Entity B Entity E Data Data Input Output Entity C Entity F 2 3 ... N-1 Process Data Process Data Process Data Database Process Interface System Architecture D1 Data Store

Developing the Design Elements System architecture: set of processes in the Level 0 DFD of the proposed system (functional decomposition of system) Process (software) design: add logic and timing to all processes on DFD (logic models) Database design: derived from the ER diagram (conceptual data model) and data stores on the DFD Interface design: determine form and content of all input and output data flows on DFD, as well as overall interface

Process Design Designing the overall structure (architecture) of a software system Designing small pieces of computation Designing non-automated processes Use DFDs as a starting point

Standard Hierarchical Architecture

Alternative Architectures Pipeline Hierarchical Layered DB Mediated

Modularity Factoring - breaking the system up into modules Span of control - rule of thumb is that no module should control more than 7 subordinate modules Reasonable size - a module should fit on a page or a screen

Reuse At the lower levels of decomposition, there are often modules that performs the same function in different parts of the system These modules can be reused in different parts of the design Can make diagrams messy

Coupling Interdependence of modules 5 types: data - communication only through well-defined passing of specific data elements stamp - data passed is of larger granularity control - modules affect the control flow of other modules common - modules use common data content - modules modify each other

Cohesion Degree to which a module performs a single cohesive function 7 types: functional - ideal sequential - functions form a chain leading from input to output communicational - functions use the same data procedural - functions relate through flow of control temporal - functions happen at same time logical - functions related by some outside criterion coincidental - functions not related

Program Design Start with one process on a DFD or module on a structure chart Continue decomposing Introduce concept of time process steps control flow Define all decision conditions Include error and exception conditions

Notations for Process Design Control flow graphs Decision tables Decision graphs Structured English (pseudocode) 4GL Specification Language Mathematical notation

Control Flow Diagram Iteration Decision Control Flow Task Get Info Yes New Customer? Answer Call Take Order No Get Record Decision Control Flow Task

Relational Database Design Start with a conceptual data model determines the data entities and their structure Create tables to hold each entity and its attributes Create additional tables for relationships between entities Normalize and optimize

Interface Design Inputs and outputs User interaction data flows to and from external sources and sinks data flows into and out of processes that are manual or not fully automated User interaction how the user communicates with the system mechanisms for navigation, feedback, control, security, etc.

Input Accuracy and Efficiency Layout top to bottom, left to right group related items together separate titles from body from instructions clear titles and captions don’t be stingy with white space Eliminate typing checkboxes, pull-down menus, icons default values Checking accuracy check reasonableness of combinations predefined acceptable values check for proper format check for missing values

Assessing Usability Can assess an entire system for usability, or just one form or report User involvement in usability assessment is necessary Some measures: learning time user speed user accuracy user’s ability to remember system operation subjective assessments

Interaction Methods Command language - necessary on some older systems, but pretty much outdated Menus - most common at this point drop-down, pop-up Forms - good if the interaction consists of specific pieces of information Object-based (icons) - intuitive and space-efficient, but can be designed poorly Natural language - not there yet

Conventions When designing the overall user interface, you must decide on some conventions to be used throughout the system, e.g.: what different colors mean what certain symbols mean navigation mechanisms terminology artwork and logos

User Feedback Status Prompts Errors and warnings always let the user know what’s going on don’t let “no news be good news” Prompts tells the user what is expected of them convey as much guidance as possible within reason Errors and warnings convey importance suggest resolutions be careful of jargon