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

Software Development Important Questions and Answers

This document discusses software development concepts including: 1. Software is defined as instructions that tell a computer how to work, in contrast to hardware. 2. Software engineering is the systematic application of engineering principles to software development to ensure high quality, low cost software. 3. Common software types are discussed including system software, real-time software, business software, and embedded software. Advantages and examples of different software development models are provided, including waterfall, spiral, and rapid application development models.

Uploaded by

Renu Deshmukh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
384 views

Software Development Important Questions and Answers

This document discusses software development concepts including: 1. Software is defined as instructions that tell a computer how to work, in contrast to hardware. 2. Software engineering is the systematic application of engineering principles to software development to ensure high quality, low cost software. 3. Common software types are discussed including system software, real-time software, business software, and embedded software. Advantages and examples of different software development models are provided, including waterfall, spiral, and rapid application development models.

Uploaded by

Renu Deshmukh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

Software Development Important Questions and Answers

Q1. What is Software ?


Ans: Software is instructions that tells a computer how to work. This is in
contrast to hardware, from which the system is built and actually performs the
work.

Q2. Define Software Engineering


Ans: Software engineering is the application of systematic disciplined,
qualifiable and scientific approach to the development, operation and
maintainance of software .In other words, a software engineering is needed for
to develop complex and critical software system in timelymanner with high-
quality and low-cost.
Q3. Characteristics of Software.

Ans:1. Software is developed or engineered; it is not manufactured in the classical sense.

2.Software doesn’t “wear out.”

3. Although the industry is moving toward component-based construction, most

software continues to be custom built.

Q4. Types of Software and explain any 4 of them.

Ans:

1. System Software
1. System software is a collection of programs written to service other programs.
2. Few examples of system software are compilers, editors, and file management
utilities, process complex, but determinate, information structures.
3. Other systems applications are operating system components, drivers, and
telecommunications.
Example : DOS, WINDOWS

2. Real-time Software
(Question: Explain the features of real world software. – 3 Marks)
1. Software that monitors or analyses or controls real-world events as they occur is called
real time.
2. Elements of real-time software include a data gathering component that collects and
formats information from an external environment, an analysis component that
transforms information as required by the application.
3. A control/output component that responds to the external environment and a
monitoring component that coordinates all other components so that real-time response
can be maintained.

Example : airline reservation system, railway reservation system

3. Business Software
1. Business information processing is the largest single software application area. Discrete
"systems”.

2. For example: payroll, accounts receivable/payable, inventory have evolved into


management information system (MIS) software that accesses one or more large databases
containing business information.
3. Applications in this area restructure existing data in a way that facilitates business
operations or management decision making.

4. In addition to conventional data processing application, business software applications


also encompass interactive computing.
Example : Tally

4. Engineering and Scientific Software

1. Engineering and scientific software have been characterized by "number crunching"


algorithms.
2. Applications range from astronomy to volcanology, from automotive stress analysis to
space shuttle orbital dynamics, and from molecular biology to automated manufacturing.

3. However, modern applications within the engineering/scientific area are moving away
from conventional numerical algorithms.
4. Computer-aided design, system simulation, and other interactive applications have begun
to take on real-time and even system software characteristics.

Example : CAD / CAM software

5. Embedded Software

1. Intelligent products have become commonplace in nearly every consumer and industrial
market.
2. Embedded software resides in read-only memory and is used to control products and
systems for the consumer and industrial markets.

3. Embedded software can perform very limited and esoteric functions, for example: keypad
control for a microwave oven.
4. To provide significant function and control capability, for example: digital functions in an
automobile such as fuel control, dashboard displays, and braking systems.

Example : Microwave, Washing machine software


6. Personal Computer Software

1. The personal computer software market has burgeoned over the past two decades.
2.Word processing, spread sheets, computer graphics, multimedia, entertainment, database
management, personal and business fi applications, external network, and database access
are only a few of hundreds of applications. Example: Microsoft word, Excel

Q5. Needs of Software Engineering.

Ans: The basic objective of software engineering is to develop methods and


procedures for software development that can scale up for large systems and
that can be used consistently to produce high-quality software at low cost and
with a small cycle of time.

Q6. Typical Umbrella Activities.


Ans:
01. Software project tracking and control
02. Formal technical reviews
03. Software quality assurance
04. Software configuration management
05. Document preparation and production
06. Reusability management
07. Measurement
08. Risk Management

07. Define Waterfall Model. State its advantages & disadvantages with the
diagram.
Ans:

