0% found this document useful (0 votes)
5 views

SE ANS

The document outlines the generic framework activities in software development, which include communication, planning, modeling, construction, and deployment. It discusses the need for software engineering due to factors like huge programming demands, adaptability, cost, dynamic nature, and quality management. Additionally, it highlights the possibility of combining process models, the challenges in transitioning to agile methodologies, and the importance of requirements engineering in guiding software development.

Uploaded by

najman061030
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)
5 views

SE ANS

The document outlines the generic framework activities in software development, which include communication, planning, modeling, construction, and deployment. It discusses the need for software engineering due to factors like huge programming demands, adaptability, cost, dynamic nature, and quality management. Additionally, it highlights the possibility of combining process models, the challenges in transitioning to agile methodologies, and the importance of requirements engineering in guiding software development.

Uploaded by

najman061030
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/ 16

Brief the generic framework activities in software development

process.
A generic process framework for software engineering defines five
framework activities—communication, planning, modeling,
construction, and deployment.
Mention the need for Software Engineering.
o Huge Programming:.
o Adaptability:
o Cost:
o Dynamic Nature:
o Quality Management:

Is it possible to combine process models? Provide examples to justify


your answer.
Yes, it is possible to combine the software process models. Some of the
possibilities of combining the software process models are evolutionary
process models, the spiral model and the incremental process model.
List the practical difficulties that would occur in terms of economy
for shifting from the traditional approach of software development
to agile approach of software development.
 Poor resource planning. ...
 Limited documentation. ...
 Fragmented output. ...
 No finite end. ...
 Difficult measurement.

Whether requirements engineering approach necessary for software


development?
 The requirements engineering steers the whole process of the
software development to develop the right software.
 Requirements engineering not only helps the various software
process teams but also helps the management to meet the
constraints of cost, time and resources

Functional Requirements Non Functional Requirements

A functional requirement A non-functional requirement


defines a system or its defines the quality attribute of a
component. software system.

It places constraints on “How


It specifies “What should should the software system fulfill
the software system do?” the functional requirements?”

Non-functional requirement is
specified by technical peoples
Functional requirement is e.g. Architect, Technical leaders
specified by User. and software developers.

It is mandatory. It is not mandatory.

It is captured as a quality
It is captured in use case. attribute.

Defined at a component
level. Applied to a system as a whole.
Functional Requirements Non Functional Requirements

Helps you verify the


functionality of the Helps you to verify the
software. performance of the software.

Functional Testing like


System, Integration, End Non-Functional Testing like
to End, API testing, etc Performance, Stress, Usability,
are done. Security testing, etc are done.

Usually easy to define. Usually more difficult to define.

Example
Example 1) Emails should be sent with a
1) System shutdown in latency of no greater than 12
case of a cyber attack. hours from such an activity.

Differentiate between traditional software development and agile


software development process.
Traditional Software
Development Agile Software Development

It is used to develop simple It is used to develop complicated


software. software.

In this methodology, testing is In this methodology, testing and


done once the development development processes are
phase is completed. performed concurrently.

It follows a linear organization It follows an iterative


structure. organizational structure.
Traditional Software
Development Agile Software Development

It provides less security. It provides high security.

Client involvement is less as Client involvement is high as


compared to Agile compared to traditional software
development. development.

It provides less functionality in It provides all the functionality


the software. needed by the users.

It supports a fixed development It supports a changeable


model. development model.

It is used by freshers. It is used by professionals.

Development cost is less using Development cost is high using


this methodology. this methodology.

It majorly consists of five


phases. It consists of only three phases.

It is less used by software It is normally used by software


development firms. development firms.

Expectation is favored in the Adaptability is favored in the


traditional model. agile methodology.

Whether it’s possible for a software development process to satisfy


all the principles of agile? Elaborate the principles and justify.
NOTE

Describe the waterfall model with an example application.


Waterfall model is an example of a Sequential model. In this model, the
software development activity is divided into different
S.No Phase Activities Performed
1 Requirement 1. Capture all the requirements.
Analysis 2. Do brainstorming and walkthrough to
understand the requirements.

2 System Design 1. As per the requirements, create the


design
2. Capture the hardware / software
requirements.
3. Document the designs
3 Implementation 1. As per the design create the programes
/ code
2. Integrate the codes for the next phase.
3. Unit testing of the code
4 System Testing 1. Integrate the unit tested code and test it
to make sure if it works as expected.
2. Perform all the testing activities to
make sure that the system meets the
requirements.

5 System 1. Make sure that the environment is up


Deployment 2. Make sure that the test exit criteria are
met.
3. Deploy the application in the respective
environment.
6 System 1. Make sure that the application is up and
maintenance running in the respective environment.
2. Incase user encounters and defect,
make sure to note and fix the issues faced.

Discuss some of the problems that occur when requirements must be


elicited from three or four different customers.

 Understanding large and complex system requirements is


difficult:
o (ii) a Large number of functions to be implemented.
 Undefined system boundaries:
o There might be no defined set of implementation
requirements.
 Customers/Stakeholders are not clear about their needs:
o Sometimes, the customers themselves may be unsure about
the exhaustive list of functionalities
 Conflicting requirements are there:
o There is a possibility that two different stakeholders of the
project express demands
 Changing requirements is another issue
 Partitioning the system suitably to reduce complexity:
o The projects can sometimes be broken down into small
modules
 Validating and Tracing requirements:
o Cross-checking the listed requirements before starting the
implementation part is very important.
 Identifying critical requirements:
o Identifying the set of requirements that have to be
implemented
 Proper documentation, proper meeting time, and budget
constraints

Human Resource Manager Assistance Software- The objective of the


