Component-Level Design

Slides:



Advertisements
Similar presentations
Programming Logic and Design Fourth Edition, Introductory
Advertisements

CS /32 Illinois Institute of Technology CS487 Software Engineering Component Level Design & Design Documentation Instructor: David A. Lash.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Component-Level Design
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Program Design and Development
Jump to first page 1 System Design (Finalizing Design Specifications) Chapter 3d.
1 Chapter 16 Component-Level Design. 2 Component-Level Design  the closest design activity to coding  the approach:  review the design description.
TCS2411 Software Engineering1 Software Design Notations “Documenting the software blueprint”
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
COBOL for the 21 st Century Stern, Stern, Ley Chapter 1 INTRODUCTION TO STRUCTURED PROGRAM DESIGN IN COBOL.
Chapter 1 Program Design
Chapter 3 Planning Your Solution
BPC.1 Basic Programming Concepts
PRE-PROGRAMMING PHASE
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Structured COBOL Programming, Stern & Stern, 9th edition
Simple Program Design Third Edition A Step-by-Step Approach
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Ch:10 Component Level Design Unit 4. What is Component? A component is a modular building block for computer software Because components reside within.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Chapter 2 Problem Solving On A Computer 2.1 Problem Solving Steps Solving a problem on a computer requires steps similar to those followed when solving.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Design.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
The Software Development Process
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 11 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Chapter 16 Component-Level Design. 2 Component-Level Design  the closest design activity to coding  the approach: review the design description for.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CHAPTER 3 MODELING COMPONENT-LEVEL DESIGN.
The Hashemite University Computer Engineering Department
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Component-Level Design and User Interface Design Departemen Ilmu Komputer IPB 2009.
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Tevfik Bultan Lecture 4: Introduction to C: Control Flow.
P ROGRAMMING L OGIC GWDA123 Sharon Kaitner, M.Ed. Winter 2015: Week 2.
CSCI 161 Lecture 3 Martin van Bommel. Operating System Program that acts as interface to other software and the underlying hardware Operating System Utilities.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
 Problem Analysis  Coding  Debugging  Testing.
CIS 365: Visual Application Development Introduction to Computers and Programming.
Software Engineering Lecture 13: User Interface and Component-Level Design.
Software Testing.
Modern Systems Analysis and Design Third Edition
Chapter ? Quality Assessment
Modern Systems Analysis and Design Third Edition
Software Engineering: A Practitioner’s Approach, 6/e Chapter 11 Component-Level Design copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Programming Problem steps must be able to be fully & unambiguously described Problem types; Can be clearly described Cannot be clearly described (e.g.
Algorithm and Ambiguity
Component-Level Design
Unit# 9: Computer Program Development
Problem Solving Techniques
Component-Level Design
Chapter 16 Component-Level Design
Program Design Introduction to Computer Programming By:
Modern Systems Analysis and Design Third Edition
Object-Oriented Design
Chapter 2- Visual Basic Schneider
Modern Systems Analysis and Design Third Edition
Chapter 1 Introduction(1.1)
Chapter 2- Visual Basic Schneider
Chapter 7 Software Engineering.
Software Development Chapter 1.
Modern Systems Analysis and Design Third Edition
Chapter 10 – Component-Level Design
Presentation transcript:

Component-Level Design CIS 375 Bruce R. Maxim UM-Dearborn 11/30/2018

Component Definitions - 1 Component is a Modular Deployable replaceable part of a system Encapsulates implementation Exposes a set of interfaces Object-oriented view is that component contains a set of collaborating classes 11/30/2018

Component Definitions - 2 Traditional view is that a component (or module) reside in the software and serves one of three roles Control components coordinate invocation of all other problem domain components Problem domain components implement a function required by the customer Infrastructure components are responsible for functions needed to support the processing required in a domain application 11/30/2018

Component Definitions - 3 Process-Related view emphasizes building systems out of existing components chosen from a catalog of reusable components as a means of populating the architecture 11/30/2018

Structured (Traditional) Component Design Each block of code has a single entry at the top Each block of code has a single exit at the bottom Only three control structures are required: sequence condition (if-then-else) repetition (looping) Reduces program complexity by enhancing readability, testability, and maintainability 11/30/2018

Design Notation: Flowchart 11/30/2018

Design Notation: Box Diagram 11/30/2018

Box Diagram - Example S1 Case V of Case 1: while C2 do S2 S3 Case 2: if C3 then repeat S6 S7 until C1 else S8 S9 C1 11/30/2018

Design Notation: Decision Table   Rules Condition 1 2 Actions 11/30/2018

Condition N not numeric T F N <= 1 - N legal N prime Action Print “N prime” X Print “N not prime” Print error message Print “Good bye” Input new value for N Stop 11/30/2018

Program Design Language (PDL) 11/30/2018

Program Design Language (PDL) PDL - structured English or pseudocode used to describe processing details Fixed syntax with keywords providing for representation of all structured constructs, data declarations, and module definitions Free syntax natural language for describing processing features Data declaration facilities for simple and complex data structures Subprogram definition and invocation facilities 11/30/2018

Design Notation Assessment Criteria - 1 Modularity notation supports development of modular software Overall simplicity easy to learn, easy to use, easy to write Ease of editing easy to modify design representation when changes are necessary Machine readability notation can be input directly into a computer-based development system 11/30/2018

Design Notation Assessment Criteria - 2 Maintainability maintenance of the software configuration usually involves maintenance of the procedural design representation Structure enforcement enforces the use of structured programming constructs Automatic processing allows the designer to verify the correctness and quality of the design 11/30/2018

Design Notation Assessment Criteria - 3 Data representation ability to represent local and global data directly Logic verification automatic logic verification improves testing adequacy Easily converted to program code makes code generation quicker 11/30/2018