Module Code - Title:
CS4178
-
SOFTWARE REQUIREMENTS AND MODELLING
Year Last Offered:
2025/6
Hours Per Week:
Grading Type:
N
Prerequisite Modules:
Rationale and Purpose of the Module:
Introduce students to the requirement and modelling phases of a system's (and software) development cycle. Requirements and models as knowledge capture and materialization in analyzable IT artefacts. Requirments and models that support the needs to change and evolution. Exposure to relevant methods, techniques and tools, exposure to case studies.
Syllabus:
1. Requirements in the traditional and in the agile/evolutive system and software development process.
2. Techniques for elicitation and discovery of requirements.
3. Relation between requirements and knowledge capture: formal and informal materialisations.
4. Abstract models and constraints as co-design tools with diverse stakeholders.
5. Relation between requirements, models, and testing.
6. Functional and non-functional requirements.
7. Models for system behaviour: formal models, verifiable models, executable models.
8. Requirements and model validation
9. Requirement and model review, refinement and evolution
10. Negotiation and agreement: organisational and social issues; co-design.
Learning Outcomes:
Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)
1. Plan, describe and justify how requirements would be elicited, verified and validated with the stakeholders in different project situations.
2. Specify the functional requirements and the non-functional requirements for a given software product or system; use appropriate templates.
3.Select and justify appropriate requirements elicitation techniques for use in a given project or situation.
4. Select and justify appropriate requirements and system/software modelling techniques for use with different kinds of stakeholders.
5. Select, justify and use appropriate knowledge management practices, requirements management tools, and behavioural modelling tools.
6. Evaluate new or proposed requirements and modelling techniques and/or practices for suitability in a range of requirements situations.
7. Evaluate and analyse requirement and modelling techniques and tools w.r.t support of change management and software/system evolution.
Affective (Attitudes and Values)
1. Demonstrate an appreciation of the value and the need for involvement of all kinds of stakeholders in the requirement elicitation and in the model co-design process.
2. Demonstrate an awareness of the inherent difficulty of achieving an ideal requirements specification
3. Demonstrate an awareness of the inherent need of fast and frequent model/requirement changes in today's evolving software and systems reality.
Psychomotor (Physical Skills)
N/A
How the Module will be Taught and what will be the Learning Experiences of the Students:
The module is taught in the form of lectures and lab practice. The material delivered in lectures is practiced with an adequate requirement technology on concrete examples, and with a modelling platform in a computer lab.
Research Findings Incorporated in to the Syllabus (If Relevant):
Prime Texts:
Kung, Chen-Ho (2013)
Object-oriented software engineering : an agile unified methodology
, New York, NY : McGraw-Hill, a business unit of the McGraw-Hill Companies, Inc.
Other Relevant Texts:
Programme(s) in which this Module is Offered:
BSCOSYUFA - COMPUTER SYSTEMS
Semester(s) Module is Offered:
Spring
Module Leader:
fazilat.hojaji@ul.ie