Software Design. Software design is a blueprint or a plan for a computerbased solution for system

Size: px
Start display at page:

Download "Software Design. Software design is a blueprint or a plan for a computerbased solution for system"

Transcription

1 Software Design

2 Software Design Software design is a blueprint or a plan for a computerbased solution for system Software design deals with transforming the customer requirements, as described by the SRS into a form that is implementable using a programming language According to the IEEE definition [IEEE ], design is both "the process of defining the architecture, components, interfaces, and other characteristics of a system or component" and "the result of that process.

3 Software Design (Contd..) The design process for software systems often has two levels : Top-level Design Detailed Design

4 Four Components of a Design Procedural Design Interface Design Architectural Design Data Design The Design Model

5 Design Objectives/Properties Correctness Verifiability Completeness Traceability Efficiency Simplicity

6 Design Principles Partitioning Abstraction Modularity Top-down and Bottom-up approach

7 Partitioning Basic principle "divide and conquer" Divide the problem into manageably small pieces Ideally,each piece can be solved separately Ideally, each piece can be modified separately Pieces cannot be independent; they must communicate Communication adds complexity As number of components increases, this cost increases Stop partitioning when cost is more than benefit Results in hierarchies in the design

8 Abstraction Abstraction is a view of an object that focuses on the information relevant to a particular purpose and ignores the remainder of the information An abstraction of a component describes the external behaviour of the system without bothering with the internal details that produce the behaviour To allow the designer to concentrate on one component at a time, abstraction of other component is used

9 Abstraction (Contd..) Functional Abstraction Data abstraction

10 Top- Down and Bottom up strategies A top-down approach starts by identifying the major component of the system, decompose them into lower level components and iterating until the desired level of detail is achieved. Stepwise refinement

11 Top- Down and Bottom up strategies (contd ) A bottom-up approach starts with designing most basic or primitive components and proceeds to higher level components that uses these lower-level components Work with layers of abstraction

12 Modularity Modularity refers to the degree to which software can be understood by examining its components independent of one another A system is considered modular if it consist of discrete components so that each component can be implemented separately and a change to one component has minimal impact on other components

13 Functional Independence A module having high cohesion and low coupling is said to be functionally independent of other module Error Isolation Scope of reuse Understandability

14 Cohesion The measure of strength of the association of elements within a module is known as cohesion Degree of interaction within a module

15 Types of Cohesion Functional Cohesion Sequential Cohesion Communicational Cohesion Procedural Cohesion Temporal Cohesion Logical Cohesion Coincidental Cohesion

16 Functional Cohesion A module exhibits ``functional cohesion'' if it supports activities needed for the execution for one and only one problemrelated task. Example Compute cosine of angle Calculate net employee salary Sort the array

17 Sequential Cohesion A sequentially cohesive module is one whose elements are involved in activities such that output data from one activity serves as input data to the next. Example

18 Communicational Cohesion Communicational cohesion occurs when the elements of a module are grouped together because they operate on same input or output data Example

19 Procedural Cohesion Procedural cohesion occurs when the elements of a module are related because they operate according to a particular procedure Elements are related only by sequence, otherwise the activities are unrelated Example

20 Temporal Cohesion A temporarily cohesive module is one whose elements are functions that are related in time. Example module initialise set counter to 0 open student file clear error message variable initialise array

21 Logical Cohesion A logically cohesive module is one whose elements performs activities of the same general category. For example, a report module, display module or I/O module

22 Coincidental Cohesion Coincidental cohesion occurs when elements contribute to activities that have no meaningful relationship to one another. Module performs multiple, completely unrelated actions. Example print next line, reverse string of characters comprising second parameter, add 7 to fifth parameter, convert fourth parameter to floating point

23 Classification of Cohesion

24 Determining Module Cohesion Functional Yes Doing one function only? Coincidental Sequential Yes No No Sequence important? Data Module related by? None Activities same category? Yes Communicational Procedural No Sequence important? Yes Control Flow No Logical Temporal

25 Coupling The degree of interdependence between two modules. Highly coupled modules great deal of dependence between components Loosely coupled modules some dependence but interconnections are weak Uncoupled modules no interconnections at all

