Presentation is loading. Please wait.

Presentation is loading. Please wait.

Component-Level Design

Similar presentations


Presentation on theme: "Component-Level Design"— Presentation transcript:

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

2 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

3 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

4 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

5 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

6 Design Notation: Flowchart
11/30/2018

7 Design Notation: Box Diagram
11/30/2018

8 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

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

10 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

11 Program Design Language (PDL)
11/30/2018

12 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

13 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

14 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

15 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


Download ppt "Component-Level Design"

Similar presentations


Ads by Google