0% found this document useful (0 votes)
30 views9 pages

208 Assignment 2

software engineering 3

Uploaded by

Bismark Bakomora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views9 pages

208 Assignment 2

software engineering 3

Uploaded by

Bismark Bakomora
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

208 ASSIGNMENT 2

Q1
User requirements are declarations or descriptions of the services that the system is
expected to provide to users, as well as the limitations under which it must operate. The
client provides these descriptions.
System requirements provide more detailed definitions of the software system's
functions, services, and operational limitations. It should specify precisely what is to be
implemented. The system’s developers or contractors provide these descriptions.
It is crucial to differentiate between user and system requirements during the
requirements engineering process since different types of readers use them differently.
The readers of the user requirements are not usually concerned with how the system will
be implemented while the readers of the system requirements need to know more
precisely what the system will do because they are concerned with how it will support
the business processes, or they are involved in the system implementation. In other
words, it is important to differentiate between user and system requirements because it
provides a clear communication.

My team is developing a website for Youth Space Afrika, an NGO that is youth-led and
focuses on adolescents and women. This nonprofit organization creates safe spaces
for young people and girls to reach their potential while advocating against issues
affecting adolescents, marginalized, and vulnerable groups such as persons with
disabilities, those living with HIV, and street children.
Below are examples of user requirements with respect to my team’s project.
Information Accessibility:

• User Requirement 1: Visitors must be able to quickly locate details about


the organization's mission, programs, and initiatives.
• User Requirement 2: The website should offer accessible resources and
support information for adolescents, marginalized groups, and vulnerable
populations.
Event and Program Participation:

• User Requirement 3: Users should have the ability to view and register for
upcoming events and programs directly through the website.
• User Requirement 4: The website should enable users to submit inquiries
or requests for assistance.
Below are examples of system requirements with respect to my team’s project.
Content Management System (CMS):

• System Requirement 1: The CMS must facilitate the creation and


management of dynamic content, including blog posts, event listings, and
resource pages, and allow non-technical staff to update content with ease.
• System Requirement 2: The CMS must incorporate accessibility features,
such as alternative text for images, compatibility with screen readers, and
keyboard navigation, to ensure the website is usable by individuals with
disabilities.
User Registration and Authentication:

• System Requirement 3: The website must offer a secure user registration


and login system, utilizing encryption protocols like SSL/TLS for data
transmission and SHA-256 for password storage.
• System Requirement 4: The system must enable registered users to
manage their profiles, view their registered events, and manage their
newsletter subscriptions.
Event Management System:

• System Requirement 5: The website must include an event management


system that allows users to view event details, register for events, and
receive confirmation emails. This system should integrate with a calendar
tool to display upcoming events.
• System Requirement 6: The event registration system must support
multiple payment methods for paid events, including credit cards and
mobile payment options.
Q2
Sample User and System Requirements based on the project.
User Requirements
Information Accessibility:

• User Requirement 1: Visitors must be able to quickly locate details about


the organization's mission, programs, and initiatives.
• User Requirement 2: The website should offer accessible resources and
support information for adolescents, marginalized groups, and vulnerable
populations.
Event and Program Participation:

• User Requirement 3: Users should have the ability to view and register for
upcoming events and programs directly through the website.
• User Requirement 4: The website should enable users to submit inquiries
or requests for assistance.
System Requirements

Content Management System (CMS):

• System Requirement 1: The CMS must facilitate the creation and


management of dynamic content, including blog posts, event listings, and
resource pages, and allow non-technical staff to update content with ease.
• System Requirement 2: The CMS must incorporate accessibility features,
such as alternative text for images, compatibility with screen readers, and
keyboard navigation, to ensure the website is usable by individuals with
disabilities.
User Registration and Authentication:

• System Requirement 3: The website must offer a secure user registration


and login system, utilizing encryption protocols like SSL/TLS for data
transmission and SHA-256 for password storage.
• System Requirement 4: The system must enable registered users to
manage their profiles, view their registered events, and manage their
newsletter subscriptions.
Event Management System:
• System Requirement 5: The website must include an event management
system that allows users to view event details, register for events, and
receive confirmation emails. This system should integrate with a calendar
tool to display upcoming events.
• System Requirement 6: The event registration system must support
multiple payment methods for paid events, including credit cards and
mobile payment options.
Difference in Requirement Gathering
User Requirements:

• Stakeholder Interviews and Workshops: Engage with staff, volunteers, and


target users to understand their needs.

• Surveys and Questionnaires: Collect input from a broader audience on valuable


features and information.

• Focus Groups: Discuss requirements and gather detailed feedback from


representatives of various user groups.
System Requirements:

• Technical Meetings: Collaborate with my team to detail technical specifications.

• Prototyping: Create prototypes or wireframes to visualize the system and assess


feasibility.

• Review of Standards and Best Practices: Ensure compliance with industry