26 Goal is to Minimize Coupling Enable us to change the portion of the system while disrupting the rest of the system as little as possible

27 Types of Coupling Data Coupling Stamp Coupling Control Coupling Common Coupling Content Coupling

28 Data Coupling Modules communicate by passing simple data parameters Process Results Each parameter is an elementary piece of data mark grade Calculate Grade

29 Stamp Coupling A composite data is passed between modules Not all of the individual components of the data may not be used record Process Results updated record Update Grade

30 Control Coupling One module passes an element of control to another. Check record One module directs the order of instruction execution of another module by passing necessary control information Error code Display error

31 Common Coupling When two modules refer to the same global data area Process Results Global data updated record Update Grade

32 Content Coupling Two modules are content coupled if one directly references the contents of another. One module branches into another module. One module references or alters data contained inside another module Module A modifies the statement of module B.

33 Range of Coupling Content High Coupling Common Control Stamp Loose Data Uncoupled Low

34 General Design Approaches Function Oriented Design Structured Design by Constantine and Yourdon Jackon s structured design Warnier-Orr Methodology Step-wise refinement by Writh Object Oriented Design

35 Structured Design Structured Design is a process-oriented technique to divide a system into a hierarchy of modules leading to programs that are easy to develop and maintain The basic approach in system design is systematic conversation o data flow diagrams into structure chart

36 Structure Chart Notation

37 Structure Chart Notation (contd )

38 Example Modules on level 2 can be decomposed further

39 Repetition

40 Structure Chart - Module Rectangle represents a module (program or subroutine) Control Modules (mainline) branch to sub-modules Library modules are reusable and can be invoked from more than one Control Module elsewhere in the system

41 Selection

42 Physical Physical to to Logical Logical DFDs DFDs AZ104 form AZ104 form Bill checks Bill form checks form checked AZ104 form checked AZ104 form Master File Master File sales order sales order Validate Validate sales order sales order valid sales order valid sales order Sales orders Sales orders

43 Physical DFD

44 Logica l DFD

45 Structured Analysis Study existing system: What is done and how Prepare physical current DFD Convert this DFD to logical DFD Remove physical implementation-specific details Prepare DFD for proposed system - requires innovation, experience, vision Incorporate new needs Improve work flows (BPR: business process re-engg) Introduce efficiency/effectiveness Define boundary for automation (scope)

46 Automation Boundary on a System-Level DFD

47 SSA/SD process 1. Construct an initial DFD for each major component to provide a top level description of the problem. context diagram) 2. Review and refine DFDs for the major components until a sufficient degree of cohesion is achieved for processes; one elaborates the context diagram into a layered hierarchy of DFDs, supported by a data dictionary. 3. Determine whether each DFD has a transformational or transactional flow characteristics. The remaining steps depend on the outcome of step 3

48 Transformational Flow Data continuously moves through a collection of incoming flow processes transform center processes and finally outgoing flow processes

49 Transform Analysis (contd..) Input portion in the DFD: processes which convert input data from physical to logical form. Each input portion is called an afferent branch. Possible to have more than one afferent branch in a DFD. Output portion of a DFD: transforms output data from logical form to physical form. Each output portion is called an efferent branch. The remaining portions of a DFD called central transform

50 Transform Analysis 4.Isolate the transform center by specifying incoming and outgoing flow boundaries. Determine most abstract data input and most abstract data output (Identify the transform center by specifying Most Abstract Input and Output Data Elements)

51 Transform Analysis (contd..) Divide the DFD into 3 types of parts: Afferent stream, Central transform, Efferent stream

52 Transform Analysis 5. Perform first level factoring

53 First- Cut Structure Chart for word count Problem

54 Transform Analysis (contd..) 6. Perform second level factoring

55 Transform Analysis (contd..) 7.Refine the first iteration program structure using design heuristics for improved software quality

56 Design heuristics for effective modularity Reduce coupling and increase cohesion Explode complicated modules into multiple modules Implode related modules Minimize structures with high fan-out Strive for fan-in as depth increased Keep scope of effect within in the scope of control Tune module interfaces to reduce complexity

