CS 319 -
Object-Oriented Software Engineering

Description
Schedule
Grading
Project
Related Links
Resources

Instructor:
Dr. Bedir Tekinerdoğan

Project

Description Report Publications Presentation

The project report will describe the object-oriented design for a selected relevant case. The following points need at least to be addressed. For the Analysis report System Design and Object-Design chapters should not be included in the report. For the Design Report the System design chapter should be included. The final report should of course include all the chapters. We will try to largely follow the template as defined in the textbook:

Table of Contents

1. Introduction
Describes the context and the introduction of the project including outline of the report.

2. Case Description
Describe the case/system that you want to develop. What is the goal of the project?

3. Requirements Analysis

Describes the textual requirements, use cases, user interface prototype(s), etc. Including both functional and non-functional requirements.
3.1 Functional Requirements
3.2 Non-Functional Requirements
3.3 Constraints
3.4 Scenarios
3.5 Use Case Models
3.6 User Interface/Screen mockups
 

4. Analysis Models
Describes the class diagram of the application domain and the related dynamic model (statecharts and sequence diagram).
4.1 Object Model
   4.1.1 Domain Lexicon
   4.1.2 Class Diagram(s)
4.2 Dynamic Models
   4.2.1 State Chart
   4.2.2 Sequence Diagram

5. System Design
Describes the design goals, the system design object model, and the subsystem decomposition/software architecture.
5.1 Design Goals
5.2 Sub-System Decomposition \\ Define the top-level decomposition of the system
                                                \\ consisting of subsystems; package diagram
5.3 Architectural Patterns        \\ Apply at least two architectural patterns
                                                \\ to further structure the subsystems
5.4 Hardware/Software Mapping \\ Describe deployment diagram
5.5 Addressing Key Concerns
    5.1 Persistent Data Management
    5.2 Access Control and Security
    5.3 Global Software Control
    5.4 Boundary Conditions
    5.5 Another important concern for your case (Rename title)
 

6. Object-Design
6.1 Design Patterns \\ Apply at least 3 patterns
6.2 Class Interfaces \\ Describe classes and their public interfaces (visibility and type signatures)
6.3 Specifying Contracts using OCL  \\  Define contract for at least 5 classes (at least 30 contracts in total). Explain each contract.

7. Conclusion
Summary, lessons learned, obstacles, future work.
Including critical overview of adopted process.
 

References
 

Appendix 
The full code should be provided in the electronic version of the document.

See for example reports:

Example1, Example2, Example3, Example4