standards, security protocols, and best practices for web development and
accessibility.
Design and Development
Design Phase:
Use user needs to guide UX and UI design, ensuring that the website is simple,
accessible, and engaging. Create a content strategy based on user needs to make
important information easy to find and access.
Development Phase:
Use system requirements as a detailed roadmap for building all necessary features and
functionalities. Create test cases based on both user and system requirements to
validate the website's functionality, usability, and performance.
Q3
Agile process models in software engineering focus on flexibility, collaboration, and
iterative development to produce software that meets the needs of the clients or users.
Key principles and practices of Agile, especially Scrum since that is what my team is
using, include Customer involvement, embrace change, Incremental delivery, maintain
simplicity and People, not process.
Customer Involvement: In Scrum, customer involvement is important as they provide
and prioritize system requirements. The Product Owner manages the Product Backlog,
ensuring high-value features are prioritized. Regular sprint reviews involve stakeholders
to gather feedback and refine requirements, ensuring alignment with customer
expectations throughout development.
Embrace Change: In Scrum, embracing change is also important. My team anticipates
and adapts to evolving system requirements by leveraging the iterative nature of Scrum.
The Product Backlog is continuously adjusted to integrate new insights and updates.
Sprint Planning sessions provide opportunities to incorporate these changes, enabling
the team to respond effectively to evolving priorities within each sprint.
People, not process: In Scrum, valuing people over process is key. My team is
empowered to self-organize and innovate, choosing methods that suit our strengths. The
Scrum Master facilitates continuous improvement by removing obstacles, fostering a
collaborative environment focused on team effectiveness.
Handling Changing Requirements
Agile methodologies, particularly Scrum, excel in handling evolving requirements by
actively managing the Product Backlog, adjusting priorities based on current needs. Each
sprint starts with planning sessions where the team commits to backlog items, followed
by reviews that gather feedback and may prompt requirement changes. Ongoing
engagement with stakeholders ensures quick adaptation to changing needs in
subsequent sprints.
Benefits of Agile Methods over Traditional Waterfall Models
Benefits of agile methods over traditional waterfall models include:
1. Flexibility and Adaptability
2. Customer Involvement
3. Risk Management
4. Improved Quality, etc.

Implementation of Scrum in the Project


Roles:

• Product Owner
• Scrum Master
• Development Team
Artifacts:

• Product Backlog
• Sprint Backlog
• Increment
Events:

• Sprint Planning
• Sprint Review
• Sprint Retrospective i.e. reflection on the previous sprint to identify improvements
for the next sprint.
• Short meetings online to address impediments

Q4

FLOW DIAGRAM

https://lucid.app/lucidchart/invitations/accept/inv_20a33e74-9de6-43d7-a7c6-80e8bd3c2d6c

Process flow diagrams (PFDs) provide a visual representation of the sequence of


activities and decisions within a system. They are essential for understanding and
communicating the interactions between various processes, and ensuring all steps in a
process are considered.

I used Lucid chart for the diagram.


USE-CASE DIAGRAM

https://lucid.app/lucidchart/a797f295-5676-4015-9378-
e02365fdaf79/edit?viewport_loc=-363%2C-
123%2C2004%2C900%2C0_0&invitationId=inv_b7fb08af-9e23-43d8-abc0-
f8f5ebcf0d57
Use cases detail how users engage with a system to accomplish specific objectives. They
outline the steps a user follows to complete a task, the system's responses, and any
variations or exceptions that may arise.
I used Lucid chart for the diagram.
How Flow Diagrams and Use Case Diagrams Aid in Understanding and
Communicating System Functionality
Development Team: PFDs and use cases offer a comprehensive blueprint of system
functionality, detailing what needs to be built and how components work together.
Stakeholders: These tools convey system functionality to non-technical stakeholders,
ensuring their expectations match project deliverables and illustrating user interactions.
Testing: PFDs and use cases assist in creating thorough test plans, ensuring that all
functional requirements are validated, and the system operates correctly.

Q5
User stories provide a brief description of a feature from the perspective of the
intended user or customer.
Epics are enormous projects that can be split down into smaller assignments (stories).
They are essentially large-scale campaigns that include various user stories.
Features are software functions that provide commercial value. They are often larger in
scale than individual user tales but smaller than epics. Features can be made up of
many user stories.
Example of a user story, epics, and features related to the project is:
User Story:
"As a visitor to the Youth Space Afrika website, I want to quickly locate information on
upcoming events and programs, so I can join activities that interest me."
Epic:
Event Management System
This epic encompasses all functionalities related to managing events and programs on
the Youth Space Afrika website, including event listings, registration, and confirmation
processes.
Feature:
Event Registration
This feature enables users to view event details, register for events directly on the
website, and receive confirmation emails once registration is successful.
Relationship and how they align with the client’s needs and project goals
User Story to Epic: The user story ("easily find information about upcoming events and
programs") is a specific requirement that contributes to the overall epic of "Event
Management System". It encapsulates a user need that the epic seeks to address.

Epic to Feature: The epic ("Event Management System") includes a variety of features,
including "Event Registration". This feature directly helps the epic by providing particular
features for excellent event management.

Alignment with Client Needs: These user stories, epics, and features are directly related
to the client's goal of delivering a user-friendly platform for teenagers and marginalized
groups to access information and engage in activities. They ensure that the
development efforts are focused on delivering functionality that suit the client's needs
and improve the user experience on the website.
Contribution to Requirements Engineering
User stories offer user-centric descriptions of features to align development with user
needs, epics organize large-scale initiatives into manageable tasks, and features serve
as deliverables that bridge high-level epics and detailed user stories, ensuring progress
aligns with strategic goals.

You might also like