EEI4267 - CAT 1 2024 - ModelAnswer
EEI4267 - CAT 1 2024 - ModelAnswer
Instructions
(a) Briefly explain user ‘Needs’ and ‘Wants’ providing examples. [4 marks]
User needs are essential functionalities or features that are necessary for the system to
fulfill its primary purpose or goal.
For a banking app, a user might need to check their account balance, transfer
funds, and pay bills.
User wants are additional features or functionalities that are desired by the user but
are not critical for the basic functioning of the system.
In a social media platform, users may want features like emoji reactions, dark
mode, or personalized recommendations.
(b) Briefly explain two different software process models. [6 marks]
Waterfall Model:
The Waterfall model is a linear and sequential software development process model.
It consists of distinct phases such as requirements phase, design phase,
implementation phase, testing phase, and maintenance phase, with each phase being
completed sequentially.The Waterfall model is suitable for projects with well-defined
requirements and stable environments.
Advantages:
Easy to understand and implement.
Clear documentation and milestone-based progress.
Disadvantages:
Less flexibility to accommodate changes.
Limited customer involvement until the end of the project.
Agile Process:
The Agile process is an iterative and incremental software development approach that
emphasizes flexibility, adaptability, and customer collaboration. It breaks down the
development process into small iterations or sprints, where cross-functional teams
complete a set of prioritized requirements. Key Agile practices are Scrum, Kanban,
and Extreme Programming (XP).
Advantages:
Flexibility to accommodate changing requirements.
Continuous feedback and collaboration with stakeholders.
Disadvantages:
Requires active involvement and commitment from the customer.
(c) List down the possible challenges you might face during requirements gathering. (8
Marks)
Student need to explain at least 3 relevant challenges.
Ex. Stakeholders often do not exactly know what they require.
• Stakeholders express requirements using their own terminology
• Stakeholders can have conflicting requirements among themselves
• Stakeholders can change during the requirement engineering process
(d) What is Project inception and why it is important for a software project. [10 marks]
Project inception refers to the initial phase of a software project where the project
team defines and clarifies the project's objectives, scope, and initial requirements. It is
a critical stage that sets the foundation for the entire project lifecycle. Here's why
project inception is important:
Case : Anjani is a movie lover who enjoys watching movies at her local theater, the
Lanka theater. However, she often finds it frustrating to wait in long queues to purchase
tickets, especially for popular movies during peak times. Anjani wishes there was a more
convenient way to book tickets in advance and choose her preferred seats without the
hassle of standing in line. To address this issue, the Lanka theater management decided to
develop an E-ticketing system that allows customers like Anjani to search and book
tickets online from the comfort of their homes or on-the-go using their smartphones. The
system should also provide additional features such as browsing movie listings (within 2
seconds), checking seat availability, and generating reports for theater management.
Further, the system admin should be able to insert, update, and delete data (ex: movie
description, time table) in the respective theater webpage.Theater has identified two types
of users like, super user (Age = > 18) and normal user (Age <18). System login should be
protected with a password and error message should display for wrong password. Other
than that, the web page should load within 2 seconds. As a software engineering student,
you are supposed to design the E-ticketing system.
(b) Identify and briefly explain three different types of requirements (9 marks)
• Business Requirements
• User Requirements
• System Requirements
(c) List down the different types of UML Diagrams. (8 Marks)
1. Use case diagrams
2. Activity diagrams
3. Class diagrams
4. Sequency diagrams
(d) Briefly define following providing an example identified from the case above. (12
Marks)
I. Functional Requirements
Product features or functions that the software solution must implement to
provide the user requested tasks achievement.
Ex: As a admin user I should be able to update the movie data in the
system, so that users can see latest movie details.
II. Non-Functional Requirements
The quality attributes or constraints that a software system must meet.
Ex: As user, I should be able to see the browse web page within 2 seconds,
so that I can do my selection without delay.
III. Domain Requirements
Domain requirements refer to the specific needs and constraints that arise
from the application domain in which the software system operates.
Ex: As a user I should be able to pay online to book the movie ticket.
(e) You are supposed to create a use case diagram to illustrate the interactions
between different actors and the system's functionalities. Use the provided
requirements to identify the actors, their goals, and the system's functionalities,
then draw a use case diagram to depict these interactions. (40 Marks)
E-ticketing System
<<Include>>
Enter
System login Password
<<exclude>>
Incorrect
Search
login
Admin
Delete user
Book Ticket
movie data
Super Normal
user user <<Include>>
Pay
Generate
reports