detailed design - concordia university

13
Detailed Design Greg Butler Computer Science and Software Engineering Concordia University, Montreal, Canada Email: [email protected]

Upload: others

Post on 25-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Detailed Design - Concordia University

Detailed Design

Greg Butler

Computer Science and Software EngineeringConcordia University, Montreal, Canada

Email: [email protected]

Page 2: Detailed Design - Concordia University

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

Example: CRC Cards for Model-View-Control Architecture

Page 4: Detailed Design - Concordia University

Example: Collaborations in UML

Sequence Diagram for Observer Pattern

Page 5: Detailed Design - Concordia University

Example: Collaborations in UML

Activity Diagram for Order Processing

Page 6: Detailed Design - Concordia University

Example: Collaborations in UML

Communication Diagram for Model-View-Control

Page 7: Detailed Design - Concordia University

Example: Class Interfaces in UML

UML Class

Page 8: Detailed Design - Concordia University

Example: Pre-conditions and Post-conditions

Page 9: Detailed Design - Concordia University

Example: Java Assertions

Page 10: Detailed Design - Concordia University

Example: Larman System Operation Contract

Page 11: Detailed Design - Concordia University

Example: Constraints using OCL in UML

Object Constraint Language for Tic-Tac-Toe

Page 12: Detailed Design - Concordia University

Example: UML Note for Observer Pattern

Page 13: Detailed Design - Concordia University

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