Fall 2023/2024

Course Code/Name: CMSE-321 / Software Requirements Analysis and Specification

Course Instructor: Dr. ISIK AYBAY (office no: 211, 2nd floor)

Course Description:

This course concentrates on the Analysis, Estimation and Requirements Development phase of the software development life-cycle. Feasibility study and estimation techniques are discussed from a Project Management point of view. Systems Analysis methods suitable for software systems are introduced. Functional, non-functional, domain, user and system requirements development are discussed. Formal techniques related with Systems Analysis and Requirements Development are introduced. UML design language is used in static and dynamic system descriptions.

Course Objectives: The course aims to equip the student with an understanding of systems analysis and requirements development, and their role in the software project management process. Emphasis will be on estimation and analysis techniques, requirements development and writing requirements specification documents, taking into consideration organizational and human factors. The term project, which is a case study to be tackled by project groups, will give an idea on how group work is done and how current popular software systems are developed.

Course Outline:

Week 1: Basic Concepts in Software Engineering, the Software Life-Cycle.

Week 2: Basic Concepts in Software Engineering (continued)

Week 3: Estimation techniques – cost, time, human effort 

Week 4: Estimation techniques – cost, time, human effort  (continued)

Week 5: Basic concepts in Project Management – organizational/human factors

Week 6: Project Management (continued)

Week 7: Functional Requirements Modelling 

Week 8: Student intermediate presentations for the Term Project (one member from each group)

Week 9: Assignment Checking

Week 10, 11: Requirements development for software systems with UML design tools

Week 12: Standards for Requirements Engineering and quality issues

Week 13: Writing a Software Requirements Specification Document

Week 14: Student final presentations for the Term Project (all members must present their work)

Week 15, 16: Final Exam

Course Assessment (tentative)

Term Project: 40% (attendance in Design Studio is compulsory, both written and oral presentations are required)

Assignment 10 % 

Final Exam 50 %

There is no formal text book. The following books are recommended:

a. Lauesen, S., (2002). Software Requirements: Style and Techniques. Addison-Wesley

b. Bray, Ian. (2002). Introduction to Requirements Engineering. Addison-Wesley

c. Pressman, R., (2010), ed. 7, Software Engineering, McGraw Hill.

d. Sommerville, I., (2009), ed. 9, Software Engineering, Pearson.