Answer Key - Sem-In-1 - Regular SE MID-1
Answer Key - Sem-In-1 - Regular SE MID-1
Answer Key - Sem-In-1 - Regular SE MID-1
A failure that occurs when the user perceives that the software has ceased to
deliver the expected result with respect to the specification input values. The user may
need to identify the severity of the levels of failures such as catastrophic, critical, major or
minor, depending on their impact on the systems.
The bathtub curve is widely used in reliability engineering and deterioration
modeling. It describes a particular form of the hazard function which comprises three parts:
The first part is a decreasing failure rate, known as early failures. The second part is a
constant failure rate, known as random failures.
3.Explain how umbrella activities are helpful while developing the software
The activities in the software development process are supplemented by many general
activities. Generally, common activities apply to the entire software project and help the
software development team manage and track progress, quality, changes, and risks.
What approach will be used to uncover errors that were made in the design
and construction of the entity?
How will the entity be supported over the long term, when corrections, adaptations,
and enhancements are requested by users of the entity.
The work associated with software engineering can be categorized into three generic phases,
regardless of application area, project size, or complexity. Each phase addresses one or more
of the questions noted previously.
The definition phase focuses on what. That is, during definition, the software engineer
attempts to identify what information is to be processed, what function and performance are
desired, what system behavior can be expected, what interfaces are to be established, what
design constraints exist, and what validation criteria are required to define a successful
system. The key requirements of the system and the software are identified. Although the
methods applied during the definition phase will vary depending on the software engineering
paradigm (or combination of paradigms) that is applied, three major tasks will occur in some
form: system or information engineering, software project planning, and requirements
analysis .
The development phase focuses on how. That is, during development a software engineer
attempts to define how data are to be structured, how function is to be implemented within a
software architecture, how procedural details are to be implemented, how interfaces are to be
characterized, how the design will be translated into a programming language (or
nonprocedural language), and how testing will be performed. The methods applied during the
development phase will vary, but three specific technical tasks should always occur: software
design, code generation,and software testing.
The manager who is responsible for developing software is often under pressure regarding
many attributes of the software such as:
Under such pressure, even the software manager develops belief in a software myth that
lessens. These software myths grasped by the software manager lessen his pressure up to a
certain level but this is temporary.
5b .Explain how process framework activities are helpful while developing the
Software
The process framework is required for representing common process activities. Five
framework activities are described in a process framework for software engineering.
Communication, planning, modeling, construction, and deployment are all examples of
framework activities. Each engineering action defined by a framework activity comprises a
list of needed work outputs, project milestones, and software quality assurance (SQA) points.
6. Design a Use case and class diagram for library management system and
detail its Procedure
Forward Engineering:
Forward Engineering is a method of creating or making an application with the help of the
given requirements. Forward engineering is also known as Renovation and Reclamation.
Forward engineering requires high proficiency skills. It takes more time to construct or
develop an application. Forward engineering is a technique of creating high-level models or
designs to make in complexities and low-level information. Therefore this kind of
engineering has completely different principles in numerous package and information
processes. Forward Engineering applies of all the software engineering process which
contains SDLC to recreate associate existing application. It is near to full fill new needs of
the users into re-engineering.
Reverse Engineering:
8.Define Requirements Engineering and list out the seven distinct task of
Requirement Engineering
Requirements engineering is a broad domain that focuses on being the connector between
modeling, analysis, design, and construction. It is the process that defines, identifies,
manages, and develops requirements in a software engineering design process. This process
uses tools, methods, and principles to describe the system’s behavior and the constraints that
come along with it.
Requirements engineering is the most important part every business must follow, in order to
build and release a project successfully, as it is the foundation to key planning and
implementation.
1. Inception
2. Elicitation
3. Elaboration
4. Negotiation
5. Specification
6. Validation
7. Requirements Management
9.Explain how is Refactoring useful in the agile development process
Agile is a type of software development methodology that anticipates the need for flexibility
and applies a level of pragmatism to the delivery of the finished product. Agile software
development requires a cultural shift in many companies because it focuses on the clean
delivery of individual pieces or parts of the software and not on the entire application.
Benefits of Agile include its ability to help teams in an evolving landscape while maintaining
a focus on the efficient delivery of business value. The collaborative culture facilitated by
Agile also improves efficiency throughout the organization as teams work together and
understand their specific roles in the process. Finally, companies using Agile software
development can feel confident that they are releasing a high-quality product because testing
is performed throughout development. This provides the opportunity to make changes as
needed and alert teams to any potential issues.
Agile has largely replaced waterfall as the most popular development methodology in most
companies, but is itself at risk of being eclipsed or consumed by the growing popularity
of DevOps.
11. a) Set out a Plan for establishing the ground work in requirement engineering
Functional Requirements
Functional requirements define a function that a system or system element must be qualified
to perform and must be documented in different forms. The functional requirements describe
the behavior of the system as it correlates to the system's functionality.
Functional requirements should be written in a simple language, so that it is easily
understandable. The examples of functional requirements are authentication, business rules,
audit tracking, certification requirements, transaction corrections, etc.
These requirements allow us to verify whether the application provides all functionalities
mentioned in the application's functional requirements. They support tasks, activities, user
goals for easier project management.
There are a number of ways to prepare functional requirements. The most common way is
that they are documented in the text form. Other formats of preparing the functional
requirements are use cases, models, prototypes, user stories, and diagrams.
Non-functional requirements
Non-functional requirements are not related to the software's functional aspect. They can be
the necessities that specify the criteria that can be used to decide the operation instead of
specific behaviors of the system. Basic non-functional requirements are - usability, reliability,
security, storage, cost, flexibility, configuration, performance, legal or regulatory
requirements, etc.
Execution qualities like security and usability, which are observable at run time.
12. a) Identify the Role of the use cases diagrams in creation of behavioural
model for withdrawing the money from bank ATM