57 Transform Mapping

58 Level 3 DFD for Monitor Sensors with flow boundaries

59 First level factoring for monitor sensors

60 Second Level Factoring

61 First-Iteration program structure for monitor sensors

62 Refined program structure for monitor sensors

63 Transactional Flow Data continuously moves through a collection of incoming flow processes reaches a particular transaction centre processes and then follows one of a number of actions paths. Each actions path is again a collection of processes

64 Example of Transaction Flow user commands action paths read user command command type invoke command processing

65 Railway reservation transaction stimuli

66 Transaction Flow Transaction: Information flow is often characterized by a single data item, that triggers other data flow along one of many paths Action Paths :The transaction is evaluated and based on its value flow along one of many action paths ; implements different types of functionalities Transaction center :The hub of info flow from which many action paths originate, evaluates transaction and initialize the correct action path Transact ion Transaction center T Action paths

67 Transaction Analysis 4.Identify the transaction center and the flow characteristics along each of the action paths. isolate incoming path and all action paths each action path evaluated for its flow characteristic.

68 5. Perform first level factoring for a transactional flow; map the DFD to a program structure amenable to transaction processing

69 5.Factor and refine the transaction structure and the structure of each action path. 6. Refine the first iteration program structure using design heuristics for improved software quality.

70 Transaction Mapping

71 Level 2 DFD for user transaction subsystem with flow boundaries

72 First level factoring for user interaction subsystem

73 Transaction mapping (contd..) Factor and refine the transaction structure and the structure of each action path Refine the first iteration program structure using design heuristics for improved software quality

74 First-iteration architecture for user interaction subsystem

75

76 Stock New Stock Level Warehouse Stock Levels Delivery Notes Item No 1 Validate Orders Valid Orders 2 Check Stock Available Orders 3 Write Del.Notes Orders Partially Available Orders Available Part Orders Customer 3 Split Order Non-available Part Orders Back Orders

77 New Stock Level Stock Levels Delivery Notes Item No 1 Validate Orders Valid Orders 2 Check Stock Available Orders 3 Write Del.Notes Orders Partially Available Orders 3 Split Order Available Part Orders Non-available Part Orders

78 2 Check Stock Available Orders Valid Orders Stock Levels 1 Validate Orders New Stock Level Partially Available Orders Delivery Notes 3 Write Del.Notes Orders Item No 3 Split Order Available Part Orders Non-available Part Orders

79 5 Process Orders Partially Available Orders 2 Check Stock Partially Available Orders 3 Split Order Non-available Part Orders Valid Orders Available Orders Available Part Orders New Stock Level 1 Validate Orders Stock Levels 3 Write Del.Notes Delivery Notes Item No Orders

80 2 Check Stock 5 Process Orders Partially Available Orders Partially Available Orders 3 Split Order Non-available Part Orders Orders Available Orders Available Part Orders Item No 1 Validat e Orders Stock Levels Orders New Stock Level 3 Write Del.Note s Delivery Notes

81 Check Stock Valid Orders Orders Stock Levels Available Orders New Stock Level Partially Available Orders Validate Orders Orders Item No Split Order End of Orders Available Part Orders Non-available Part Orders Write Delivery Notes Delivery Notes

82 Check Stock Valid Orders Orders Stock Levels Available Orders New Stock Level Partially Available Orders Validate Orders Split Order Orders End of Orders Item No Non-available Part Orders Available Part Orders Read Orders Read Stock Write Stock Write Back Stock Write Delivery Notes

83 Verification Review Review process involves a group of people get together to discuss the design with the aim of revealing design errors or undesirable properties Errors include omissions, misinterpretation of requirements, weak modularity etc.

84 Detailed Design A processing narrative must be developed for each module. Using process design language An interface description is provided for each module. Local and global data structures are refined or designed. A design review is conducted. Optimization is considered (if required and justified).

