Q.2.1 Compile a list in which you identify the stakeholders for this project. Motivate

your selection of the individual(s) for inclusion in your list of stakeholders in terms
of their potential contribution to requirements definition.
(9)
Q.2.2 Based on research about similar applications, identify five plausible functional
requirements for the current focus of your design and development efforts.
(5)
Q.2.3 Using the User-Goal Technique, identify any three use cases for any one of the
functional requirements identified in Question 2.2. State the goal and the use
cases.
(4)
Q.2.4 Based on your answers to Question 2.1 to 2.3, draw an Entity-Relationship (ERD)
diagram to represent any three entities about which your application will need to
store data. Your ERD relationships should show cardinality, Primary Keys and at
least four attributes for each entity.
(21)
Q.2.5 Create a System Sequence Diagram that will show the sequence of events that
take place when an elder makes a trip booking.
(6)
Question 3 (Marks: 10)
Discuss five ways in which the application developed can be secured so that the system and the
information contained within it remains guarded.
Question 4 (Marks: 25)
Q.4.1 Discuss four ways in which you can incorporate the values of agile development in
your project.
(8)
Q.4.2 Create a presentation, using appropriate software, that you will use to obtain
approval from the community to continue with the project. The presentation must
be submitted together with your responses to the other questions in the
assignment

Q.3

1. Implement User Authentication: Require users to create an account and authenticate their identity before accessing the application. This will ensure that only authorized individuals can use the system and access sensitive information.
2. Use Secure Communication Protocols: Encrypt all data transmitted between the application and the user's device to prevent interception or unauthorized access to information.
3. Regularly Update and Patch the Application: Keep the application up to date with the latest security patches and updates to protect against known vulnerabilities. This will help to prevent attackers from exploiting any weaknesses in the system.
4. Implement Role-based Access Control: Assign different levels of access and permissions to users based on their roles and responsibilities. This will ensure that users can only perform actions that are necessary for their specific job functions.
5. Regularly Monitor and Audit the System: Implement logging and monitoring mechanisms to track and record all system activities. Perform regular security audits to identify and address any potential vulnerabilities or security breaches.

Q.4.1
1. Continuous communication and collaboration: Agile development emphasizes the importance of regular communication and collaboration among team members, stakeholders, and customers. This helps to ensure that everyone is on the same page and can provide feedback and input throughout the project.
2. Incremental and iterative development: Agile development focuses on delivering working software in small, incremental releases. This allows for frequent feedback and adjustments based on user needs and changing requirements.
3. Prioritization and flexibility: Agile development allows for flexibility in responding to changing priorities and requirements. It encourages teams to prioritize features and functionalities based on their value and impact, allowing for quicker delivery of high-value features.
4. Continuous testing and quality assurance: Agile development promotes continuous testing and quality assurance throughout the development process. This helps to identify and address any issues or bugs early on, ensuring a higher quality end product.

Q.4.2
Please note that as an AI text-based model, I am unable to create or submit a presentation. However, here are some key points that could be included in the presentation:
- Introduction to the project and its objectives
- Explanation of the problem statement and target audience
- Overview of the proposed solution and its features
- Benefits and impact of the application on the community
- Description of the development process (agile methodology)
- Timeline and milestones of the project
- Team composition and roles
- Budget and resources required
- Next steps and call to action (approval from the community)

Q.3 Five ways to secure the application and protect the system and information:

1. User Authentication: Implement a secure login system that verifies the identity of users accessing the application. This can include strong password requirements, multi-factor authentication, and account lockouts after multiple failed login attempts.

2. Role-Based Access Control: Define different user roles with specific permissions and access levels. This ensures that only authorized individuals can perform certain actions and access specific information within the application.

3. Secure Data Transmission: Utilize encryption protocols, such as HTTPS, to secure data transmission between the application and the server. This prevents unauthorized parties from intercepting and accessing sensitive information.

4. Regular System Updates: Keep the application and underlying system software up to date with security patches and updates. This helps to address any vulnerabilities and weaknesses that may be exploited by potential attackers.

5. Data Backup and Disaster Recovery: Implement regular data backups and establish a disaster recovery plan. This ensures that in case of system failures or breaches, data can be restored and operations can be resumed with minimal disruption.

Q.4.1 Four ways to incorporate the values of agile development in the project:

1. Iterative Development: Break the project into smaller, manageable tasks or iterations. This allows for continuous feedback, learning, and adaptation throughout the development process.

2. Collaboration and Communication: Foster a collaborative environment where the development team, stakeholders, and users can actively participate and provide input. Regular meetings, demos, and discussions ensure that everyone is aligned and can share their perspectives.

