Sdd 4

4,019 views

Published on

Published in: Design, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,019
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
126
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Sdd 4

  1. 1. COMPE 491 Senior Project I Software Design Documentation IEEE 1016
  2. 2. IEEE 1016 Software Design <ul><li>What is software design? </li></ul><ul><ul><li>Organization of a software system into modules (components / classes or other units) </li></ul></ul><ul><ul><li>Behavior and responsibilities of units </li></ul></ul><ul><ul><li>Interactions and collaborations between units </li></ul></ul><ul><li>From Specification to Code Blueprint </li></ul><ul><ul><li>Identification of what needs to be coded (component interfaces and properties) and how this is to be done (method for implementing interfaces and properties) without irrelevant coding details </li></ul></ul>
  3. 3. IEEE 1016 Software Design <ul><li>OUTLINE </li></ul><ul><ul><li>Introduction </li></ul></ul><ul><ul><ul><li>Purpose </li></ul></ul></ul><ul><ul><ul><li>Scope </li></ul></ul></ul><ul><ul><ul><li>Definitions, Acronyms and Abbreviations </li></ul></ul></ul><ul><ul><li>References </li></ul></ul><ul><ul><li>Decomposition Description </li></ul></ul><ul><ul><ul><li>Module Description </li></ul></ul></ul><ul><ul><ul><li>Concurrent Process Description </li></ul></ul></ul><ul><ul><ul><li>Data Decomposition </li></ul></ul></ul><ul><ul><li>Dependency Description </li></ul></ul><ul><ul><ul><li>Intermodule Description </li></ul></ul></ul><ul><ul><ul><li>Interprocess Description </li></ul></ul></ul><ul><ul><ul><li>Data dependencies </li></ul></ul></ul><ul><ul><li>Interface Description </li></ul></ul><ul><ul><ul><li>Module Interface </li></ul></ul></ul><ul><ul><ul><li>Process Interface </li></ul></ul></ul><ul><ul><li>Detailed Design </li></ul></ul><ul><ul><ul><li>Module detailed design </li></ul></ul></ul><ul><ul><ul><li>Data Detail Design </li></ul></ul></ul>
  4. 4. IEEE 1016 Software Design <ul><li>Introduction </li></ul><ul><ul><li>Purpose (SDD) </li></ul></ul><ul><ul><li>Scope (SDD) </li></ul></ul><ul><ul><li>Definitions, Acronyms and Abbreviations </li></ul></ul><ul><li>References </li></ul><ul><li>Decomposition Description </li></ul><ul><ul><li>Module Description </li></ul></ul><ul><ul><li>Concurrent Process Description </li></ul></ul><ul><ul><li>Data Decomposition </li></ul></ul><ul><li>Dependency Description </li></ul><ul><ul><li>Intermodule Description </li></ul></ul><ul><ul><li>Interprocess Description </li></ul></ul><ul><ul><li>Data dependencies </li></ul></ul><ul><li>Interface Description </li></ul><ul><ul><li>Module Interface </li></ul></ul><ul><ul><li>Process Interface </li></ul></ul><ul><li>Detailed Design </li></ul><ul><ul><li>Module detailed design </li></ul></ul><ul><ul><li>Data Detail Design </li></ul></ul>
  5. 5. IEEE 1016
  6. 6. IEEE 1016 Software Design <ul><li>Introduction </li></ul><ul><ul><li>Purpose (SDD) </li></ul></ul><ul><ul><li>Scope (SDD) </li></ul></ul><ul><ul><li>Definitions, Acronyms and Abbreviations </li></ul></ul><ul><li>References </li></ul><ul><li>Decomposition Description </li></ul><ul><ul><li>Module Description </li></ul></ul><ul><ul><li>Concurrent Proces Description </li></ul></ul><ul><ul><li>Data Decomposition </li></ul></ul><ul><li>Dependency Description </li></ul><ul><ul><li>Intermodule Description </li></ul></ul><ul><ul><li>Interprocess Description </li></ul></ul><ul><ul><li>Data dependencies </li></ul></ul><ul><li>Interface Description </li></ul><ul><ul><li>Module Interface </li></ul></ul><ul><ul><li>Process Interface </li></ul></ul><ul><li>Detailed Design </li></ul><ul><ul><li>Module detailed design </li></ul></ul><ul><ul><li>Data Detail Design </li></ul></ul>
  7. 7. IEEE 1016 Software Design <ul><li>Module Description </li></ul><ul><ul><li>Module (or component): code and data that can be combined with other modules to form a (sub)system </li></ul></ul><ul><ul><li>Desirable qualities of modules: </li></ul></ul><ul><ul><ul><li>Designed for reuse (in particular: named) </li></ul></ul></ul><ul><ul><ul><li>Explicit specification (statically checked interface, explicit properties of dynamic behavior such as contracts) </li></ul></ul></ul><ul><ul><ul><li>Information hiding (implementation details are hidden) </li></ul></ul></ul><ul><ul><ul><li>High cohesion: all the contents together contributes to providing a specific piece of functionality </li></ul></ul></ul><ul><ul><ul><li>Low coupling: Few dependencies on other modules or particulars of environment (such as operating system or particular technologies) </li></ul></ul></ul><ul><ul><ul><li>Flexibility: Module structure reflects problem structure </li></ul></ul></ul>
  8. 8. IEEE 1016 Software Design Hierarchical Decomposition Diagram Example 1
  9. 9. IEEE 1016 Software Design Hierarchical Decomposition Diagram Example 2
  10. 10. IEEE 1016 Software Design Decomposition Description Give descriptions of each module in decomposition diagram
  11. 11. IEEE 1016 Software Design <ul><li>Data Description </li></ul><ul><ul><li>similar to Module Decomposition </li></ul></ul><ul><ul><li>modulerize the data </li></ul></ul>
  12. 12. IEEE 1016 Software Design <ul><li>Introduction </li></ul><ul><ul><li>Purpose (SDD) </li></ul></ul><ul><ul><li>Scope (SDD) </li></ul></ul><ul><ul><li>Definitions, Acronyms and Abbreviations </li></ul></ul><ul><li>References </li></ul><ul><li>Decomposition Description </li></ul><ul><ul><li>Module Description </li></ul></ul><ul><ul><li>Data Decomposition </li></ul></ul><ul><li>Dependency Description </li></ul><ul><ul><li>Intermodule Description </li></ul></ul><ul><ul><li>Interprocess Description </li></ul></ul><ul><ul><li>Data dependencies </li></ul></ul><ul><li>Interface Description </li></ul><ul><ul><li>Module Interface </li></ul></ul><ul><ul><li>Process Interface </li></ul></ul><ul><li>Detailed Design </li></ul><ul><ul><li>Module detailed design </li></ul></ul><ul><ul><li>Data Detail Design </li></ul></ul>
  13. 13. <ul><li>Dependency Description </li></ul><ul><ul><li>Intermodule Description </li></ul></ul><ul><ul><li>Interprocess Description </li></ul></ul><ul><ul><li>Data dependencies </li></ul></ul>IEEE 1016 Software Design Dependency Description
  14. 14. Example: Package Diagram (It might include classes in packges) IEEE 1016 Software Design Dependency Description
  15. 15. IEEE 1016 Software Design Dependency Description
  16. 16. IEEE 1016 Software Design Dependency Description
  17. 17. IEEE 1016 Software Design <ul><li>Introduction </li></ul><ul><ul><li>Purpose (SDD) </li></ul></ul><ul><ul><li>Scope (SDD) </li></ul></ul><ul><ul><li>Definitions, Acronyms and Abbreviations </li></ul></ul><ul><li>References </li></ul><ul><li>Decomposition Description </li></ul><ul><ul><li>Module Description </li></ul></ul><ul><ul><li>Data Decomposition </li></ul></ul><ul><li>Dependency Description </li></ul><ul><ul><li>Intermodule Description </li></ul></ul><ul><ul><li>Interprocess Description </li></ul></ul><ul><ul><li>Data dependencies </li></ul></ul><ul><li>Interface Description </li></ul><ul><ul><li>Module Interface </li></ul></ul><ul><ul><li>Process Interface </li></ul></ul><ul><li>Detailed Design </li></ul><ul><ul><li>Module detailed design </li></ul></ul><ul><ul><li>Data Detail Design </li></ul></ul>
  18. 18. <ul><li>Module Interface </li></ul><ul><li>Process Interface </li></ul>IEEE 1016 Software Design Interface Description Module 1 Module 2 Interface X
  19. 19. IEEE 1016 Software Design <ul><li>Introduction </li></ul><ul><ul><li>Purpose (SDD) </li></ul></ul><ul><ul><li>Scope (SDD) </li></ul></ul><ul><ul><li>Definitions, Acronyms and Abbreviations </li></ul></ul><ul><li>References </li></ul><ul><li>Decomposition Description </li></ul><ul><ul><li>Module Description </li></ul></ul><ul><ul><li>Data Decomposition </li></ul></ul><ul><li>Dependency Description </li></ul><ul><ul><li>Intermodule Description </li></ul></ul><ul><ul><li>Interprocess Description </li></ul></ul><ul><ul><li>Data dependencies </li></ul></ul><ul><li>Interface Description </li></ul><ul><ul><li>Module Interface </li></ul></ul><ul><ul><li>User Interface (GUI) </li></ul></ul><ul><li>Detailed Design </li></ul><ul><ul><li>Module detailed design </li></ul></ul><ul><ul><li>Data Detail Design </li></ul></ul>
  20. 20. Class Diagram IEEE 1016 Software Design Detailed Design
  21. 21. Classes as design entities IEEE 1016 Software Design Detailed Design
  22. 22. IEEE 1016 Software Design Detailed Design
  23. 23. <ul><li>Design Entities </li></ul><ul><ul><li>Data </li></ul></ul><ul><ul><li>Processing (pseudocode) </li></ul></ul><ul><ul><li>Interface </li></ul></ul><ul><li>Flow chart of each process (method) </li></ul>IEEE 1016 Software Design Detailed Design
  24. 24. IEEE 1016 Software Design Detailed Design
  25. 25. IEEE 1016 Software Design Detailed Design

×