Detailed Design - Concordia University
Transcript of Detailed Design - Concordia University
![Page 1: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/1.jpg)
Detailed Design
Greg Butler
Computer Science and Software EngineeringConcordia University, Montreal, Canada
Email: [email protected]
![Page 2: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/2.jpg)
Detailed Design
Detailed Design Definition [ISO/IEC 24765]
1. the process of refining and expanding the preliminary design ofa system or component to the extent that the design is sufficientlycomplete to be implemented;2. the result of the process in (1).
OO Software Detailed Design — How To
Sketch CRC (Class-Responsibility-Collaboration) for each classUML diagram for system objects and their collaborationDetermine interfaces (ie operations) of each classSpecify contract for each operationSelect algorithms and data structures for each classDescribe algorithm for each major operation using UML note
![Page 3: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/3.jpg)
Example: CRC Cards for Model-View-Control Architecture
![Page 4: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/4.jpg)
Example: Collaborations in UML
Sequence Diagram for Observer Pattern
![Page 5: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/5.jpg)
Example: Collaborations in UML
Activity Diagram for Order Processing
![Page 6: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/6.jpg)
Example: Collaborations in UML
Communication Diagram for Model-View-Control
![Page 7: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/7.jpg)
Example: Class Interfaces in UML
UML Class
![Page 8: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/8.jpg)
Example: Pre-conditions and Post-conditions
![Page 9: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/9.jpg)
Example: Java Assertions
![Page 10: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/10.jpg)
Example: Larman System Operation Contract
![Page 11: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/11.jpg)
Example: Constraints using OCL in UML
Object Constraint Language for Tic-Tac-Toe
![Page 12: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/12.jpg)
Example: UML Note for Observer Pattern
![Page 13: Detailed Design - Concordia University](https://reader031.fdocuments.us/reader031/viewer/2022022612/6218cbb65c8ec7399e0aafab/html5/thumbnails/13.jpg)
Data Structures in Libraries
String
Containers or CollectionsVector and Array: indexed by scalar type, often fixed length
Set: no order, no duplicatesList: order, duplicatesBag (or Multiset): no order, duplicates
Map: relates “key” and “value” pairs