Software Construction
Contents: Structured and OO implementation of design using design document(s) developed in CSC-212:SAD Modules specification from external specifications: internal specification / logic specification; Architectural styles for structured software systems: data-centered / data flow / call and return / layered / client-server; Factoring of a system: Modularity, partitioning: horizontal / vertical; Cohesion and coupling; Cohesion classification: functional / sequential / communication / procedural / temporal / logical/co-incidental; Representing design: Structured charts / process design language / interface description language /; Representing design for OO systems: class diagram, sequence diagram, package diagram; Design patterns: creational / structural / behavioral; Coding guidelines; Unit test design: walkthroughs, inspections, code reviews; Metrics: Cyclomatic complexity / data binding / cohesion metric.