Software Systems Requirements Engineering
Keywords |
Classification |
Keyword |
OFICIAL |
Software Engineering |
Instance: 2010/2011 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
22 |
Syllabus since 2009/2010 |
4 |
- |
6 |
56 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
------------
Objectives
------------
This course unit aims to endow students with planning and management skills, so that they can analyse and specify the requirements of a software system.
-------------
Learning outcomes
-------------
By the end of the course, students should be able to:
- define information system requirement;
- explain the importance of the requirements engineering process in the success of an information system;
- describe the requirements engineering process;
- identify and explain the roles and actors in the requirements engineering process;
- describe the application of problem solving techniques the requirements engineering process;
- describe and apply requirements workshops and prototyping for requirements identification;
- describe and apply scenarios and storyboarding techniques;
- describe and apply observation and other ethnographic methods;
- describe and explain requirements analysis techniques and their importance;
- explain the importance of requirements classification;
- classify requirements in terms of priority and risk;
- explain the importance of requirements negotiation;
- apply techniques of requirements negotiation;
- describe the several forms of requirements representation;
- describe the general structure of a requirements document;
- build complex use case based requirements descriptions;
- write a complete requirements document.
Program
Introduction to Requirements Engineering
Notion of requirement: functional and non-functional requirements; importance of requirements; the role of analysis and specification; application domains, socio-technical requirements; requirements of human activities systems;
Process of Requirements Engineering: interdisciplinary aspects of Requirements Engineering; organisational aspects; process models of Requirements Engineering; stakeholders; support and process management of Requirements Engineering; quality and process improvement of Requirements Engineering
Identification, analysis and negotiation of requirements
Identification processes, requirements discovery and refinement: organisational polices; launched by problems; launched by example; external environment imposition
General techniques to identify, discover and refine requirements: problem analysis; organisation and business modelling; brainstorming; queries; interviews
Specific techniques to identify, discover and refine requirements: workshops; storyboarding; prototyping; social observation and analysis (ethnographic methods);
General conversation structures: dialogues and contexts; dialogue structure; non-verbal communication; dialogue standards and acts (identification, analysis and modelling, refinement, validation, negotiation);
Requirements analysis: analysis checklists; interaction and dependence matrixes; requirements risks and priorities; requirements classification; architecture design and requirements division; verification of metric consistency
Documentation and requirements communication
Requirements representation: criteria; representation and information requirements; ways of representation; selection of representations; representation paradigms; representation quality;
Textual description of requirements: structure of requirement documents; IEEE 830-1998 standard; requirements description (discourse);
Requirements representation by use cases: development of an use case model; extension and inclusion of use cases; integration of use cases in requirements identification techniques; use of other UML diagrams in requirements representation- class diagrams, activities, sequence, packets;
Representation of organisational context: modelling of organisational processes; objectives modelling; analysis and business standards in UML;
Modelling and formal specification: overview of modelling techniques and formal specification;
Requirements validation, testing and traceability
Requirements validation: requirements revision; prototyping; model validation; requirements tests; revision of use cases;
Requirements tests: basic concepts; test cases; derivation of test cases and use cases;
Requirements traceability: role of traceability in the development of systems; relation of traceability; general model of traceability; tools to support traceability
Requirements management
Requirements management and alteration: reasons of change; stable and volatile requirements; processes to manage alterations; management of requirements configurations; tools of requirements management;
Requirements management: project quality; quality assessment; quality control checklists
Mandatory literature
Klaus Pohl; Requirements Engineering: Fundamentals, Principles, , Springer, 2010. ISBN: 978-3-642-12577-5
Kotonya, Gerald;
Requirements engineering. ISBN: 0-471-97208-8
Sommerville, Ian;
Requirements engineering. ISBN: 0-471-97444-7
IAN ALEXANDER AND NEIL MAIDEN; SCENARIOS, STORIES, USE CASES Through the Systems Development Life-Cycle, John Wiley & Sons. ISBN: 0-470-86194-0
Complementary Bibliography
Alexander, Ian F.;
Writing better requirements. ISBN: 0-321-13163-0
Alistair Stutcliffe; User Centered Requirements Engineering: Theory and Practice, Springer, 2002
Crabtree, Andy;
Designing collaborative systems. ISBN: 1-85233-718-4
Gottesdiener, Ellen;
Requirements by collaboration. ISBN: 0-201-78606-0
Withall, Stephen;
Software requirement patterns. ISBN: 978-0-7356-2398-9
Maciaszek, Leszek A.;
Requirements analysis and system design. ISBN: 0-201-70944-9
Kurt Bittner, Ian Spence; Use Case Modelling, Addison-Wesley, 2003
Gibson, John E.;
How to do systems analysis. ISBN: 978-0-470-00765-5
Teaching methods and learning activities
Project-oriented learning.
Students will have to carry out a group assignment, in which they have to cover all the stages of a requirements engineering process.
Theoretical classes endow students with all the necessary knowledge to carry out the projects.
Evaluation Type
Distributed evaluation without final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
39,00 |
|
|
Semester project (group) |
Trabalho laboratorial |
52,00 |
|
2011-06-03 |
Essay about ER (individual) |
Trabalho escrito |
35,00 |
|
2011-06-17 |
Analysis and discussion of scientific papers (group) |
Trabalho escrito |
16,00 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
Study and class readings |
Estudo autónomo |
20 |
|
|
Total: |
20,00 |
|
Eligibility for exams
Students have to reach a minimum mark of 40% in every assessment components.
Calculation formula of final grade
FM=0,4*P+0,4*IE+0,2*AD
P- Project
IE- Individual Essay
AD- Article analysis and discussion (group)
Classification improvement
Students can improve the mark of their individual essays.