3. Agile Planning and Prioritization: Embrace dynamic planning techniques, such as user stories and prioritization using techniques like MoSCoW (Must have, Should have, Could have, Won't have). This enables the team to focus on delivering value early and continuously reassess priorities.

4. Continuous Integration and Testing: Implement automated testing and continuous integration practices to ensure early detection of issues and quick feedback on the application's functionality. This allows for continuous improvement and quality assurance.

Q.4.2 Unfortunately, as an AI text-based bot, I am unable to create a presentation. However, here are some key points you can include in your presentation to obtain approval from the community to continue with the project:

1. Introduction: Explain the purpose and significance of the project, highlighting the needs and challenges it aims to address.

2. Problem Statement: Clearly articulate the problem or opportunity that the application will solve or leverage for the community.

3. Solution Overview: Provide an overview of the proposed application, its features, and functionalities that would benefit the community.

4. Stakeholder Engagement: Discuss how the community will be involved throughout the development process, including opportunities for feedback and input.

5. Benefits: Highlight the potential benefits and positive impact on the community, such as increased efficiency, improved accessibility, and enhanced user experience.

6. Timeline and Deliverables: Present a realistic timeline for the development and deployment of the application, along with an outline of deliverables and milestones.

7. Budget and Resources: Discuss the required resources, including funding, personnel, and infrastructure, to successfully implement and maintain the project.

8. Risks and Mitigation: Identify potential risks and challenges associated with the project and explain strategies to mitigate or address them.

9. Conclusion: Summarize the key points and emphasize the value of the project to the community. Ask for approval to proceed and address any questions or concerns.

To answer these questions, we need to follow a systematic approach. Here's how you can find the answers to each question:

Q.2.1: Compile a list of stakeholders for the project:

- Start by identifying the purpose and scope of the project.
- Determine who will be affected by or have an interest in the project.
- Stakeholders can include project team members, sponsors, end-users, customers, and any other individuals or groups with an interest in the project.
- Motivate the selection of individuals for inclusion in the list of stakeholders by considering their potential contribution to requirements definition. For example, project team members can provide technical expertise, end-users can give insights into user requirements, sponsors can provide resources and guidance, and customers can provide valuable feedback.

Q.2.2: Identify five plausible functional requirements for the design and development efforts:

- Conduct research on similar applications to identify common functionality.
- Consider the specific focus of your design and development efforts.
- Functional requirements define what tasks the system needs to perform.
- Examples of functional requirements could include user registration, trip booking, payment processing, notification system, and user feedback.

Q.2.3: Use the User-Goal Technique to identify three use cases for one functional requirement:

- Choose one of the functional requirements identified in Q.2.2.
- Use the User-Goal Technique to identify a goal related to that requirement. A goal describes what the user wants to achieve.
- Identify multiple use cases that fulfill that goal. A use case describes a specific interaction between the user and the system.

Q.2.4: Draw an Entity-Relationship (ERD) diagram based on previous answers:

- Identify the three entities that the application will need to store data about.
- Define the relationships between those entities.
- Determine the cardinality of the relationships (e.g., one-to-one, one-to-many, many-to-many).
- Include the primary keys and at least four attributes for each entity.

Q.2.5: Create a System Sequence Diagram for an elder making a trip booking:

- Start by identifying the sequence of events that occur during a trip booking.
- Represent those events using an appropriate notation for a System Sequence Diagram.
- Show the order in which the events occur and the interactions between the elder and the system.

Q.3: Discuss five ways to secure the application:

- Research different security measures that can be implemented to protect the system and its information.
- Identify ways to secure the infrastructure, such as firewalls and intrusion detection systems.
- Consider encryption techniques to protect sensitive data.
- Implement secure user authentication and access control mechanisms.
- Regularly update and patch the application to address any security vulnerabilities.

Q.4.1: Discuss four ways to incorporate agile development values:

- Emphasize collaborative and cross-functional team communication.
- Prioritize delivering working software in short iterations.
- Regularly gather feedback from stakeholders to incorporate changes and improvements.
- Encourage adaptability and continuous improvement through iterative development.

Q.4.2: Create a presentation using appropriate software:

- Select a presentation software such as PowerPoint, Keynote, or Google Slides.
- Structure your presentation with an introduction, background information, project objectives, features, benefits, and a conclusion.
- Include visual aids, such as diagrams and screenshots, to illustrate key points.
- Highlight the value proposition and explain why the project should be approved.
- Tailor the presentation content to the needs and expectations of the community you're presenting to.

Remember, these are general guidelines to help you find the answers. It's essential to conduct thorough research and apply your knowledge based on the specific context and requirements of your project.