system is to assist HR Managers in managing the information about
the employees and their activities within the Organization. This tool
should provide facilities like assigning projects to the employees
according to their skill sets, recording and monitoring their day-to-
day activities, keeping track of project proceedings, and maintaining
details of external interactions & consultations.

Document Management
 HR solutions should include a complete directory of employee

profiles.
 This directory is linked to the main record for ease of tracking and

reporting.

Applicant Tracking and Recruiting


 A comprehensive HRM software will assist with all human

resource responsibilities throughout the employee lifecycle.

 This HRIS module streamlines the hiring process for HR


departments with automated features.

Employee Onboarding and Administration

 Automated Email Notifications


 Background Screening
 Compliance Reporting
Performance Management
 Human resource management software with robust performance

management HR features continues to evaluate employees well


beyond the interview process.

Benefits Management

 ACA Dashboard
 ACA Eligibility Calculation

Compensation Management

 Compensation Dashboard
 Compensation Grid

Time and Attendance Management

 Absence Management
 Blackout Dates

Describe how Agile software development process could be applied


considering the scrum process flow for the following application
system.
Online Shopping Management System- The features to be included
are given below,
Customer Registration
Order tracking for customer
Wish list for customer
Order History
Multiple customer facilities
NO ANS

Assume yourself as a project manager for major software products


company. Your job is to manage the development of next generation
of widely used word processing software. Because competition is
intense, tight deadlines are being established and announced.
Explain in detail on which software process model would you choose
for the given scenario and why?

Illustrate the Requirements Engineering process and its task


involved.
List the tasks of requirements engineering.
Inception
 Inception is a task where the requirement engineering asks a set of
questions to establish a software process.
 In this task, it understands the problem and evaluates with the proper
solution
Elicitation
 Elicitation means to find the requirements from anybody.
 The requirements are difficult because the following problems
occur in elicitation.
 Problem of scope
 Problem of understanding
 Problem of volatility
Elaboration
 In this task, the information taken from user during inception and
elaboration and are expanded and refined in elaboration.
4. Negotiation
 In negotiation task, a software engineer decides the how will the project
be achieved with limited business resources.
5. Specification
 In this task, the requirement engineer constructs a final work product.
 The work product is in the form of software requirement specification.
 The requirement is formalized in both graphical and textual formats.
6. Validation
 The formal technical reviews from the software engineer, customer and
other stakeholders helps for the primary requirements validation
mechanism.
7. Requirement management
 These tasks start with the identification and assign a unique identifier to
each of the requirement.
 After finalizing the requirement traceability table is developed.

You have been given the responsibility to elicit requirements from a


customer who tells you, he/she is busy to meet you. What should you
do? List the steps to be carried to gather requirements from that
customer.
NO ANSWER

Describe the Spiral model with suitable application.


This Spiral model is a combination of iterative development process
model and the waterfall model
Each cycle in the spiral is divided into four parts:

Objective setting: Each cycle in the spiral starts with the identification of
purpose for that cycle, the various alternatives that are possible for
achieving the targets, and the constraints that exists.

Risk Assessment and reduction: The next phase in the cycle is to


calculate these various alternatives based on the goals and constraints. The
focus of evaluation in this stage is located on the risk perception for the
project.

Development and validation: The next phase is to develop strategies that


resolve uncertainties and risks. This process may include activities such
as benchmarking, simulation, and prototyping.
Planning: Finally, the next step is planned. The project is reviewed, and
a choice made whether to continue with a further period of the spiral. If it
is determined to keep, plans are drawn up for the next step of the project.

Discuss the challenges involved in establishing the groundwork


activities for a time constrained application development.
Identifying the stakeholders

 Any person who benefits directly or indirectly from the system


being developed is a stakeholder.
 Each stakeholder sees the system differently, gains different
benefits when the system is successfully developed

Recognizing Multiple Viewpoints

 Because there are so many different stakeholders, the system’s


requirements will be examined from various perspectives.

 Each of these stakeholders will contribute data to the requirements


engineering process.

Asking the first questions

 Who is the person or organisation behind the request for this work?
 Who will make use of the solution?
 What is the economic value of a successful solution?
 Is there a different source for the solution you require?

Is it possible to complete a project in one iteration and be agile?


Justify your answer.
 One suggestion is to talk to the end-users in the beginning.
 Another suggestion is more planning, and more checks.
 In many companies, the initial design of something is based on just
a few people.
 Get more people involved on the front end, and the end result will
be better
 More testing, at earlier stages, also helps. You will also get more
meaningless feedback...
 We have to fight against stagnancy and politics and "need to
know" policies in order to get more people involved, especially
ones who have no power in the context of a company.

Mention the need for Agile Software Development.

1.Reduces Technical Debt

2. Easily and Quickly Adapt to Change

3. Using Agile for Mobile Application Development and Testing


Creates Total Alignment and Transparency

4. Agile Software Development and Test Minimize Risk

5. Higher Quality Product

6. Predictable Delivery Dates

7. Better Stakeholder Engagement

8. User-Focused Testing

9. Greater Customer Satisfaction

10. Better Project Control

What are the layers of Software Engineering?

There are four types of layers in Software Engineering such as – Tools,


methods, process, A quality focus.
A quality focus:
 It is a culture that ultimately leads to the development of software
engineering.
 The bedrock that supports software engineering, it says A quality
focus.
Process:
 A process defines who is doing what, when and how to reach a
certain goal.
 The software process forms the basis for management control of
software projects. Example: Models, Documents, Data, Reports,
Forms, etc.
Methods:
 Software Engineering methods provide the technical “how to’s for
building software“.
 Methods encompass a broad array of tasks that include
communication, requirements analysis, design modelling, program
construction, testing and support.
Tools:
 Software Engineering tools provide automated or semi-automated
support for the process and the methods.
 When tools are integrated so that information created by one tool
can be used by another.

You might also like