85 Process Design Language Mimax(file) Array a Do Until end of input Read an item into a Enddo max,min:=first item of a DO FOR each item in a IF max<item THEN set max to item IF min >item THEN set min to item ENDDO END

Unit-3 Software Design (Lecture Notes)

Unit-3 Software Design (Lecture Notes) Unit-3 Software Design (Lecture Notes) Prepared by Jay Nanavati, Assistant Professor, SEMCOM Topics Software Design - Introduction Design Principles Module Level concepts Overview of Structured design

More information

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.

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. 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. There are essentially 5 different types of symbols used

More information

UNIT III. Software Design

UNIT III. Software Design UNIT III Software Design Design Specification Models Data design - created by transforming the analysis information model (data dictionary and ERD) into data structures required to implement the software

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

More information

Darshan Institute of Engineering & Technology for Diploma Studies

Darshan Institute of Engineering & Technology for Diploma Studies REQUIREMENTS GATHERING AND ANALYSIS The analyst starts requirement gathering activity by collecting all information that could be useful to develop system. In practice it is very difficult to gather all

More information

SE Notes Mr. D. K. Bhawnani, Lect (CSE) BIT

SE Notes Mr. D. K. Bhawnani, Lect (CSE) BIT Unit 3 Design concepts and principles 1 Software Design 1. Software design deals with transforming the customer requirements, as described by the SRS document, into a form that is implementable using a

More information

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur Module 5 Function-Oriented Software Design Lesson 12 Structured Design Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the aim of structured design. Explain

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING. 2 Marks and 11 Marks for Unit - 3

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING. 2 Marks and 11 Marks for Unit - 3 DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Subject Name: Subject Code: Staff name: Software Engineering CS T55 Dr K. Shantha Kumari 2 Marks and 11 Marks for Unit - 3 Software Design and Function Oriented

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

Software Metrics and Design Principles. What is Design?

Software Metrics and Design Principles. What is Design? Software Metrics and Design Principles Chapters 5,8 What is Design? Design is the process of creating a plan or blueprint to follow during actual construction Design is a problem-solving activity that

More information

9 Structured design. Overview of structured design. Transaction analysis. Transform analysis. System integration

9 Structured design. Overview of structured design. Transaction analysis. Transform analysis. System integration 9 Structured design Overview of structured design Transaction analysis Transform analysis System integration 9.3 Structured design After SSA has produced a set of DFDs, there are three steps to turn the

More information

Software Architecture and Design I

Software Architecture and Design I Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How

More information

Software Design Fundamentals. CSCE Lecture 11-09/27/2016

Software Design Fundamentals. CSCE Lecture 11-09/27/2016 Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -

More information

Structured Analysis and Structured Design

Structured Analysis and Structured Design Structured Analysis and Structured Design - Introduction to SASD - Structured Analysis - Structured Design Ver. 1.5 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr References Modern

More information

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING VETRI VINAYAHA COLLEGE OF ENGINEERING AND TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS6403 SOFTWARE ENGINEERING II year/ IV sem CSE (Regulation 2013) UNIT 1- SOFTWARE PROCESS AND PROJECT

More information

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 Failure Rate Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1 SOFTWARE (What is Software? Explain characteristics of Software. OR How the software product is differing than

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS SOFTWARE ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK TWO MARKS UNIT I SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering

More information

Introduction to System Design

Introduction to System Design Introduction to System Design Software Requirements and Design CITS 4401 Lecture 8 System Design is a creative process no cook book solutions goal driven we create a design for solving some problem constraint

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

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman

Design Process Overview. At Each Level of Abstraction. Design Phases. Design Phases James M. Bieman CS314, Colorado State University Software Engineering Notes 4: Principles of Design and Architecture for OO Software Focus: Determining the Overall Structure of a Software System Describes the process

More information

System development, design & implementation

System development, design & implementation System development, design & implementation Design of software The following are the principle for any software design : Modularity and partitioning : Top down methods are used through out the analysis

More information

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

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

Darshan Institute of Engineering & Technology Unit : 3

Darshan Institute of Engineering & Technology Unit : 3 1) Explain design concepts. A set of fundamental software design concepts has evolved over the past four decades. Although the degree of interest in each concept has varied over the years, each has tood