The waterfall model is a traditional method, sometimes called the classic life cycle. This is
one of the initial models. As the figure implies stages are cascaded and shall be developed
one after the other. It suggests a systematic, sequential approach to software development
that begins with customer specification of requirements and progresses through,
communication, planning, modeling construction and deployment. In other words, one stage
should be completed before the other begins. Hence, when all the requirements are elicited
by the customer, analyzed for completeness and consistency, documented as per
requirements, the development and design activities commence. One of the main needs of
this model is the user ‘s explicit prescription of complete requirements at the start of
development. For developers it is useful to layout what they need to do at the initial stages.
Its simplicity makes it easy to explain to customers who may not be aware of software
development process. It makes explicit with intermediate products to begin at every stage of
development. One of the biggest limitations is it does not reflect the way code is really
developed. Problem is well understood but software is developed with great deal of iteration.
Often this is a solution to a problem which was not solved earlier and hence software
developers shall have extensive experience to develop such application; as neither the user
nor the developers are aware of the key factors affecting the desired outcome and the time
needed. Hence at times the software development process may remain uncontrolled. Today
software work is fast paced and subject to a never-ending stream of changes in features,
functions and information content. Waterfall model is inappropriate for such work. This
model is useful in situation where the requirements are fixed and work proceeds to
completion in a linear manner.

Advantages of waterfall model:

1. This model is simple and easy to understand and use.


2. It is easy to manage due to the rigidity of the model – each phase

has specific deliverables and a review process.

3. In this model phases are processed and completed one at a time. Phases do not
overlap.
4. Waterfall model works well for smaller projects where requirements are very well
understood.

Disadvantages of waterfall model:

1. Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
2. No working software is produced until late during the life cycle.
3. High amounts of risk and uncertainty.
4. Not a good model for complex and object-oriented projects.
5. Poor model for long and ongoing projects.
6. Not suitable for the projects where requirements are at a moderate to high risk of
changing.

Q8. RAD and ASD stands for?


Ans: RAD - Rapid Application Development
ASD – Adaptive Application Development
Q9. Spiral Model (explain it with proper diagrams and also refer its
advantages and disadvantages)
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. 

Advantages of Spiral Model: 


Below are some advantages of the Spiral Model. 
1. Risk Handling: The projects with many unknown risks that occur as
the development proceeds, in that case, Spiral Model is the best
development model to follow due to the risk analysis and risk
handling at every phase.
2. Good for large projects: It is recommended to use the Spiral Model in
large and complex projects.
3. Flexibility in Requirements: Change requests in the Requirements at
later phase can be incorporated accurately by using this model.
4. Customer Satisfaction: Customer can see the development of the
product at the early phase of the software development and thus, they
habituated with the system by using it before completion of the total
product.
Disadvantages of Spiral Model: 
Below are some main disadvantages of the spiral model. 
1. Complex: The Spiral Model is much more complex than other SDLC
models.
2. Expensive: Spiral Model is not suitable for small projects as it is
expensive.
3. Too much dependability on Risk Analysis: The successful
completion of the project is very much dependent on Risk Analysis.
Without very highly experienced experts, it is going to be a failure to
develop a project using this model.
4. Difficulty in time management: As the number of phases is unknown
at the start of the project, so time estimation is very difficult.

Q10. Agile principles (any 6)


Ans:

1. Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes
harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the
project.
5. Build projects around motivated individuals. Give them the environment and
support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within
a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity–the art of maximizing the amount of work not done–is essential.
11. The best architectures, requirements, and designs emerge from self-organizing
teams.
12. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behaviour accordingly.
Q11. Explain the concept of Scrum.
Ans: Scrum is the type of Agile framework. It is a framework within which
people can address complex adaptive problem while productivity and
creativity of delivering product is at highest possible values. Scrum
uses Iterative process.

Q12. Explain SDLC in brief.


Ans: SDLC is a process followed for a software project, within a software
organization. It consists of a detailed plan describing how to develop, maintain,
replace and alter or enhance specific software. The life cycle defines a
methodology for improving the quality of software and the overall development
process.

There are various software development life cycle models defined and
designed which are followed during the software development process. These
models are also referred as Software Development Process Models
Following are the most important and popular SDLC models followed in the
industry

 Waterfall Model
 Iterative Model
 Spiral Model
 V-Model
 Big Bang Model

Q13. Types of software Requirements with proper diagram


Ans:
Functional Requirements: These are the requirements that the end user
specifically demands as basic facilities that the system should offer. All these
functionalities need to be necessarily incorporated into the system as a part of
the contract. These are represented or stated in the form of input to be given to
the system, the operation performed and the output expected. They are basically
the requirements stated by the user which one can see directly in the final
product, unlike the non-functional requirements. For example, in a hospital
management system, a doctor should be able to retrieve the information of his
patients. Each high-level functional requirement may involve several
interactions or dialogues between the system and the outside world. In order to
accurately describe the functional requirements, all scenarios must be
enumerated. 

