Title | Requirements-Engineering-Cheat Sheet |
---|---|
Course | Requirements Engineering |
Institution | Cork Institute of Technology |
Pages | 16 |
File Size | 173.5 KB |
File Type | |
Total Downloads | 6 |
Total Views | 156 |
Whole Req Eng module summarized down to need to know info...
Requirements Engineering Revision
Requirements Engineering....................................................................................................................1 Question 1: Agile and waterfall software requirements methods.........................................................2 Waterfall:...............................................................................................................................................2 Advantages of Waterfall........................................................................................................................2 Disadvantages of Waterfall....................................................................................................................2 Agile:..................................................................................................................................................... 3 Advantages of Agile:..............................................................................................................................3 Disadvantages of Agile:..........................................................................................................................3 Agile principles......................................................................................................................................4 5 whys...................................................................................................................................................5 Question 2: Requirements.....................................................................................................................6 Functional..............................................................................................................................................6 Non-Functional......................................................................................................................................7 Question 3: Use Case Models and Diagrams.........................................................................................8 Use Case Models:..................................................................................................................................8 Use Case Diagrams:...............................................................................................................................8 Advantages of using Use Case Models and Diagrams:...........................................................................9 Question 4: Elicitation Techniques.......................................................................................................10 Why analyse existing system ?.............................................................................................................10 What you can do.................................................................................................................................10 Question 5: User Story Map and User Stories.....................................................................................11 Story maps...........................................................................................................................................11 Story Map structure:...........................................................................................................................11 Why use story map.............................................................................................................................. 11 Example of story map..........................................................................................................................11 User Stories......................................................................................................................................... 12 What is a user story.............................................................................................................................12 User story template.............................................................................................................................12
Why write user stories.........................................................................................................................12 How are user stories composed ( 3 Cs )...............................................................................................12
Question 1: Agile and waterfall software requirements methods. Waterfall: Waterfall method, also known as the traditional approach is a linear 5 step process where each step is completed once and only provides the finalized project once all steps are completed Steps are: 1.
Requirements analysis
2.
Design
3.
Development
4.
Testing
5.
Maintenance
Advantages of Waterfall 1.
Planning and designing is more straightforward as customers and developers agree on what will be delivered early in the development lifecycle
2.
Progress is measured more easily as can see the full scope from the beginning
3.
Customer presence not needed once development and design process complete at the beginning
4.
Less likelihood of “ piecemeal effect”which occurs when different sections are developed separately and do not fil together at the end when combined
Disadvantages of Waterfall 1.
Requirements are often not very effective
2.
Customers can be intimidated by amount of detail needed at the beginning
3.
Customer may not like the end product based on confusion caused when designing it at the beginning as they were not part of the development process since then.
Agile: Agile is a specific type of RAD (rapid application development) that is based on the division of tasks in a project into short phases (sprints) and frequent reassessment and adaption of plans
Advantages of Agile: 1.
Customer has strong sense of ownership as always part of the development cycle
2.
Can release features as completed rather than waiting until the end
3.
Easily adaptable
4.
More engaging for customers and developers
Disadvantages of Agile: 1.
Large amount of customer involvement needed, time consuming
2.
Requires full dedication of developers in terms of focus and time to be properly effective
3.
Often takes longer due to sprints changing or going over the time frame allotted
4.
Can be hard to manage if dealing with remote workers as works best with face to face collaboration
Agile principles
1.
Customer satisfaction through early and continuous software delivery –Customers are happier when they receive working software at regular intervals, rather than waiting extended periods of time between releases.
2.
Accommodate changing requirements throughout the development process –The abi l i t yt oav oi ddel ay swhenar equirement or feature request changes.
3.
Frequent delivery of working software –Scrum accommodates this principle since the team operates in software sprints or iterations that ensure regular delivery of working software.
4.
Collaboration between the business stakeholders and developers throughout the project -Better decisions are made when the business and technical team are aligned.
5.
Support, trust, and motivate the people involved –Motivated teams are more likely to deliver their best work than unhappy teams.
6.
Enable face-to-face interactions –Communication is more successful when development teams are co-located.
7.
Working software is the primary measure of progress –Delivering functional software to the customer is the ultimate factor that measures progress.
8.
Agile processes to support a consistent development pace –Teams establish a repeatable and maintainable speed at which they can deliver working software, and they repeat it with each release.
9.
Attention to technical detail and design enhances agility –Theright skills and good design ensures the team can maintain the pace, constantly improve the product, and sustain change
10. Simplicity –Develop just enough to get the job done for right now.
11. Self-organizing teams encourage great architectures, requirements, and designs – Skilled and motivated team members who have decision-making power, take ownership, communicate regularly with other team members, and share ideas that deliver quality products.
12. Regular reflections on how to become more effective –Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.
5 whys
The 5 whys is a useful process that can be used to help with problem analysis in terms of discovering the underlying root cause
This helps with gaining a better understanding before development begins along with helping to ensure the right solution is found and minimizes extra work later.
How to complete the 5 whys: 1.
Write down the specific problem
2.
Asks why the problem happens and write answer below
3.
If the answer doesn’ tundercover the root issue, then that also is a problem so you then need to write the answer to solve that problem below it
4.
Repeat until you have the root issue
Example:
1.
Why?-The battery is dead. (first why)
2.
Why?-The alternator is not functioning. (second why)
3.
Why?-The alternator belt has broken. (third why)
4.
Why?-The alternator belt was well beyond its useful service life and not replaced. (fourth why)
5.
Why?-The vehicle was not maintained according to the recommended service schedule. (fifth why, a root cause)
6.
Why?-Replacement parts are not available because of the extreme age of the vehicle. (sixth why, optional footnote)
Question 2: Requirements Functional
Any requirement that specifics what a system should do
1.
Business Rules
2.
Transaction corrections, adjustments and cancellations
3.
Administrative functions
4.
Authentication
5.
Authorization levels
6.
Audit Tracking
7.
External Interfaces
8.
Certification Requirements
9.
Reporting Requirements
10.
Historical Data
11.
Legal or Regulatory Requirements
EX:
1.
sent email when customer signs up
2.
Open a new account
3.
If a patient is allergic to medication then prescription of that medication shall result in warning message being issued to pharmacy to notify customer
Non-Functional
Any requirement that specifies how the system performs a certain function
1.
Performance –f orexampl e:r espons et i me,t hr oughput ,ut i l i zat i on,st at i cv ol umet r i c
2.
Scalability
3.
Capacity
4.
Availability
5.
Reliability
6.
Recoverability
7.
Maintainability
8.
Serviceability
9.
Security
10.
Regulatory
EX: 1.
Emails should be sent with a latency of no greater than 2 hours from when customer signs up
2.
A new customer account is created within 10 seconds of a customer pressing the sign up button
3.
The system should be available in all pharmacies during normal working hours.
Question 3: Use Case Models and Diagrams
Use Case Models:
A model is a simplification of reality
Modelling helps achieve: 1.
Visualize system
2.
Specify structure or behaviour of system
3.
Gives a template for developing system
4.
Documents the decisions made
Contains Actors which can be primary or secondary
Primary actors are used to complete the goal Secondary actors assist the primary actor in completing the goal
EX: Buying an item in a shop Primary actor –customer Secondary actor –customer service assistant working in the shop as they help the customer buy the item by putting through the sale
Advantages of using Use Case Models and Diagrams:
1.
Give context for requirements
2.
Help verify that all requirements are captured.
3.
Are easy to understand.
4.
Use terminology that customers and users understand.
5.
Tell concrete stories of system use.
6.
Verify stakeholder understanding
7.
Aid team communication and understanding.
8.
Facilitate agreement with customers.
9.
Facilitate the creation of test cases, documentation, and design
10.
Facilitate requirements reuse
Question 4: Elicitation Techniques Requi r ement sel i ci t at i oni st hepr ac t i c eofc ol l ect i ngt her equi r ement sofas y s t em f r om user s , c us t omer sandot hers t ak ehol der s.
Thepr act i cei sal s os omet i mesr ef er r edt oas" r equi r ementgat her i ng" .
Why analyse existing system ? 1.
Take into account real usage patterns
2.
Key features/ tasks
3.
Catch obvious improvements
What you can do 1.
Read available documentation –manuals, memos, development documents etc
2.
Observation –shadow specialists using the system
3.
Questionnaires
4.
Interviews - Record, discover , reassure
5.
Brainstorming
6.
Prototyping
Question 5: User Story Map and User Stories Story maps
Story Map structure:
Vision > Goals > Activities > Tasks > Stories
1.
A vision is achieved via goals
2.
Goals are reached by completing activities
3.
To complete an activity users need to perform tasks
4.
These tasks are transformed into user stories for software development
Why use story map
1.
Allows you to see the bigger picture in your backlog
2.
Helps with prioritizing backlog
3.
Encourages iterative development approach
4.
Useful visual representation of project plan
Example of story map
User Stories
What is a user story
A user story is a small piece of system functionality, in a simple sentence
Answers three important questions: 1.
Who are you building this for
2.
What are you building
3.
Why are you building this
User story template As a , I < some goal> so that
Examples: As a customer, I want to place an order for some food so that I can eat dinner
As a frequent jogger, I want to be able to track my number of steps so that I can monitor by overall fitness from that workout
Why write user stories
1.
Placeholder to have a conversation with our users about what they need
2.
Helps gets the needs from users
3.
Tool for tracking and scheduling work
4.
Helps promote a dialogue
How are user stories composed ( 3 Cs )
They are composed of three aspects 1.
Card - written description of story
2.
Conversation –fleshes out the details of the story
3.
Criteria - tests that confirm details that can be used to determine when a story is complete...