More information

From Module To Objects

From Module To Objects From Module To Objects It is very difficult to maintain a large monolithic block of code The solution is to divide the code into smaller pieces, called modules What is a Module? A small and manageable

More information

Requirement Analysis

Requirement Analysis Requirement Analysis Requirements Analysis & Specification Objective: determine what the system must do to solve the problem (without describing how) Done by Analyst (also called Requirements Analyst)

More information

1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called

1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called CH 3 MULTIPLE CHOICE 1. The narratives, diagrams, charts, and other written materials that explain how a system works are collectively called a) documentation. b) data flows. c) flowcharts. d) schema.

More information

Chapter 9. Process Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 9. Process Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 9 Process Modeling McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives Define systems modeling and differentiate logical and physical models. Define

More information

information process modelling DFDs Process description

information process modelling DFDs Process description Process modelling IMS9300 IS/IM FUNDAMENTALS information process modelling DFDs Process description processes are the action part of businesses process modelling graphically represents the processes which

More information

SOFTWARE LAYERS AND MEASUREMENT

SOFTWARE LAYERS AND MEASUREMENT SOFTWARE LAYERS AND MEASUREMENT Jean-Marc Desharnais, Software Engineering Laboratory in Applied Metrics Denis St-Pierre, DSA Consulting Inc. Serge Oligny, Laboratoire de recherche en gestion des logiciels

More information

Software Engineering Design Principles. Presented by Pratanu Mandal of CSE 3A Roll 54 JISCE

Software Engineering Design Principles. Presented by Pratanu Mandal of CSE 3A Roll 54 JISCE Software Engineering Design Principles Presented by Pratanu Mandal of CSE 3A Roll 54 JISCE Introduction In this presentation we deal with design principles of software projects. Software design is a phase

More information

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II)

Software Engineering Prof.N.L.Sarda IIT Bombay. Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) Software Engineering Prof.N.L.Sarda IIT Bombay Lecture-11 Data Modelling- ER diagrams, Mapping to relational model (Part -II) We will continue our discussion on process modeling. In the previous lecture

More information

CHAPTER 4 Data and Process Modeling (Phase 2: Systems Analysis)

CHAPTER 4 Data and Process Modeling (Phase 2: Systems Analysis) CHAPTER 4 Data and Process Modeling (Phase 2: Systems Analysis) Jakrapop Maisen DATA FLOW DIAGRAMS A data flow diagram (DFD) shows how data moves through an information system but does not show program

More information

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

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III Analysis Modeling What is Analysis Modeling? Analysis modeling uses a combination of text and diagrammatic forms to depict(represent) requirements for data, function, and behavior These text and diagrammatic

More information

Transformation of analysis model to design model

Transformation of analysis model to design model 2010 International Conference on E-business, Management and Economics IPEDR vol.3 (2011) (2011) IACSIT Press, Hong Kong Transformation of analysis model to design model Lalji Prasad Truba College of Engineering

More information

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT

UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT PART A (2 MARKS) UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

R.S. Pressman & Associates, Inc. For University Use Only

R.S. Pressman & Associates, Inc. For University Use Only Software Engineering: A Practitioner s Approach, 6/e Chapter 10 Architectural Design copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student

More information

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU Process Modeling Based on Chapter 9 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007 Wei-Tsong Wang 1 IIM, NCKU 2 Models: Logical and

More information

CS 292 Software Development

CS 292 Software Development CS 292 Software Development and Professional Practice Structured Design and More Design Principles CS 292 Design Principles 1 Unless otherwise expressly stated, all original material of whatever nature

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.

Object-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach. Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction

More information

System Design and Modular Programming

System Design and Modular Programming CS3 Programming Methodology Lecture Note D1, 2 November 2000 System Design and Modular Programming System design involves meeting competing requirements and satisfying constraints on the system and the

More information

CSE Information Systems 1

CSE Information Systems 1 CSE1204 - Information Systems 1 Detailed Process Definitions; The Data Dictionary Data Dictionary the data dictionary is a database or repository of information about objects identified during systems

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Lecture 9: Real-Time Software Design Issues