Non-functional requirements: These are basically the quality constraints that the


system must satisfy according to the project contract. The priority or extent to
which these factors are implemented varies from one project to other. They are
also called non-behavioural requirements. They basically deal with issues like: 
• Portability
• Security
• Maintainability
• Reliability
• Scalability
• Performance
• Reusability
• Flexibility

Domain requirements: Domain requirements are the requirements which are


characteristic of a particular category or domain of projects. The basic functions that a
system of a specific domain must necessarily exhibit come under this category. For
instance, in an academic software that maintains records of a school or college, the
functionality of being able to access the list of faculty and list of students of each
grade is a domain requirement. These requirements are therefore identified from that
domain model and are not user specific.

Q14. Define Use-Case Diagram and its importance


Ans: The Use-case model is defined as a model which is used to show how
users interact with the system in order to solve a problem. As such, the use case
model defines the user's objective, the interactions between the system and the
user, and the system's behaviour required to meet these objectives. The use-case
diagram is an extraordinary system's functionality that is accomplished by a
client. The objective of use-case diagram is to capture the system's key
functionalities and visualize the interactions of different thinking known as
actors with the use case. It is the basic use of use-case diagram.

With the help of the use-case diagram, we can characterize the system's main
part and flow of work among them. In the use-case, the implementation of
details is hidden from external use, and only the flow of the event is
represented.

Q15. Use Case Diagram


Ans: Use Case Diagram for Bank Management System

Q16. Define software requirement specification


Ans: A software requirements specification (SRS) is a document that is created
when a detailed description of all aspects of the software to be built that must be
specified before the project is to commence. It is a primary document for
development of software. It is written by Business Analysts who interact with
client and gather the requirements to build the software.

The need of SRS document is to provide

  A detailed overview of software product, its parameters and goals.

  The description regarding the project's target audience and its user
interface hardware and software requirements.

  How client, team and audience see the product and its functionality.

Q17. Quality characteristics of good SRS


Ans:
1. Correctness: User review is used to ensure the correctness of requirements
stated in the SRS. SRS is said to be correct if it covers all the requirements that
are actually expected from the system.  
2. Completeness: Completeness of SRS indicates every sense of completion
including the numbering of all the pages, resolving the to be determined parts
to as much extent as possible as well as covering all the functional and non-
functional requirements properly.  
3. Consistency: Requirements in SRS are said to be consistent if there are no
conflicts between any set of requirements. Examples of conflict include
differences in terminologies used at separate places, logical conflicts like time
period of report generation, etc.  
4. Unambiguousness: A SRS is said to be unambiguous if all the requirements
stated have only 1 interpretation. Some of the ways to prevent
unambiguousness include the use of modelling techniques like ER diagrams,
proper reviews and buddy checks, etc.  
5. Ranking for importance and stability: There should a criterion to classify the
requirements as less or more important or more specifically as desirable or
essential. An identifier mark can be used with every requirement to indicate its
rank or stability.  
6. Modifiability: SRS should be made as modifiable as possible and should be
capable of easily accepting changes to the system to some extent.
Modifications should be properly indexed and cross-referenced.  
7. Verifiability: A SRS is verifiable if there exists a specific technique to
quantifiably measure the extent to which every requirement is met by the
system. For example, a requirement starting that the system must be user-
friendly is not verifiable and listing such requirements should be avoided.  
8. Traceability: One should be able to trace a requirement to design component
and then to code segment in the program. Similarly, one should be able to trace
a requirement to the corresponding test cases.  
9. Design Independence: There should be an option to choose from multiple
design alternatives for the final system. More specifically, the SRS should not
include any implementation details.  
10. Testability: A SRS should be written in such a way that it is easy to generate
test cases and test plans from the document.  
11. Understandable by the customer: An end user maybe an expert in his/her
specific domain but might not be an expert in computer science. Hence, the use
of formal notations and symbols should be avoided to as much extent as
possible. The language should be kept easy and clear.  
12. Right level of abstraction: If the SRS is written for the requirements phase,
the details should be explained explicitly. Whereas, for a feasibility study,
fewer details can be used. Hence, the level of abstraction varies according to
the purpose of the SRS. 

Q18. Types of Software Models.


Ans:
Following are the most important and popular SDLC models followed in the
industry

 Waterfall Model
 Iterative Model
 Spiral Model
 V-Model
 Big Bang Model

Q19. State Analysis Model (explain, diagram, importance, Principles).


