0% found this document useful (0 votes)
31 views12 pages

Digital Assessment 2: Software Engineering Principles CSI1007

Uploaded by

pratik712shah
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)
31 views12 pages

Digital Assessment 2: Software Engineering Principles CSI1007

Uploaded by

pratik712shah
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/ 12

Software Engineering Principles CSI1007

DIGITAL ASSESSMENT 2

Name of the Student -

Register No. –

Course Name -

Course Code -

SLOT -

Date of Submission –

Winter 2023-2024
Software Engineering Principles CSI1007

DIGITAL ASSESSMENT 2
Digital Assessment 2.1
2.1 Aim
To perform requirement analysis and create different Requirement Analysis
Models.

2.2.1 Introduction
Requirement Analysis Modelling
▪ It involves analyzing, refining, and scrutinizing the gathered
requirements to make them consistent and unambiguous.
▪ It is the process of creating visual representations of the needs and
expectations for a system or product.
▪ Models help to communicate and understand the requirements,
identify potential problems or conflicts, and ensure that the final
product meets the needs of the stakeholders.

Purpose of Requirement Analysis Modelling


▪ To understand, document, and define the expectations of the users
and other stakeholders related to the software application.
▪ It allows understanding of the system behavior,
▪ Identification and correction of inconsistencies and ambiguities,
and analysis of data flow amongst various modules.
In other words:
▪ To describe what the customer requires,
▪ To establish a basis for the creation of a software design, and
▪ To define a set of requirements.

Requirement Analysis Modelling Strategies


Functional Modeling in requirement analysis
▪ It refers to the representation of the software’s functionality or the
operations it must perform.
▪ It defines what a system or its component should do.
▪ It specifies the features and functions of the software product.

Winter 2023-2024
Software Engineering Principles – CSI1007

▪ For example, a functional requirement for a messenger might be


something like, "A user must be able to edit messages after they are
sent". These requirements are typically represented or stated in the
form of input to be given to the system, the operation performed, and
the output expected.

Non-Functional Modeling in requirement analysis


▪ It refers to the constraints or performance requirements of the system.
▪ Non-functional requirements (NFRs) specify how the system must
perform.
▪ They define the quality attribute of a software system.
▪ These requirements outline how well the system operates, including
aspects like speed, security, reliability, data integrity, etc.
▪ For instance, a non-functional requirement for a messenger might be
the speed with which a system must perform editing to satisfy user
expectations.

Strategy 1 – Scenario Based Modelling


▪ It describes the system from the user’s point of view.
▪ This approach is typically the first stage of requirements modeling, as
it identifies the primary use cases for the proposed software system or
application.
▪ It involves describing how the system will be used in specific situations,
from the user's perspective.
▪ Scenario-Based Modeling provides a user-centric perspective of the
system, helping to ensure that the software meets the needs and
expectations of its end users.

Techniques used:
1.1 Use Case
▪ A use case describes a specific sequence of actions that a user (called
an "actor") takes to achieve a particular goal within a system.
▪ It serves as a blueprint for understanding how users will interact with
the system and what they expect to accomplish.

Winter 2023-2024 3
Software Engineering Principles – CSI1007

▪ It outlines the flow of user inputs, establishing successful and failed


paths to meeting goals.

Key Components
▪ Actor: Anything exhibiting behavior that interacts with a system, such
as a single user, a team, or another piece of software
▪ Goal: This is the specific objective the user wants to achieve through
the use case.
▪ Main Flow: This is the primary sequence of steps the user takes to
achieve the goal.
▪ Alternative Flows: These are potential variations or exceptions to the
main flow, like handling errors or unforeseen situations.
▪ Pre-conditions: These are the requirements that must be met before
the use case can start, such as user authentication or data availability.
▪ Post-conditions: These are the results of the use case, including the
desired state of the system and any outputs generated.

1.2. UML Use Case


▪ A UML use case is a powerful tool for capturing and representing the
requirements and functionalities of a system from the user's
perspective.
▪ It depicts how users interact with the system to achieve specific goals.