Lecture 9: Real-Time Software Design Issues Lecture 9: Real-Time Software Design Issues 1 System engineering Characteristics of software-intensive systems Requirements vs. design Modularization: cohesion and coupling Development hints: timing, data,

More information

Process and data flow modeling

Process and data flow modeling Process and data flow modeling Vince Molnár Informatikai Rendszertervezés BMEVIMIAC01 Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology

More information

Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE 9/22/2017. CHAPTER 5 Slide 5.2. Stephen R. Schach. Overview Slide 5.

Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE 9/22/2017. CHAPTER 5 Slide 5.2. Stephen R. Schach. Overview Slide 5. Slide 5.1 CHAPTER 5 Slide 5.2 Object-Oriented and Classical Software Engineering THE TOOLS OF THE TRADE Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 5.3 Overview (contd) Slide

More information

Software design descriptions standard

Software design descriptions standard Tuffley Computer Services Pty Ltd Quality Management System Software design descriptions standard Version: 2.0 Date: 09/05/11 Status: Approved Copy no.: Controlled Approved by: Approver s name: Approver

More information

Strategies of Systems Engineering Development

Strategies of Systems Engineering Development p. 1/2 ENES 489P Hands-On Systems Engineering Projects Strategies of Systems Engineering Development Mark Austin E-mail: austin@isr.umd.edu Institute for Systems Research, University of Maryland, College

More information

06. Analysis Modeling

06. Analysis Modeling 06. Analysis Modeling Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Overview of Analysis Modeling 1 Requirement Analysis 2 Analysis Modeling Approaches

More information

We move from a general information system to a Computer Based Information System

We move from a general information system to a Computer Based Information System Introduction to Information Systems: In this section of the course we start to think of the computer as just being a component in a system which may contain one or many computers linked together. An Information

More information

Programming Logic and Design Seventh Edition Chapter 2 Elements of High-Quality Programs

Programming Logic and Design Seventh Edition Chapter 2 Elements of High-Quality Programs Programming Logic and Design Chapter 2 Elements of High-Quality Programs Objectives In this chapter, you will learn about: Declaring and using variables and constants Assigning values to variables [assignment

More information

Functional Design of Web Applications. (partially, Chapter 7)

Functional Design of Web Applications. (partially, Chapter 7) Functional Design of Web Applications (partially, Chapter 7) Functional Design: An Overview Users of modern WebApps expect that robust content will be coupled with sophisticated functionality The advanced

More information

CS6403 SOFTWARE ENGINEERING Year / Sem : II / IV Sub. Code &Subject : CS6403 SOFTWARE ENGINEERING QUESTION BANKWITH ANSWERS

CS6403 SOFTWARE ENGINEERING Year / Sem : II / IV Sub. Code &Subject : CS6403 SOFTWARE ENGINEERING QUESTION BANKWITH ANSWERS CS6403 SOFTWARE ENGINEERING Year / Sem : II / IV Sub. Code &Subject : CS6403 SOFTWARE ENGINEERING QUESTION BANKWITH ANSWERS UNIT 1-SOFTWARE PROCESS AND PROJECT MANAGEMENT 1. What is software engineering?

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

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) A process has a: 1) A) pronoun label B) noun phrase label C) verb phrase label D) adjective

More information

Methods for requirements engineering

Methods for requirements engineering Methods for requirements engineering Objectives To explain the role of methods and techniques in requirements engineering To introduce data-flow modelling To introduce semantic data modelling To introduce

More information

Process Modelling. Data flow Diagrams. Process Modelling Data Flow Diagrams. CSE Information Systems 1

Process Modelling. Data flow Diagrams. Process Modelling Data Flow Diagrams. CSE Information Systems 1 CSE104 - Information s 1 Process Modelling Data Flow Diagrams Process Modelling Process modelling aims to graphically represent the processes which capture, manipulate, store and distribute data. data

More information

Method & Tools for Program Analysis & Design

