SE MID-1 Imp Questions+Ans

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Software Engineering Important Questions

Unit 1:
1.Define a software and explain its characteristics in detail?

2.Define software engineering and explain different types or classifications of software.?


Ans:
Software engineering is a branch of engineering that deals with the development of software.
Software generally refers to the programs used by computers; technically, it is the collection of
codes, documents and triggers that do a specific job and fulfill a specific set of requirements.
Classifications of software:
 System software—a collection of programs written to service other programs. System software
processes complex, but determinate information structures. e.g., compilers, editors, and file
management utilities. Systems applications process largely indeterminate data. (e.g., operating
system components, drivers, networking software, telecommunications processors)
 Application software—stand-alone programs that solve a specific business need. Applications in
this area process business or technical data in a way that facilitates business operations or
management/technical decision making. e.g., point-of-sale transaction processing, real-time
manufacturing process control.
 Engineering/scientific software—is a special software to implement Engineering and Scientific
applications. Applications range from astronomy to volcanology, from automotive stress analysis
to space shuttle orbital dynamics, and from molecular biology to automated manufacturing.
However, modern applications within the engineering/scientific area are moving away from
conventional numerical algorithms. Computer-aided design, system simulation, and other
interactive applications have begun to take on real-time and even system software characteristics.
 Embedded software—resides within a product or system and is used to implement and control
features and functions for the end user and for the system itself. e.g., key pad control for a
microwave oven. Provide significant function and control capability e.g., digital functions in an
automobile such as fuel control, dashboard displays, and braking systems
 Artificial intelligence software— makes use of non-numerical algorithms to solve complex
problems of straightforward analysis.
 Product-line software—designed to provide a specific capability for use by many different
customers. e.g., inventory control products, word processing, spreadsheets, computer graphics,
multimedia, entertainment, database management, and personal and business financial
applications. To sell the license for the user like people use this for listing of bills, products etc.
these people should buy the license to use particular s/w.
 Web applications—called “WebApps,” this network-centric software category spans a wide array
of applications. WebApps are linked with hypertext files. WebApps are evolving into
sophisticated computing environments that not only provide stand-alone features, computing
functions, and content to the end user, but also are integrated with corporate databases and
business applications.

3. Explain in detail the Software Phased Development Life Cycle with a neat diagram?
Ans:
The software development life cycle (SDLC) is a framework defining tasks performed at each
step in the software development process. The life cycle defines a methodology for improving
the quality of software and the overall development process. It’s typically divided into six to eight
steps: Planning, Requirements, Design, Build, Document, Test, Deploy, and Maintain. Some project
managers will combine, split, or omit steps, depending on the project’s scope. These are the core
components recommended for all software development projects.
SDLC is the structure followed by a development team within the software organization. It aims
to produce quality software that exceeds customer expectations, meets deadlines and cost
estimates.

1. Planning- project leaders evaluate the terms of the project. This includes calculating labor and
material costs, creating a timetable with target goals, and creating the project’s teams and leadership
structure. Planning should clearly define the scope and purpose of the application.

2. Define Requirements- is considered part of planning to determine what the application is supposed to
do and its requirements. For example, a social media application would require the ability to connect with
a friend. An inventory program might require a search feature. Requirements also include defining the
resources needed to build the project. For example, a team might develop software to control a custom
manufacturing machine. The machine is a requirement in the process.

3. Design and Prototyping- the Design phase models the way a software
application will work. Some aspects of the design include:

Architecture – Specifies programming language, industry practices, overall design, and use of
any templates or boilerplate
User Interface – Defines the ways customers interact with the software, and how the software
responds to input
Platforms – Defines the platforms on which the software will run, such as Apple, Android,
Windows version, Linux, or even gaming consoles
Programming – Not just the programming language, but including methods of solving problems
and performing tasks in the application
Communications – Defines the methods that the application can communicate with other assets,
such as a central server or other instances of the application
Security – Defines the measures taken to secure the application, and may include SSL traffic
encryption, password protection, and secure storage of user credentials
A prototype is like one of the early versions of software in the Iterative software development
model. It demonstrates a basic idea of how the application looks and works.

4. Software Development-This is the actual writing of the program. A small project might be written
by a single developer, while a large project might be broken up and worked by several teams. Use an
Access Control or Source Code Management application in this phase. These systems help developers
track changes to the code. They also help ensure compatibility between different team projects and to
make sure target goals are being met. Documentation can be a quick guided tour of the application’s basic
features that display on the first launch. 

5. Testing-It’s critical to test an application before making it available to users. Much of the testing can
be automated, like security testing. Other testing can only be done in a specific environment – consider
creating a simulated production environment for complex deployments. Testing should ensure that each
function works correctly. 

6. Deployment-In the deployment phase, the application is made available to users. Many
companies prefer to automate the deployment phase. This can be as simple as a payment portal and
download link on the company website. It could also be downloading an application on a
smartphone.

7. Operations and Maintenance-At this point, the development cycle is almost finished. The
application is done and being used in the field. The Operation and Maintenance phase is still
important, though. In this phase, users discover bugs that weren’t found during testing. These
errors need to be resolved, which can spawn new development cycles .

4. What do you mean by Waterfall Model and explain it with a neat diagram?