Key Components:
▪ Actors: Actors are external entities that interact with the system. These
can include users, other systems, or hardware devices. In the context
of a Use Case Diagram, actors initiate use cases and receive the
outcomes.
▪ Use Cases: Use cases represent specific things your system can do.
They are represented by ovals. For example, in an online shopping
system, examples of use cases could be “Place Order,” “Track Delivery,”
or “Update Product Information”.
▪ System Boundary: The system boundary is a visual representation of
the scope or limits of the system you are modeling. It defines what is

Winter 2023-2024 4
Software Engineering Principles – CSI1007

inside the system and what is outside. The boundary helps to establish
a clear distinction between the elements that are part of the system and
those that are external to it. The system boundary is typically
represented by a rectangular box that surrounds all the use cases of
the system.
▪ Use Case Diagram Relationships: In a Use Case Diagram,
relationships play a crucial role in depicting the interactions between
actors and use cases. These relationships provide a comprehensive view
of the system’s functionality and its various scenarios.

2.1.2 Tools and Technologies Used


Word Processor software
StarUML software

2.1.3 Procedure
For Creating Use case follow the steps:
1. Identify the Actors: Determine who will be interacting with the system.
These are the users who will be engaging with your system.
2. Define Goals: Write a goal statement for each actor. This should briefly
describe the primary goal of implementing the technology or business
process.

3. Identify Use Cases: For each actor, determine what they want to do
with the product and create a separate use case for each action. Each
action the user does becomes a separate use case.
4. Define the Elements of the Use Case: All of these elements are
required in every use case. Use cases accumulate scenarios.
5. Describe the Normal Course of Events: For each use case, describe
the normal course of events when the user uses the product.
6. Identify Stakeholders: These are the people in the organization who
care about the outcome of the process. They may not be users in the
process described by the use case, but the system acts to satisfy their
interests.

Winter 2023-2024 5
Software Engineering Principles – CSI1007

7. Define Scope: Specifically identify the system that is being evaluated


and leave out elements that are not part of this system.
8. Write Preconditions and Triggers: Define the underlying factors
required for the use case to happen and the events that begin a use
case.
9. Describe Basic and Alternate Flows: Define use cases where systems
work as intended to reach a goal and different outcomes based on when
and how a system veers off course.
10. Repeat the Steps for All Other Functions and Users: Repeat the
steps for all other functions and users.

For Creating UML Use case follow the steps:


1. Identify the Actors: These are the users or external systems that
interact with your system.
2. Identify the Use Cases: These are the specific functionalities or
services provided by your system.
3. Draw the System Boundary: This is a box that encompasses all the
use cases and differentiates the system from the outside world.
Everything inside the box is part of the system, and everything outside
the box is outside the system.
4. Draw the Actors and Use Cases: Actors are represented as stick
figures, and use cases are represented as ovals. Place the actors outside
the system boundary and the use cases inside the system boundary.
5. Connect the Actors and Use Cases: Draw lines between the actors and
the use cases they interact with. These lines represent the interactions
between the actors and the use cases.
6. Add Relationships Between Use Cases: If there are relationships
between use cases (like include, extend, or generalization), represent
them with arrows between the use cases.
2.1.4 Observations & Results
Problem – Create a use case for basic calculator application for Windows OS
Sample Use cases are shown below.
Use Case: Start Calculator
▪ Actor: User

Winter 2023-2024 6
Software Engineering Principles – CSI1007

▪ Precondition: Calculator application is installed on the system.


▪ Basic Flow:
o User clicks on the Calculator application icon.
o System opens the Calculator application.
▪ Postcondition: Calculator application is ready for use.

Use Case: Perform Addition


▪ Actor: User
▪ Precondition: Calculator application is open.
▪ Basic Flow:
o User enters the first number.
o User presses the ‘+’ button.
o User enters the second number.
o User presses the ‘=’ button.
o System displays the result of the addition.
▪ Postcondition: The result of the addition operation is displayed.

Use Case: Perform Subtraction


▪ Actor: User
▪ Precondition: Calculator application is open.
▪ Basic Flow:
o User enters the first number.
o User presses the ‘-’ button.
o User enters the second number.
o User presses the ‘=’ button.
o System displays the result of the subtraction.
▪ Postcondition: The result of the subtraction operation is displayed.

Use Case: Perform Multiplication