Method & Tools for Program Analysis & Design Method & Tools for Program Analysis & Design TMB208 Pemrograman Teknik Kredit: 3 (2-3) 1 Programming Logic and Design, Introductory, Fourth Edition 2 1 Programming Methods Based on structures of programming

More information

Requests Charges. Librarian. University affiliated patrons students, faculty, staff. Media Center Staff

Requests Charges. Librarian. University affiliated patrons students, faculty, staff. Media Center Staff Catherine Rutan INFO 530-901 Dr. Valerie Yonker Circulation of Media Materials from University Media Center: Requests Charges Librarian Circulation Desk Attendant Inquires University ID # (Primary Key)

More information

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. Software Engineering: A Practitioner s Approach, 6/e Chapter 10 Architectural Design copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student

More information

Modelling: Review. Modelling Information Systems. Models in analysis and design. Process Modelling. Modelling perspectives

Modelling: Review. Modelling Information Systems. Models in analysis and design. Process Modelling. Modelling perspectives Modelling: Review IMS100 Systems Analysis and Design Topic Review of Process Modelling Why do we do it? Communication and understanding Simplification all models are simplifications of the real world:

More information

Software Design. Levels in Design Process. Design Methodologies. Levels..

Software Design. Levels in Design Process. Design Methodologies. Levels.. Design Software Design Design activity begins with a set of requirements Design done before the system is implemented Design is the intermediate language between requirements and code Moving from problem

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 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 7 Integrated Object-Oriented Methodologies: OPEN and FOOM 1 Object-oriented Process, Environment and Notation (OPEN) First introduced in

More information

Measuring Complexity

Measuring Complexity Measuring Complexity outline why should we measure the complexity of a software system? what might we want to measure? complexity of the source code within a code module between code modules complexity

More information

(Team Name) (Project Title) Software Design Document. Student Name (s):

(Team Name) (Project Title) Software Design Document. Student Name (s): (Team Name) (Project Title) Software Design Document Student Name (s): TABLE OF CONTENTS 1. INTRODUCTION 2 1.1Purpose 2 1.2Scope 2 1.3Overview 2 1.4Reference Material 2 1.5Definitions and Acronyms 2 2.

More information

13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515 2 1 Traditional Approach to Requirements Data Flow Diagram (DFD) A graphical system model that shows all of the main requirements for an information

More information

UNIT III DESIGN CONCEPTS AND PRINCIPLES

UNIT III DESIGN CONCEPTS AND PRINCIPLES UNIT III DESIGN CONCEPTS AND PRINCIPLES Design process and concepts modular design design heuristic design model and document. Architectural design software architecture data design architectural design

More information

CSC 330 Object Oriented Software Design. Software Design Phase

CSC 330 Object Oriented Software Design. Software Design Phase CSC 330 Object Oriented Software Design Software Design Phase 1 Overview Overview Design and abstraction Action-oriented design Data flow analysis Transaction analysis Data-oriented design Object-oriented

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

Unit 1 Introduction to Software Engineering

Unit 1 Introduction to Software Engineering Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering

More information

System Design. Design: HOW to implement a system

System Design. Design: HOW to implement a system System Design Design: HOW to implement a system Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications 1

More information

10조 이호진 이지 호

10조 이호진 이지 호 10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.

More information

AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072.

AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072. AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL Fiona Rohde Department of Commerce The University of Queensland, 4072. Australia ABSTRACT Within the discipline of information systems, numerous

More information

Unit-II Programming and Problem Solving (BE1/4 CSE-2)

Unit-II Programming and Problem Solving (BE1/4 CSE-2) Unit-II Programming and Problem Solving (BE1/4 CSE-2) Problem Solving: Algorithm: It is a part of the plan for the computer program. An algorithm is an effective procedure for solving a problem in a finite

More information

SIF8035. Events and System Requirements

SIF8035. Events and System Requirements SIF8035 Lecture 4 DFD and PrM Events and System Requirements Events Occurrences at a specific time and place Trigger all system processing Requirement definition Determine relevant events External events

More information

Knowledge-based Automation of a Design Method for Concurrent Systems