Definition: The waterfall model is a classical model used in system development life cycle to create a
system with a linear and sequential approach. It is termed as waterfall because the model develops
systematically from one phase to another in a downward fashion. This model is divided into different
phases and the output of one phase is used as the input of the next phase. Every phase has to be completed
before the next phase starts and there is no overlapping of the phases.
Description: The sequential phases described in the Waterfall model are:
1. Requirement Gathering- All possible requirements are captured in product requirement documents.
2. Analysis Read - the requirement and based on analysis define the schemas, models and business rules.
3. System Design -- Based on analysis design the software architecture.
4. Implementation Development of the software in the small units with functional testing.
5. Integration and Testing Integrating of each unit developed in previous phase and post integration test
the entire system for any faults.
6. Deployment of system - Make the product live on production environment after all functional and
nonfunctional testing completed.
7. Maintenance Fixing issues and release new version with the issue patches as required.
Advantages: 1. Easy to use, simple and understandable.2. Easy to manage as each phase has specific
outputs and review process, 3. Clearly-defined stages, 4. Works well for smaller projects where
requirements are very clear, 5. Process and output of each phase are clearly mentioned in the document.
Disadvantages: 1. It doesn’t allow much reflection or revision. When the product is in testing phase, it is
very difficult to go back and change something which is left during the requirement analysis phase.
2. Risk and uncertainty are high.
3. Not advisable for complex and object-oriented projects.
4. Changing requirements can’t be accommodated in any phase.
5. As testing is done at a later phase. So, there is a chance that challenges and risks at earlier phases are
not identified.

5. Explain the Spiral Model of SDLC with neat diagram?


Ans:
Spiral model is one of the most important Software Development Life Cycle
models, which provides support for Risk Handling. In its diagrammatic
representation, it looks like a spiral with many loops. The exact number of loops
of the spiral is unknown and can vary from project to project. Each loop of the
spiral is called a Phase of the software development process. The exact
number of phases needed to develop the product can be varied by the project
manager depending upon the project risks. As the project manager dynamically
determines the number of phases, so the project manager has an important role
to develop a product using the spiral model. 
The Radius of the spiral at any point represents the expenses(cost) of the
project so far, and the angular dimension represents the progress made so far
in the current phase. 
The below diagram shows the different phases of the Spiral Model: –

The advantages of the Spiral SDLC Model are as follows −


 Changing requirements can be accommodated.
 Allows extensive use of prototypes.
 Requirements can be captured more accurately.
 Users see the system early.
 Development can be divided into smaller parts and the risky parts can be
developed earlier which helps in better risk management.
The disadvantages of the Spiral SDLC Model are as follows −
 Management is more complex.
 End of the project may not be known early.
 Not suitable for small or low risk projects and could be expensive for small
projects.
 Process is complex
 Spiral may go on indefinitely.
 Large number of intermediate stages requires excessive documentation.

6.Explain prototyping model of SDLC with a neat diagram.


Ans:
Advantage of Prototype Model
1. Reduce the risk of incorrect user requirement
2. Good where requirement are changing/uncommitted
3. Regular visible process aids management
4. Support early product marketing
5. Reduce Maintenance cost.
6. Errors can be detected much earlier as the system is made side by side.

Disadvantage of Prototype Model


1. An unstable/badly implemented prototype often becomes the final product.
2. Require extensive customer collaboration
o Costs customer money
o Needs committed customer
o Difficult to finish if customer withdraw
o May be too customer specific, no broad market

3. Difficult to know how long the project will last.


4. Easy to fall back into the code and fix without proper requirement analysis, design, customer
evaluation, and feedback.
5. Prototyping tools are expensive.
6. Special tools & techniques are required to build a prototype.
7. It is a time-consuming process.

7.What do you mean by agile process and Explain it with a neat diagram

8.Define Project, Process and Product. What are the different team structure and explain the role
of various typical structures using in project organizations?

Unit 2:
1.Explain the concept of project team organization structure and explain different types of it in
detail.
Ans:
The term project organization refers to the style of coordination, communication, and
management the project team uses throughout a project lifecycle. By applying project
organization, you optimize resources, provide clear communication about roles and
responsibilities, and reduce potential roadblocks.
Project managers use project organization to align team members before and during a project.
The process minimizes disruption to your workflow and conflict among team members, as well
as leads to maximum productivity among team members involved in a project. 
While excellent project organization strategy and execution are important, you also need to
consider the opportunity cost of a poorly organized project. 
Types of Project Organizational Structures:
There are three types of organizational structures in project management: functional, matrix, and
projectized. Each project structure framework is determined by the authority, roles, and
responsibilities of the team members within the existing organizational structure. 
Functional Project Organizational Structure
A functional project organizational structure organizes its hierarchy around traditionally
functioning departments. A functional manager heads each department and reports to an
executive. These functional managers — not other staff — coordinate the project, and they select
team members from each department to support the project, in addition to their functional
responsibilities.
Projectized Organizational Structure
A projectized or project-based organizational structure creates a dedicated project division
within an organization. The project coordination operates vertically under this division. Project
managers maintain sole authority for the project and are assigned dedicated staff who work
toward project goals.

2.Explain the concept of software configuration management and Explain it briefly.


3.What are different project planning activities and explain them in detail.
4.Define software metric and explain size oriented metrics in detail.
5.Explain effort estimation techniques in detail.
6.What are the various forms of CoCoMo used in effort estimation? A new project with
estimated 600 KLOC embedded system has to be developed. Project manager has a choice of
hiring from 2 pools of developers: very highly capable (with respect to application) with very
little experience in programming language or developer of low quality but a lot of programming
language experience. Which is better choice in terms of 2 pools
Unit 3:
1.Define a software requirement and explain requirement engineering process in detail.
2.Explain the concept of requirement elicitation process in detail .
3.Explain in detail about the importance of software requirements and what are the different
types in it.
4.List the tasks of a System Analyst.

You might also like