0% found this document useful (0 votes)
14 views8 pages

Sepm Ans

Uploaded by

omwaje2024
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)
14 views8 pages

Sepm Ans

Uploaded by

omwaje2024
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/ 8

2.

Differentiate between functional and Non-Functional


requirements

Functional Requirements:

Specific Actions: Functional requirements outline specific tasks or


actions that the system must be able to perform. For instance, in a social
media app, this might include features like posting updates, commenting
on posts, or sending messages to friends.

User Interactions: These requirements focus on how users interact with


the system and what functionalities they expect. For example, in an
e-commerce website, functional requirements may include browsing
products, adding items to a shopping cart, and checking out.

Inputs and Outputs: Functional requirements define the inputs that the
system will accept and the corresponding outputs it will produce. This
could involve user input through forms, buttons, or other interfaces, and
the system's responses or actions based on that input.

System Behavior: They describe how the system should respond to


various scenarios and user actions. This encompasses functionalities
like error handling, data validation, and system responses to different
user roles or permissions.

Verifiability: Functional requirements are typically testable and


verifiable. This means that they can be validated through testing
processes to ensure that the system behaves as intended and meets
user needs.
Non-Functional Requirements:

Performance: Non-functional requirements define the system's


performance expectations, such as response times, throughput, and
resource utilization. For example, an online banking application may
have a non-functional requirement specifying that transactions should be
processed within two seconds.

Security: These requirements address the system's ability to protect


data and resources from unauthorized access, breaches, and other
security threats. This includes aspects like encryption, authentication
mechanisms, and access control policies.

Reliability: Non-functional requirements related to reliability focus on the


system's ability to consistently perform as expected under various
conditions without failures or errors. This involves aspects like uptime,
fault tolerance, and error recovery mechanisms.

Usability: They concern the ease of use and user experience of the
system, including factors like intuitiveness, simplicity, and accessibility.
Usability requirements ensure that the system is user-friendly and meets
the needs of its intended users.

Scalability: Non-functional requirements regarding scalability address


the system's ability to handle growing amounts of users, data, or
transactions without significant degradation in performance or
functionality. This includes aspects like horizontal and vertical scaling,
load balancing, and resource allocation.
4.Explain the elements of sequence diagram?

Objects: Represent entities involved in the interaction, shown as vertical


lines called lifelines.

Objects (Lifelines):
Think of these as the players in the interaction, like characters in a story.
Each player is shown as a vertical line, and they're labeled with their
names.

Messages:
Messages are like the conversations or actions between the players.
They're shown as arrows going from one player to another, indicating
who's talking to whom.

Activation (Execution) Bar:


This shows when a player is actively doing something in the interaction.
It's like a timeline for each player, showing when they're busy and when
they're not.

Return Messages:
After one player sends a message, the other player might respond.
Return messages show this response, going back from the receiver to
the sender.

Control Structures:
These are like special rules or conditions in the interaction. They show
things like if-else statements, loops, or parallel actions, making the
interaction more complex.

Notes and Comments:


These are extra bits of information to help explain what's going on.
They're like little reminders or explanations added to the diagram.
Sequence diagrams use these elements to show how players (objects)
interact by sending messages back and forth, with some players being
active at different times. It's like watching a scene play out, step by step,
in a visual way.

8.Explain the process of requirement engineering?

Requirement engineering is the process of gathering, analyzing,


documenting, and managing the requirements for a software system.
Here's a simple breakdown of the process:

Understanding Needs: Firstly, it involves understanding what the users


or stakeholders need from the software. This might involve interviews,
surveys, or observation to gather requirements.

Requirement Analysis: Next, the gathered requirements are analyzed


to ensure they are clear, consistent, and feasible. This step involves
breaking down the requirements into smaller, more manageable parts.

Documentation: Once the requirements are understood and analyzed,


they need to be documented in a clear and organized manner. This
documentation serves as a reference for the development team
throughout the project.

Validation: After documentation, the requirements are reviewed by


stakeholders to ensure they accurately represent their needs. Any
discrepancies or misunderstandings are identified and corrected.

Managing Changes: Requirements can change over time due to


various factors such as evolving user needs or technological
advancements. Requirement engineering involves managing these
changes effectively, ensuring that the software remains aligned with the
stakeholders' needs.

Communication and Collaboration: Throughout the process, effective


communication and collaboration between stakeholders, users, and the
development team are crucial. This ensures that everyone is on the
same page and that the final product meets expectations.

Iterative Process: Requirement engineering is often an iterative


process, meaning that it may involve multiple cycles of gathering,
analyzing, and validating requirements as the project progresses.

9.Draw Use case diagram for Vending machine. Thereby


mention the actors,associations and use case details.
10.Explain COCOMO in detail

COCOMO is like a calculator for software projects. It helps teams figure


out how much work, time, and money they'll need to finish making a
piece of software.

Basic COCOMO:
Think of this like a quick guess based on how big the software is
supposed to be. If the software is small, it won't take as much time or
effort. If it's big, it'll take more.

Intermediate COCOMO:
This one adds more details, like how complicated the software is, how
experienced the team is, and what tools they're using. It gives a better
estimate because it considers more factors.

Detailed COCOMO:
Here, it gets really specific. It breaks down the project into different
steps, like planning, designing, coding, and testing. Then it looks at
things like the skill level of the team and how the company works. This
gives the most accurate estimate.

Factors:
COCOMO looks at lots of things that can affect the project, like how
experienced the team is, how clear the requirements are, and what kind
of technology they're using. All these things are considered to give a
better estimate.

Using COCOMO:
To use COCOMO, you plug in information about your project, like how
big it is and how experienced your team is. COCOMO then crunches the
numbers and tells you roughly how much time and effort you'll need to
finish.

13.Explain the risk analysis and management.

Risk Analysis:

Identifying Risks: The first step in risk analysis is to identify potential


risks that could affect the project. This involves looking at all aspects of
the project, including technology, resources, requirements, and
stakeholders, to uncover possible problems or challenges.

Assessing Risks: Once risks are identified, they are assessed to


determine their likelihood of occurring and their potential impact on the
project. Risks are often categorized based on their severity and the level
of control the project team has over them.

Prioritizing Risks: Risks are then prioritized based on their severity and
impact. This helps the project team focus on addressing the most critical
risks first, ensuring that resources are allocated effectively.

Risk Management:

Risk Mitigation: This involves taking proactive steps to reduce the


likelihood or impact of identified risks. Strategies for risk mitigation may
include implementing contingency plans, improving project planning,
allocating additional resources, or changing project scope.

Risk Monitoring: Throughout the project lifecycle, risks are continuously


monitored to track changes in their likelihood or impact and to identify
new risks that may arise. This allows the project team to respond quickly
and effectively to changing circumstances.
Risk Response Planning: For each identified risk, a plan is developed to
outline how the risk will be managed if it occurs. This may involve
predefined actions to address the risk, such as implementing backup
systems, reallocating resources, or communicating with stakeholders.

You might also like