Knowledge-based Automation of a Design Method for Concurrent Systems Knowledge-based Automation of a Design Method for Concurrent Systems Kevin L. Mills ational Institute of Standards and Technology, Gaithersburg, Maryland 20899 USA Hassan Gomaa George Mason University,

More information

CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam

CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam CS504-Softwere Engineering -1 Solved Subjective Midterm Papers For Preparation of Midterm Exam CS504 Subjective Midterm Examination 2011 Question No: 1 ( Marks: 3 ) Define Asynchronous Messages and Synchronous

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18

Lecturer: Sebastian Coope Ashton Building, Room G.18 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 http://www.csc.liv.ac.uk/~pbell/comp201.html Lecture 13 Design

More information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Managing Change and Complexity

Managing Change and Complexity Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more

More information

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of Computer Science Technische Universität Darmstadt Dr.

More information

Unit Wise Questions. Unit-1 Concepts

Unit Wise Questions. Unit-1 Concepts Unit Wise Questions Unit-1 Concepts Q1. What is UML? Ans. Unified Modelling Language. It is a Industry standard graphical language for modelling and hence visualizing a blue print of all the aspects of

More information

Design Methodology. Outline

Design Methodology. Outline Outline Modular ity Design Methodology Over view HIPO Other Methodologies Tool-Specific Design Modular ity Benefits of Modular Design reduces complexity reduces effor t facilitates change facilitates implementation

More information

Software Engineering Principles

Software Engineering Principles 1 / 19 Software Engineering Principles Miaoqing Huang University of Arkansas Spring 2010 2 / 19 Outline 1 2 3 Compiler Construction 3 / 19 Outline 1 2 3 Compiler Construction Principles, Methodologies,

More information

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam

CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam CS504-Softwere Engineering -1 Solved Objective Midterm Papers For Preparation of Midterm Exam MIDTERM EXAMINATION 2010 Question No: 1 ( Marks: 1 ) - Please choose one By following modern system engineering

More information

Parallel Computing. Parallel Algorithm Design

Parallel Computing. Parallel Algorithm Design Parallel Computing Parallel Algorithm Design Task/Channel Model Parallel computation = set of tasks Task Program Local memory Collection of I/O ports Tasks interact by sending messages through channels

More information

2015 HSC Software Design and Development Marking Guidelines

2015 HSC Software Design and Development Marking Guidelines 2015 HSC Software Design and Development Marking Guidelines Section I Multiple-choice Answer Key Question Answer 1 C 2 A 3 B 4 D 5 B 6 C 7 B 8 C 9 C 10 A 11 B 12 D 13 A 14 A 15 C 16 D 17 B 18 D 19 B 20

More information

CSEB233: Fundamentals of Software Engineering. Software Design

CSEB233: Fundamentals of Software Engineering. Software Design CSEB233: Fundamentals of Software Engineering Software Design Objectives Explain set of design principles, concepts, and practices Describe five design models complete design specification: required for

More information

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior

CS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior CS 307: Software Engineering Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person

More information

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

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel Chapter 8 Database Design Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: That successful database design must reflect the information

More information

Overview. What is system analysis and design? Tools and models Methodologies

Overview. What is system analysis and design? Tools and models Methodologies Overview What is system analysis and design? Tools and models Methodologies Information Systems What is a system? Why do systems fail? What is systems analysis and design? How do we do systems analysis?

More information

MCQS for Midterm cs504 Combined by Anees Ahmad

MCQS for Midterm cs504 Combined by Anees Ahmad MCQS for Midterm cs504 Combined by Anees Ahmad The best way to conduct a requirements validation review is to examine the system model for errors have the customer look over the requirements send them

More information

SENG 421: Software Metrics

SENG 421: Software Metrics SENG 421: Software Metrics Measuring Internal Product Attributes: Structural Complexity (Chapter 6) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/06/

More information

Data and Process Modeling

Data and Process Modeling Chapter 5 Data and Process Modeling 5 CHAPTER Data and Process Modeling Chapter 5 is the second of four chapters in the systems analysis phase of the SDLC. This chapter discusses data and process modeling

More information