COP 4331C - Processes for Object-Oriented Software Development

Fall 2019

Syllabus

Catalog description: Concepts, principles, processes and methods for developing large software systems featuring a team project using object-oriented design in UML and implementation in C++.
Course assessment outcomes: By the end of the semester each student will be able to:
  • construct UML diagrams of the following types: Use Case Diagram, Class Diagram, Activity Diagram, Collaboration Diagram, State Transition Diagram, Sequence Diagram and Data Flow Diagram
  • work in a group environment
  • work on a project for a client, performing all the steps associated with the object-oriented software development life cycle including elicitation of the requirements from a client, preparation of software requirements specification, project management plan and test plan of a software system.
  • write technical high level design and detailed design of a software system.
  • prepare and successfully give oral presentation of a software system design and operation of the class project deliverables.
Instructor: Dr. Damla Turgut
Office: HEC - 316
Phone: (407) 823-6171
E-mail: turgut@cs.ucf.edu (preferred means of communication)
Web Site: http://www.cs.ucf.edu/~turgut/Teaching/COP4331C_OOD_Fall2019/index.html
The assignments and the other announcements will be posted on the course web site
Classroom: ENG2 102
Class Hours: Tue, Th 10:30AM - 11:50AM
Office Hours: Tue, Th 9:00AM - 10:15AM
GTA: Salih Safa Bacanli
GTA Office: TBD
GTA Office Hours: TBD
GTA email: bacanli@knights.ucf.edu
Pre-requisites: COP 3503C with a grade of ''C'' (2.0) or better and COT 3960 (CS majors).
Required texts: Shari Lawrence Pfleeger and Joanne M. Atlee, "Software Engineering: Theory and Practice", 4th Edition, Prentice Hall, 2010.
Grading:
  • 5 EPC-based quizzes: 25%
  • Final exam: 25%
  • Project: 5 deliverables (30%) + final demo (20%)
Integrity: The department, college, and University are committed to honesty and integrity in all academic matters. We do not tolerate academic misconduct by students in any form, including cheating, plagiarism and commercial use of academic materials. Please consult the Golden Rule Handbook for the procedures which will be applied.
Verification of engagement: As of Fall 2014, all faculty members are required to document students' academic activity at the beginning of each course. In order to document that you began this course, please complete the following academic activity by the end of the first week of classes, or as soon as possible after adding the course, but no later than August 30. Failure to do so will result in a delay in the disbursement of your financial aid.
To satisfy this requirement, you must finish the first quiz posted online. Log in to Webcourses, choose COP 4331C, and submit your answers online.

Schedule

Date
Topic
Lecture Notes, Deliverables, Quizzes

Aug. 27 (Tu)
Syllabus & What is software engineering?
[chapter 1 slides]
Aug. 29 (Th)
Modeling the process and life cycle
[chapter 2 slides]

Sept. 3 (Tu)
Modeling the process and life cycle
Sept. 5 (Th)
Planning and managing the project
[chapter 3 slides]

Sept. 10 (Tu)
Planning and managing the project
Sept. 12 (Th)
Capturing the requirements
[chapter 4 slides]

Sept. 17 - Sept. 19
Quiz 1: Chapters 1-3

Sept. 17 (Tu)
Capturing the requirements
Sept. 19 (Th)
Capturing the requirements
Sept. 19 (Th)
Deliverables I: Concept of Operations and Project Management Plan


Sept. 24 (Tu)
Designing the architecture
[chapter 5 slides]
Sept. 26 (Th)
Designing the architecture

Oct. 1 - Oct. 3
Quiz 2: Chapter 4

Oct. 1 (Tu)
Designing the architecture
Oct. 3 (Th)
Designing the modules
[chapter 6 slides]

Oct. 8 (Tu)
Designing the modules
Oct. 10 (Th)
Designing the modules
Oct. 10 (Th)
Deliverables II: Software Requirements Specification


Oct. 14 - Oct. 18
Quiz 3: Chapters 5-6

Oct. 15 (Tu)
Midterm project presentations (SRS & Design)
Oct. 17 (Th)
Midterm project presentations (SRS & Design)

Oct. 22 (Tu)
Writing the programs
[chapter 7 slides]
Oct. 24 (Th)
Testing the programs
[chapter 8 slides]

Oct. 29 (Tu)
Testing the programs
Oct. 31 (Th)
Testing the programs
Oct. 31 (Th)
Deliverables III: High-level Design and Detailed Design


Nov. 5 - Nov. 7
Quiz 4: Chapters 7-8

Nov. 5 (Tu)
Testing the system
[chapter 9 slides]
Nov. 7 (Th)
Testing the system

Nov. 12 (Tu)
Testing the system
Nov. 14 (Th)
Delivering the system
[chapter 10 slides]
Nov. 14 (Th)
Deliverables IV: Test plan


Nov. 19 - Nov. 21
Quiz 5: Chapters 9-10

Nov. 19 (Tu)
Managing the system
[chapter 11 slides]
Nov. 21 (Th)
Final exam review

Nov. 26 (Tu)
Team Project Demos

Nov. 28
Thanksgiving break


Dec. 3 (Tu)
Team Project Demos (9am-10:15am in HEC 316)
Dec. 3 (Tu)
Team Project Demos (10:30am-11:50am in ENG2 102)
Dec. 3 (Tu)
Deliverables V: Test Results, User's Manual, Source Code, Build Instructions, Individual Lessons Learned




Final exam Tuesday, December 10, 2019, 10:00 AM - 12:50 PM