Duplicate
Export
Register
Class Notes 3RA3
3 Flashcard Decks
Send to Chat
AI Edit
Normal Text
Highlight
Week 1
Study
What is the main focus of Requirements Engineering (RE)?
Understanding and characterizing solutions that people buy to solve their problems.
What are the components of the Requirements Roadmap?
Analysis, Specification, Elicitation, Validation, and Documentation.
Why is Requirements Engineering important according to the text?
Poor requirements can lead to project failure, budget overruns, and software rework.
What are examples of requirements?
1. Things a product must do 2. Qualities a product must have 3. Constraints a product must obey
What defines a good requirement?
A good requirement states something that is necessary, verifiable, and attainable.
What is a requirement according to the New Shorter Oxford English Dictionary?
Something called for or demanded; a condition which must be complied with.
What is a requirement according to IEEE Standard 29148?
A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document.
What does the set of all requirements form the basis for?
The subsequent development of the system or system component.
What is Requirements Engineering?
The branch of software engineering concerned with the real-world goals for functions of, and constraints on, software systems
What is another definition of Requirements Engineering?
The task of developing requirements, which includes not just producing an initial version of the requirements but updating it regularly and managing the possibly complex set of requirements.
How does Meyer define the convergence between Requirements Engineering and business analysis?
This definition converges with the accepted definition of business analysis, which is more focused on business goals, while Requirements Engineering has a more technical connotation.
What do the three pillars of assessing requirements consist of?
1. Is the thing I am writing necessary? 2. Is the thing I am writing attainable? 3. Is the thing you are writing verifiable?
What constitutes a good requirement?
A good requirement states something that is necessary, verifiable, and attainable.
What is the significance of a statement in the context of requirements?
A statement is a human-readable expression of a property.
What is a property in the context of requirements?
A boolean trait of a project environment, goal, or system.
What is meant by the term 'relevance' in the context of requirements?
A goal is always relevant; something that affects or is affected by stakeholders is relevant, and something that affects or is affected by the project is relevant.
What is the role of requirements engineering in relation to project systems and environments?
Requirements Engineering emphasizes the set dimension of requirements and their relevance to project systems and environments.
What are the stages in the development cycle?
User Requirements, System Requirements, Software Requirements, Design, Implementation, User Evaluation, Acceptance Tests, Software Integration, Design Evaluation, Code Verification.
What are the three principles mentioned related to requirements writing?
Fail early, Fail Fast, Recover.
What is the limitation of Zave's focus in Requirements Engineering?
It is limited to software engineering and does not consider the wider context of systems engineering.
Send to Chat
AI Edit
Normal Text
Highlight
Week 3
Study
What are the main topics covered in the Introduction to Goal Modelling?
Analysis, Specification, Elicitation, Validation, Documentation
What are the key components of Goal Modelling?
Goals, Analyzing Goal Models
What are goals in the context of requirements engineering?
Goals are not requirements per se. They convey the intention, rationale, and objectives of stakeholders.
What essential role do goals play in the requirements engineering process?
Goals support elicitation analysis and provide inputs for specification but need refinement to become attainable.
How can a goal be validated?
By using Goal Modelling to work on those goals.
What are actors in the context of Goal Modelling?
Actors are people, subsystems, or indirect stakeholders who act within a system to achieve a goal.
What is the definition of an agent in Goal Modelling?
Agents are people, subsystems, or indirect stakeholders that act on behalf of other actors.
What is the difference between roles and positions in Goal Modelling?
An actor can play multiple roles, while a position is a set of consistent roles that are cohesive.
What is the significance of identifying mistakes early in the system development process?
Mistakes cost less when identified early.
What are examples of non-goals mentioned in the lecture?
1. Credit card information is kept private 2. Credit card information is accurate 3. Safe Transportation 4. High Reliability 5. The system is implemented in C 6. Cars are painted yellow, orange, and red.
What is the underlying message regarding system boundaries in Goal Modelling?
We need to think about the system boundaries.
Are there definitive definitions for the terms used in Goal Modelling?
There are no 100% bulletproof definitions; it depends.
What are the two types of goals mentioned in goal modeling?
Hard Goals and Soft Goals.
What defines Hard Goals?
Hard Goals are goals that we can measure, quantify, and describe in their entirety.
What defines Soft Goals?
Soft Goals are something that we know we need but cannot describe fully.
What are resources in the context of goal modeling?
Resources are something that can be used to achieve goals by an actor in the system.
What do the elements in goal modeling depend on?
Elements depend on each other; actors contribute to goals and such contributions might impact others.
How are actors linked in goal modeling?
Actors are not linked directly; they are linked through a dependum.
What is an example of a dependum in goal modeling?
An example of a dependum is the relationship between goals, plans, and resources.
Provide an example where goal modeling is applied in a game context.
In League of Legends (LoL), a dependum example includes roles such as Enemy Tank and Healer, where the goal is to maintain the tank alive and keep the threat occupied.
What is the purpose of position level models in goal modeling?
Position level models describe interactions and goals at a certain level, such as Monster, Fighter, and Healer, and their objectives.
What do Agent level models represent in goal modeling?
Agent level models represent specific characters and the goals they have, such as keeping another character alive or maintaining the attention of an enemy.
What questions should be asked when modeling goals?
Questions to ask include: What am I trying to achieve? What perspective is most valuable?
What is the main purpose of analyzing goal models?
The main purpose is to build models for analysis and simulation purposes.
What are the objectives of quantifying contributions to goals?
Objectives include minimizing the cost of ATM, minimizing the risk of impersonation, and maximizing customer privacy.
What technologies are mentioned that can help maximize customer privacy?
Technologies mentioned include fingerprint readers, account numbers, smart cards, and PINs.
What are the goals in the context of the ATM system discussed?
Minimize cost of ATM, Minimize risk of impersonation, Maximize customer privacy.
What technologies are mentioned for securing customer transactions?
Fingerprint reader, Account Number smart card, PIN.
What is the case study about in the document?
A Medical information system administration leader evaluating soft goals to provide patient info.
What two approaches are being compared for providing patient information?
Using an on-paper approach and using a voice recording approach.
What are the key goals when deciding which system to deploy at Hospital X?
Minimize Cost, Maximize privacy and security, Better use of resources.
What does the transition to a paperless documentation system aim to achieve?
Minimize Cost, Maximize privacy and security, Better use of resources.
What is the process outlined for using a paper-based system?
HR unit scans written documents, Physician writes on patient, HR unit inserts data into MediTech.
What happens when the physician refuses to write on the patient?
The system still aims to Minimize Cost, Maximize privacy and security, and Better use of resources.
What is the Goal Requirement Language referenced in the document?
SEG 3101 Goal Modelling.
Who are the authors mentioned for the User Requirements Notation?
R Kumar, G Mussbacher, R Saini, S Bali.
What is one of the KPIs mentioned in relation to commuting times?
Average Work Time in minutes.
What is another KPI mentioned in relation to average travel time?
Average Travel Time in minutes.
What ongoing cost KPI is referenced?
Average Ongoing Cost.
What is the importance of goals in Requirements Engineering according to the takeaway message?
Goals are essential in Requirements Engineering.
How do goals assist in Requirements Engineering?
Working on goals helps in identifying boundaries and users' tasks.
What initial inspiration led to the development of goal modelling?
Initially inspired by Agent-based programming AI.
What elements support the analysis in goal modelling?
Resources and plans.
What can models support in terms of analysis?
Models support analysis, for example, simulating the impact of choices on soft goals.
What are the roles of soft goals in goal modelling?
Soft goals, despite not being verifiable, are essential for organization and analysis.
How can soft goals be resolved in goal modelling?
Soft goals can be resolved by (1) definition, (2) contribution, or (3) decomposition.
What is the nature of defining a goal model?
Defining a goal model is an incremental and iterative process.
What should you start with in goal modelling?
Start with high-level concerns such as actors and soft goals.
What actions should be taken after identifying high-level concerns in goal modelling?
Refine, refactor, identify boundaries, make mistakes, and make decisions.
Send to Chat
AI Edit
Normal Text
Highlight
Week 5
Study
What is Requirements Engineering (Req Eng)?
Requirements Engineering is a process that involves organizing requirements.
Why is it important to involve humans in software development?
To deliver software, software engineers need to communicate, seek agreement, understand the context of the system and development process, and ensure the development does not drift from reality. Many steps are non-technical and rely on subjectivity.
What fields contribute to Requirements Engineering as a human activity?
Cognitive Psychology (understanding people’s difficulties), Anthropology (observing human activities), Sociology (understanding political and cultural changes), and Linguistics (improving understandability).
What are the refined elements of the Requirements Engineering model?
The refined elements include Analysis, Specification, Elicitation, Validation, Requirements Documents, Survey Data, Interview Data, System Documentation, and Procedure Incident Reports.
What are the inputs and outputs of a Requirements Engineering process?
Inputs include Needs, Goals, Existing System, Domain, Internal and External Stakeholders, Information, and Regulations. Outputs include Agreed Requirements, User Requirements, System Requirements, User-System Agreement, and Specification Models.
What are User Requirements and System Requirements?
User Requirements are the needs and expectations of the users, while System Requirements define the functionalities and constraints of the system to be developed.
What is the Spiral Model according to Boehm (2004)?
The Spiral Model emphasizes that successful software development is by nature iterative and incremental.
What is Requirements Elicitation?
Requirements Elicitation is the process of collecting information to identify problems and opportunities, as well as finding relevant information about the application domain and environment.
What challenges are associated with Requirements Elicitation?
Challenges include thin spread of knowledge, tacit knowledge, and limited observability.
What techniques are used in Requirements Elicitation?
Techniques include interviews, shadowing, workshops, scenario-based methods, Analysis, Specification, Elicitation, Validation, and Documentation.
What is Requirements Analysis?
Requirements Analysis involves building models of requirements that can be used for validation and identifying conflicts between requirements.
What difficulties arise in Requirements Analysis?
Formally modeling natural language requirements is a form of art, and many requirements may conflict, especially with more stakeholders involved.
What techniques are often used in Requirements Analysis?
Modeling languages that are often diagrammatic, such as UML and SysML, as well as tables.
What is the purpose of Requirements Specification?
Requirements Specification is the process of documenting the requirements in a structured manner.
What is requirements validation?
Checking the requirements document to make sure the correct system is built.
Why is requirements validation hard?
It requires implementing something to confront it against its requirements, and getting the requirements wrong can be very costly.
What techniques are used in requirements validation?
Informal reviews, inspections, walkthroughs, demonstrations, semi-formal techniques like prototyping and simulation, and formal techniques such as formal proofs and model checking.
What is requirements negotiation?
Dealing with conflicting requirements and finding a way to get to a yes.
Why is requirements negotiation hard?
It requires a deep understanding of the domain and stakeholders, involves politics at stake, and identifying real requirements from fake ones. Some conflicts might never be solved.
What techniques are used in requirements negotiation?
Consensus building, majority rule (not mob rule), and appeal to authority.
What metaphor is used to describe organizing requirements?
Layers of requirements, likened to lasagna.
What does the vision scope requirements describe?
It describes system characteristics and features that reflect the domain, which may not be purely technical.
What is an example of a scope requirement?
The system must interface with the database using Z3950 standard.
What are user requirements?
Statements regarding the tasks of users that should be satisfied by the system, driven from higher-level goals.
What is the goal of the game in terms of user requirements?
The game must provide an engaging experience that leads to players.
What are system requirements?
What the system will do in order to deliver on the needs of the users, providing detailed descriptions of functionalities, services, and constraints.
What is an example of a system requirement for a game?
The game will make use of Unreal Engine and will provide unique logins while securely storing game assets related to those logins.
How do multiple system requirements relate to user requirements?
Multiple system requirements will often satisfy one single user's requirements, showing a zooming into details by digging deeper.
What is the interaction between different layers of requirements?
Business requirements, vision and scope document, user requirements document, software requirements specification, business rules, quality attributes, and constraints interact with each other.
What is an example of refinement in requirements?
The game must provide a means of securing a player's characters and possessions against malicious misuse, which includes authentication of a username and securing password information retrieval.
What is the purpose of one-way encryption in system requirements?
To secure password information.
What are functional requirements?
Functional requirements refer to things the system must do. They can be a transformation (e.g., inserting a card in the ATM shall lead to request PIN), an invariant (e.g., the angle of attack of the airplane shall never exceed 27 degrees), or a failure description (e.g., failures that must be avoided, such as health hazards).
What is meant by 'Invariant' in functional requirements?
An invariant is a property that must always hold true. For example, 'the angle of attack of the airplane shall never exceed 27 degrees'.
What is a failure description in the context of functional requirements?
A failure description includes forbidden transformations and failures that must be avoided, such as health hazards. It can also describe failures that can be recovered from.
What are non-functional requirements?
Non-functional requirements refer to the qualities a system must have. They are related to optimization, reliability, availability, and timing.
Can you give an example of a non-functional requirement related to optimization?
An example of a non-functional requirement related to optimization is 'the system shall minimize energy consumption to save battery life'.
What does reliability in non-functional requirements refer to?
Reliability in non-functional requirements is an invariant on the system, for example, 'the system shall hold 99.9% of the time, which means approximately 8 hours and 46 minutes of downtime per year'.
What is the significance of '99% availability' in a system?
'99% availability' means that the system is operational 99% of the time, allowing for a certain amount of maintenance downtime, such as 2 hours per week.
Why is the term 'non-functional' considered a poor choice of wording?
The term 'non-functional' is a poor choice because it implies that the system does not function, which is misleading.
What are safety requirements in the context of non-functional requirements?
Safety requirements must be separately identified and managed, and they must be signed off by a regulatory body, such as the Health Safety Executive. They are stated in a safety case that focuses on identifying hazards.
What are security requirements?
Security requirements must be identified, managed, and probably signed off. They are typically expressed by a security policy, such as the confidentiality of data and the need for external audit standard certification.
What is the main takeaway regarding software development projects?
Projects that develop software are diverse, and not everything is needed for each project. However, requirements engineering is necessary to achieve shared understanding among stakeholders.
What is the role of requirements engineering in software development lifecycles?
Requirements engineering is covered at some point in software development lifecycles, and spiral-inspired models follow an incremental and iterative nature.
How is requirements engineering characterized?
Requirements engineering is characterized as a process in itself, involving different activities for different goals.
Scholarly Assistant's Insights
Learn about Requirements Engineering with key concepts, components, and best practices.
Requirements Engineering
Software Engineering
Project Management
Business Analysis
Technical Documentation
Ask Scholarly Assistant
Similar Pages
Login to Leave a Comment
Give your feedback, or leave a comment on a page to share your thoughts with the community.
Login