487 390 main 487 371 rice
play

487-390 Main 487-371 Rice 1 487-390 Main 487-371 Rice 2 3 - PowerPoint PPT Presentation

487-390 Main 487-371 Rice 1 487-390 Main 487-371 Rice 2 3 Data Design Transform the information domain (created in analysis) into Data structures. Architectural Design: Defines the relationship between major structural


  1. 487-390 Main 487-371 Rice 1

  2. 487-390 Main 487-371 Rice 2

  3. 3

  4. • Data Design – Transform the information domain (created in analysis) into Data structures. • Architectural Design: – Defines the relationship between major structural elements of the software. – The design patterns that can be used to achieve the goal • Interfaces Design - How the system interfaces: – With itself (procedure calls) – With other systems – With users (Screens) • Components Design – Structural elements into procedural description 4

  5. • Abstraction - Each step of the SW process refines the solution and removes levels of abstraction: – High level – user and environment – Low levels – code 5

  6. • Describes: – the structure of a program: • how the modules interact – the structure of the data. 6

  7. • Organization of the modules within a program – Does not show sequence of processes – It shows how modules call each other • Hierarchy of Control • TreeLike Notation – Represents hierarchical control for call and return architecture (example Pressman Page 347) 7

  8. • A good module has functional independence. • It is achieved by developing modules with "single-minded" function • Functional Independence is measured by looking at the cohesion and coupling of the modules. 8

  9. • Each module should have a central theme or purpose. – Should be able to describe a cohesive module using a sentence with one subject and one verb • High cohesion is good. Low cohesion is to be avoided. 9

  10. • Coincidentally cohesive (worst): – module performs tasks that are related loosely or maybe not at all. – Example: divide the monolithic program into modules using a ruler • Logically Cohesive (low): – Logically related tasks in one module – Example: A module that does all errors processing tasks. • Temporal cohesion (low): – tasks of a module are related because they must be executed in the same time span . – Example: Clean up tasks at the end of processing 10

  11. • Communicational cohesion (moderate): – all processing elements concentrate on one area of a data structure. – Update the record in the database and add to audit trial. – module performs one distinct task. – Example: a Procedure that computes the shipping cost of an order. 11

  12. • Refers to the degree of interconnectedness between modules • Minimize coupling to reduce the ripple effect when changes are made. • The goal is to reduce connection paths between modules. • High coupling limits reuse. • lowest possible coupling 12

  13. • Data coupling (low): – Only simple data items are passed • Stamp coupling (low): – A structure is passed, even though only a portion of the data items are needed. • Control coupling (moderate): – a "control flag", variable that controls decisions in a subordinate or super-ordinate module is passed. • External coupling (high): – modules are tied to an environment. I/O ties modules to a specific device, formats and communication protocols. 13

  14. • Common coupling (high) – modules reference a global data area. • Content coupling (highest): – when one module makes use of data or control information maintained within the boundary of another module. • This should always be avoided 14

  15. • Data Design – Transform the information domain (created in analysis) into Data structures. • Architectural Design: – Defines the relationship between major structural elements of the software. – The design patterns that can be used to achieve the goal • Interfaces Design - How the system interfaces: – With itself (procedure calls) – With other systems – With users (Screens) • Components Design – Structural elements into procedural description 15

  16. Chapter 14 16

  17. • To View and Evaluate the system as a whole before moving to component design. – Blueprint of a house • 1 st the foot print of the house is designed • Then plumping and electrical plans are drawn. 17

  18. • Data Design – Transforms data elements in the Requirement Specification (ERD, data dictionary) into data structures. – Represent the data component of the architecture • Architectural Design – Define a family of system in terms of a pattern of structural organization • i.e. Ranch vs. Victorian House. – Focuses on the structure of the SW components • Properties and • interactions 18

  19. Approaches to Selecting an Architectural Design for a system • Analyze the needs of the system – Requirements, – Constraints, and the – Environment • Evaluate different architectures – Pick the best • Map requirements of your system into the selected architecture. 19

  20. • Is a pattern for construction: – Should guide the builder – Ranch style, Victorian Style will give you a general idea on the architecture of the system – Each style encompasses a set of Categories 20

  21. • They Define the Architectural Style: – Components that perform a function • Database, simple computational modules, clients, servers and filters. – Connectors, enable communications • Define how the components communicate, coordinate and cooperate – Call, event broadcasting, pipes – Constraints • Define how the system can be integrated – Semantic Models • Specify how to determine a system’s overall properties from the properties of its parts. 21

  22. • Data Flow Systems: (Figure Page 373 ) – Batch Sequential – Pipes and Filters • Call-and-Return systems – Main program and sub-programs – Object Oriented Systems – Hierarchical layers 22

  23. • Independent Components: – Communication Processes – Event Systems • Virtual Machines – Interpreters – Rule based Systems • Data-Centered Systems (Figure on page 372): – Databases – HTML Systems 23

  24. • Components : Filters – Each Filter transforms the data • Connectors : Pipes – Transmit data from one filter to the next • Constraints : – Each Filter works independently – Each filter expects Input and should produce Output. • Page 373 for Model 24

  25. • Is a Pipes and Filters model with ONE flow • Page 373 for Model 25

  26. • Components : Main and Sub-Components • Communication : Main calls sub-programs • Constraints : Main act as a Driver Main Sub1 Sub2 26

  27. • Components: Database elements (tables, queries, etc.) • Communication: Relationships • Constraints : Client request info from Server 27

  28. • Data Design – Transform the information domain (created in analysis) into Data structures. • Architectural Design: – Defines the relationship between major structural elements of the software. – The design patterns that can be used to achieve the goal • Interfaces Design – (Chapter 13) How the system interfaces: – With itself (procedure calls) – With other systems – With users (Screens) • Components Design – Structural elements into procedural description 28

  29. • User Model – Depicts the profile of end users – Should be related to user characteristics: • Age • Gender • Education • Special Needs – Types of users: • Knowledgeable frequent • Knowledgeable infrequent • Never seen a computer before 29

  30. • Design Issues: – Response Time – Help Facility – Error Messages • Expressed in user terms • Extended help for action • Provide more info on sequences • Non-Judgmental – Command Labeling • menus 30

  31. • Guidelines – Be Consistent – Easy to use screens - Be SIMPLE – Offer Meaningful feedback – Permit easy reversal of most actions – Reduce the amount of information that must be memorized • Use Pull-down-menus – Keep help at all levels 31

  32. • Guidelines – Meaningful Titles – Get user feedback • Listen to users • Ask for suggestions • Prototype and get feedback again and again until the user says “This is the best” • Don’t be too technical 32

  33. • Data Design – Transform the information domain (created in analysis) into Data structures. • Architectural Design: – Defines the relationship between major structural elements of the software. – The design patterns that can be used to achieve the goal • Interfaces Design - How the system interfaces: – With itself (procedure calls) – With other systems – With users (Screens) • Components Level Design (Chapter 16) – Structural elements into procedural description 33

  34. • Also known as Procedural Design • The intent is to translate the design model into code like language. • Represent the design at a level of abstraction that is close to Code DATA PROCEDURAL ARCHITECTURE DESIGN INTERFACES 34

  35. • Establish the algorithmic detail required to: – Manipulate data structures – Define components interfaces – Implement the processing algorithms for each component. • Its an opportunity to verify your design correctness 35

  36. • Graphical – Flowchart (Page 425) • Tabular Design Notation – Decision Table (Page 429) • Text – Program Design Language “Pseudo-Code” (Page 431) 36

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend