Subject Descriptions - Subject Information

Calendar: 2017 Postgraduate
Faculty: Faculty of Engineering and Information Sciences
Department: School of Computing and Information Technology

Subject Information
Subject Code CSCI928
Subject Name Software Engineering Requirements and Specifications
Credit Points 6
Pre-Requisites Nil
Co-Requisites Nil
Restrictions None.
Equivalence None.
Assessment Assignments 50% Examination 50%
General Subject No.

Subject Description
This subject will demonstrate how software development can be viewed as a kind of engineering - an activity of building useful things to serve recognisable purposes. For software engineers, these useful things are a special kind of machine known as software systems. This subject emphasises the importance of understanding the application domains that software systems interact with and the problems we try to solve in these domains. The subject focuses on writing explicit and precise descriptions known as: (1) Requirements - descriptions of application domains and the problems to be solved there; (2) Specifications - descriptions of the interface between the machine and the application domain. The subject addresses techniques used to record, elicit, and reason about these descriptions. The subject examines the approach to Requirements and Specification techniques taken by a range of systems engineering methodologies. The concepts of method engineering are introduced and the role of software tools to support this activity is discussed.

Subject Learning Outcomes
On successful completion of this subject, students will be able to:
1. Describe state of the art techniques of software requirements capture and analysis.
2. Explain how software system requirements are translated to appropriate software specifications expressed in a range of different formalisms.
3. Demonstrate an ability to interpret a particular set of software requirements and translate into a specification.
4. Apply the knowledge and skills presented in this subject to typical software development scenarios encountered in the software industry.