Assignment - 8
Assignment - 8
Assignment
Summary of Lecture: 8
Requirements engineering defines what a project needs to accomplish so everyone
understands it clearly.
Key steps in requirements engineering:
Gather requirements: Talk to users, project managers, and others to understand their
needs.
Review requirements: Ensure they make sense, aren't repetitive, and resolve any conflicts.
- Check feasibility: Confirm that requirements can be met within time, budget, and
resource limits.
- Clarify and trace requirements: Make sure each one is easy to understand and
linked to its requester.
- Prioritize requirements: Decide what is essential and what can wait, using methods
like the Moscow method (must-have, should-have, could-have, won’t-have).
- Build a prototype: Create a sample version of the software to gather feedback.
- Seek approval: Get everyone’s agreement on requirements before starting work.
Requirements should be clear, flexible, realistic, and help avoid wasted time and money.
The goal is to keep everyone informed and aligned to complete the project successfully.
Case Study: Mobile Banking
App
Introduction
The bank requires a mobile application to enable customers to manage their accounts and perform
transactions conveniently from their smartphones. The app should be available on both iOS and
Android platforms to cater to all customers.
By identifying all stakeholders and gathering both functional and non-functional requirements, this
project aims to deliver a reliable, secure, and efficient app that meets customer needs and banking
standards.
Requirement Specification
1. Functional Requirements:
Authentication: Secure login, possibly with biometrics (e.g., fingerprint, face ID).
Account Management: View account balance, transaction history, and account
details.
Transactions: Transfer funds, pay bills, and schedule payments.
Notifications: Receive alerts for transactions, low balance, and security events.
Customer Support: In-app customer support and query handling.
2. Non-Functional Requirements:
Security: Data encryption, multi-factor authentication, compliance with banking
regulations.
Performance: Fast loading times, optimized for both iOS and Android.
Availability: Available 24/7 with minimal downtime.
Scalability: Able to handle increasing users and transaction loads.
Usability: Simple, intuitive design that works well on various screen sizes.
Change Management
Implement version control to manage changes throughout development.
Set up a change control process for handling feature updates and new requirements.
Maintain a traceability matrix to track changes and their impacts on the project.
Outcome
Following this process, the bank will get a clear and detailed list of requirements to help develop a
secure, reliable, and easy-to-use mobile banking app. This app will allow customers to manage their
accounts easily, while keeping their information safe and meeting banking standards.