▪ Actor: User
▪ Precondition: Calculator application is open.
▪ Basic Flow:
o User enters the first number.
o User presses the ‘*’ button.

Winter 2023-2024 7
Software Engineering Principles – CSI1007

o User enters the second number.


o User presses the ‘=’ button.
o System displays the result of the multiplication.
▪ Postcondition: The result of the multiplication operation is displayed.

Use Case: Perform Division


▪ Actor: User
▪ Precondition: Calculator application is open.
▪ Basic Flow:
o User enters the first number.
o User presses the ‘/’ button.
o User enters the second number.
o User presses the ‘=’ button.
o System displays the result of the division.
▪ Postcondition: The result of the division operation is displayed.

Use Case: Clear Calculator


▪ Actor: User
▪ Precondition: Calculator application is open.
▪ Basic Flow:
o User presses the ‘C’ button.
o System clears all the inputs and results.
▪ Postcondition: Calculator is cleared and ready for new calculations.

Sample UML Use Case

Winter 2023-2024 8
Software Engineering Principles – CSI1007

Other Use case Diagram Example

Assessment Problem 2.1

Winter 2023-2024 9
Software Engineering Principles – CSI1007

Aim: You are asked to develop use cases and use case diagram for Online
shopping on an e-commerce platform.

Solution (Sample)
Use Case 1: Purchase an item as a registered user.
▪ Actor: Registered user on the e-commerce platform
▪ Goal: Successfully purchase an item and have it delivered to their
chosen address.
▪ Basic Flow:
o Browse products: The user searches for the desired item using
keywords or categories.
o View product details: The user selects the item and views its
details, including description, price, reviews, and availability.
o Add to cart: If satisfied, the user adds the item to their shopping
cart.
o Review cart: The user reviews the items in their cart, modifying
quantities or removing unwanted items if needed.
o Proceed to checkout: The user proceeds to checkout and
confirms their chosen shipping address and payment method.
o Place order: The user confirms the order and payment, finalizing
the purchase.
o Order confirmation: The user receives an order confirmation
email with details.
o Track order: The user can track the order's progress through
their account or a tracking link.
o Delivery: The item is delivered to the chosen address within the
estimated timeframe.
o Review and rating: The user can optionally leave a review and
rating for the purchased item.
▪ Alternative Flow
o Item out of stock: If the desired item is out of stock, the user
should be notified and offered alternative options or the ability to
be notified when it's back in stock.

Winter 2023-2024 10
Software Engineering Principles – CSI1007

o Payment failure: If the payment fails, the user should be


informed of the reason and be offered alternative payment
methods.
o Change order: The user should be able to modify or cancel their
order before it's shipped.
o Return or exchange: The user should have a clear and easy
process to return or exchange the item if necessary.
▪ Pre-conditions:
o The user must have an account with the e-commerce platform.
o The item must be available for purchase.
o The user must have a valid payment method.
▪ Post-conditions:
o The user has successfully purchased the item.
o The order is confirmed and being processed.
o The user will receive the item within the estimated timeframe.

UML Use case Diagram

Note: Similarly write down other use cases for this web application
Hints:
▪ Browse and Search Products
▪ Manage Account and Orders
▪ Guest checkout: Allow users to purchase without creating an account.
▪ Social login: Offer login options through social media accounts for faster
checkout.
▪ Order tracking and notifications: Provide real-time updates on order
status and delivery progress.
▪ Personalized recommendations: Suggest products based on user
browsing history and purchase behavior.

Winter 2023-2024 11
Software Engineering Principles – CSI1007

▪ Live chat and customer support: Aid users with questions or issues
during the shopping journey.
▪ Gift cards and vouchers: Enable users to purchase and redeem gift
cards for others.
▪ Subscription boxes and recurring orders: Allow users to subscribe to
regular deliveries of selected products.
▪ Product returns and exchanges: Facilitate a smooth process for
returning or exchanging unwanted or damaged items.

2.1.5 Conclusion:
Through this laboratory exercise, we have gained a deeper understanding of
the importance and application of use cases and use case diagrams in
software development. We have learned how to identify actors, define their
goals, and outline the interactions they have with the system.

Winter 2023-2024 12

You might also like