Software Engineering
Software Engineering
Helps you verify the functionality of the Helps you to verify the performance of the
software. software.
Functional Testing like System, Integration, Non-Functional Testing like Performance, Stress,
End to End, API testing, etc are done. Usability, Security testing, etc are done.
Unit II
1.Explain what is need of System Design?
Ans - System design is an essential phase in software development that
involves creating a detailed specification of the system's architecture,
components, modules, and interfaces. The main purpose of system design
is to convert the requirements specified in the earlier phases of software
development into a blueprint for constructing the software system.
The following are some of the reasons why system design is needed in
software development:
To Ensure the Feasibility of the System: System design ensures the
technical feasibility of the system by examining the requirements and
proposing a solution that meets those requirements. The design should be
feasible from the perspective of technology, resources, and timelines.
To Achieve a Complete and Consistent System: System design helps
in identifying all the components, interfaces, and processes required to
build a software system. It ensures that the system is complete and
consistent, with no conflicting or redundant components.
To Optimize the System's Performance: System design helps in
optimizing the performance of the software system. It ensures that the
system has a well-defined architecture, appropriate modules, and efficient
algorithms to achieve the desired performance.
Unit III
1.Explain Software Risk. Explain different
categories of risk.
Ans - Software Risk refers to the probability of failing to achieve the
desired software objectives within defined project constraints. Software
Risk involves uncertain events or conditions that could adversely affect
software quality, project timing, or the overall success of a project. Risk in
software projects is an uncertain event or condition that, if it occurs, has a
positive or negative effect on at least one project objective, such as time,
cost, scope, or quality.
There are several categories of software risk, including:
Technical Risk: This category of risk is related to the technical aspects of
software development, such as programming languages, software
architecture, hardware, and database management. Technical risks can
arise due to insufficient technical expertise, untested software modules,
or complex system integrations.
Project Management Risk: These risks arise due to inadequate
planning, poor resource allocation, lack of communication, and
management issues. Project management risks can lead to delays, cost
overruns, and failure to meet project objectives.
Operational Risk: This category of risk is related to the operation and
maintenance of software systems. Operational risks can arise from issues
such as inadequate system monitoring, lack of disaster recovery planning,
and insufficient training for system administrators.
Security Risk: These risks arise due to vulnerabilities in software
systems that can be exploited by attackers. Security risks can lead to data
breaches, unauthorized access to systems, and other security threats.
Market Risk: These risks arise from changes in market conditions, such
as changes in customer demand, technological advances, or competition.
Market risks can lead to reduced demand for software products or
services, resulting in lower revenue and profitability.
Verification Validation