Islamabad Model College for Boys H-9, Islamabad
Course Description – Software Construction CS-322
Course Code CS-322
Course Title Software Construction
Credit Hours 3 = (2+1)
Prerequisites by CS-222 Analysis and Design for Software Systems
Course(s) and
Topics
Textbook (or E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design
Laboratory Manual Patterns, Addison-Wesley, 1995
for Laboratory X. Jia, Object-Oriented Software Development Using Java, 2/e,
Addison-Wesley, 2003
Courses)
P. Vora, Web Application Design Patterns, Burlington, Morgan
Kaufmann Publishers, 2009
S.A. Keller, Structured Systems Analysis and Design – A concise
case study, Prentice-Hall, India, 2004
Reference Material Ian Sommerville “Software Engineering”, 6th Ed.
Software Engineering by Roger S.Pressman
Object Oriented design by craig Larman
Course Objectives To construct reliable software products from design
documents by using multiple approaches of software
development.
Focus would be on testable description of modules.
Course Contents Structured and OO implementation of design using design
document(s) developed in CS-222:SAD
Modules specification from external specifications: internal
specification / logic specification using OO concepts of accessors,
mutators, constructors, polymorphism, inheritance, abstract
methods; 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
Islamabad Model College for Boys H-9, Islamabad
Course Description – Software Construction CS-322
COURSE CONTENTS WITH BREAKUP
WEEK # Topics WEEK # Topics
1 SOFTWARE ENGINEERING 10 Sequence Diagram
Software Development Activities Message, return values
Software Construction and its Object creation and destruction
importance Control information
Software Construction main Examples
Activities Interaction Diagrams
Software Quality Practical
Module Specification
Objects and Classes
Real World vs Model
Representation
2 Mutable Objects 11 Package Diagram
Immutable Object Purpose of Package
Accessors & Mutators Notation
Accessibility of Methods Relations
Accessors
Mutators
Abstraction
Abstract & Concrete Class
Encapsulation
3 Polymorphism 12 Design Patterns
Overloading Four essential Parts
Overriding Types of Patterns
Inheritance Singleton
Super Class State Pattern
Super Interface Creational pattern
Architectural pattern and types Factory
Data-centered Builder
Data flow Structural Patterns
Call and Return Behavioral Patterns
Layered
Client-server
4 Modularity and design 13 Coding Guidelines
Software Modularity Coding
Monolithic Software Programming Practice
Software Partitioning Information hiding
Horizontal vs Vertical Partitioning Internal documentation
Coding standards
Programe statements
Software Documentation
Code inspection and reviews
5 Cohesion 14 Unit Test Design
Coupling Types of testing
Module Coupling Traditional testing Vs Unit testing
Cohesion Classification Guidelines
Functional Cohesion
Sequential Cohesion
Communicational Cohesion
Procedural Cohesion
Temporal Cohesion
Logical Cohesion
Coincidental Cohesion
Advantages of Cohesion is
Software Engineering
6 Characteristics of a Good Design 15 Walkthroughs ,inspections, code
Structured Design reviews
Structured Charts
Process design Language
Sequence Construct
If construct
Selection Constructs
Repetition Constructs
Interface Description Language
7 Rational Unified Process 16 Metrics
Unified Process Measurement
Iterative and Evolutionary Indicator
Development Types of Metric
RUP life cycle phases Process Metric
Inception, Evaluation, Elaboration, Product Metric
Construction Project Metric
Transition Phase Size oriented metric
Function oriented metric
Cyclomatic Complexity
8 How To Draw Use Case Diagram 17 Data Binding and Cohesion Metric
Practical
9 UML diagrams
Classes
Class Attributes
Class operations
Relationships and its Types
Practical