Software Development Important Questions and Answers
Software Development Important Questions and Answers
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.
3. Business Software
1. Business information processing is the largest single software application area. Discrete
"systems”.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
Waterfall Model
Iterative Model
Spiral Model
V-Model
Big Bang Model