Ans:
Analysis Model is a technical representation of the system. It acts as a link
between system description and design model. In Analysis Modelling,
information, behaviour, and functions of the system are defined and translated
into the architecture, component, and interface level design in the design
modelling.
Objectives of Analysis Modelling: 
• It must establish a way of creating software design.
• It must describe the requirements of the customer.
• It must define a set of requirements that can be validated, once the
software is built.
Data Dictionary: It is a repository that consists of a description of all data
objects used or produced by the software. It stores the collection of data present
in the software. It is a very crucial element of the analysis model. It acts as a
centralized repository and also helps in modelling data objects defined during
software requirements. 
Entity Relationship Diagram (ERD): It depicts the relationship between data
objects and is used in conducting data modelling activities. The attributes of
each object in the Entity-Relationship Diagram can be described using Data
object description. It provides the basis for activity related to data design. 
Data Flow Diagram (DFD): It depicts the functions that transform data flow
and it also shows how data is transformed when moving from input to output. It
provides the additional information which is used during the analysis of the
information domain and serves as a basis for the modelling of function. It also
enables the engineer to develop models of functional and information domains
at the same time. 
State Transition Diagram: It shows various modes of behaviour (states) of the
system and also shows the transitions from one state to another state in the
system. It also provides the details of how the system behaves due to the
consequences of external events. It represents the behaviour of a system by
presenting its states and the events that cause the system to change state. It also
describes what actions are taken due to the occurrence of a particular event.  
Process Specification: It stores the description of each function present in the
data flow diagram. It describes the input to a function, the algorithm that is
applied for the transformation of input, and the output that is produced. It also
shows regulations and barriers imposed on the performance characteristics that
are applicable to the process and layout constraints that could influence the way
in which the process will be implemented.  
Control Specification: It stores additional information about the control
aspects of the software. It is used to indicate how the software behaves when an
event occurs and which processes are invoked due to the occurrence of the
event. It also provides the details of the processes which are executed to manage
events. 
Data Object Description: It stores and provides complete knowledge about a
data object present and used in the software. It also gives us the details of
attributes of the data object present in the Entity Relationship Diagram. Hence,
it incorporates all the data objects and their attributes. 

Q20. Explain Data Flow Diagram in Brief.


Ans: DFD is the abbreviation for Data Flow Diagram. The flow of data of a system
or a process is represented by DFD. It also gives insight into the inputs and outputs of
each entity and the process itself. DFD does not have control flow and no loops or
decision rules are present. Specific operations depending on the type of data can be
explained by a flowchart. Data Flow Diagram can be represented in several ways. The
DFD belongs to structured-analysis modeling tools. Data Flow diagrams are very
popular because they help us to visualize the major steps and data involved in
software-system processes.

The Data Flow Diagram has 4 components:


ProcessInput to output transformation in a system takes place because of process
function. The symbols of a process are rectangular with rounded corners, oval,
rectangle or a circle. The process is named a short sentence, in one word or a phrase to
express its essence
Data FlowData flow describes the information transferring between different parts of
the systems. The arrow symbol is the symbol of data flow. A relatable name should be
given to the flow to determine the information which is being moved. Data flow also
represents material along with information that is being moved. Material shifts are
modeled in systems that are not merely informative. A given flow should only transfer
a single type of information. The direction of flow is represented by the arrow which
can also be bi-directional.
WarehouseThe data is stored in the warehouse for later use. Two horizontal lines
represent the symbol of the store. The warehouse is simply not restricted to being a
data file rather it can be anything like a folder with documents, an optical disc, a filing
cabinet. The data warehouse can be viewed independent of its implementation. When
the data flow from the warehouse it is considered as data reading and when data flows
to the warehouse it is called data entry or data updation.
TerminatorThe Terminator is an external entity that stands outside of the system and
communicates with the system. It can be, for example, organizations like banks,
groups of people like customers or different departments of the same organization,
which is not a part of the model system and is an external entity. Modeled systems
also communicate with terminator.
Levels of DFD
DFD uses hierarchy to maintain transparency thus multilevel DFD’s can be created.
Levels of DFD are as follows:
• 0-level DFD
• 1-level DFD:
• 2-level DFD:
Advantages of DFD
• It helps us to understand the functioning and the limits of a system.
• It is a graphical representation which is very easy to understand as it helps
visualize contents.
• Data Flow Diagram represent detailed and well explained diagram of system
components.
• It is used as the part of system documentation file.
• Data Flow Diagrams can be understood by both technical or nontechnical
person because they are very easy to understand.
Disadvantages of DFD
• At times DFD can confuse the programmers regarding the system.
• Data Flow Diagram takes long time to be generated, and many times due to this
reasons analysts are denied permission to work on it.

You might also like