Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
143 views

Software Assignment

Q1. What is Software Engineering and why is it important. Q2. What are the generic activities that are present in every software process? Explain them. Q3. Explain the RAD model. Q4. What is a Prototyping? Explain. Q5. What do you understand by Software Crisis? Explain.

Uploaded by

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

Software Assignment

Q1. What is Software Engineering and why is it important. Q2. What are the generic activities that are present in every software process? Explain them. Q3. Explain the RAD model. Q4. What is a Prototyping? Explain. Q5. What do you understand by Software Crisis? Explain.

Uploaded by

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

Assignment

Q1. What is Software Engineering and why is it important.


A1. Software engineering is a branch of computer science which includes the
development and building of computer systems software and
applications software. Computer systems software is composed of programs that
include computing utilities and operations systems. Software engineering is the
process of analyzing user needs and designing, constructing, and testing end-user
applications that will satisfy these needs through the use of software programming
languages. It is the application of engineering principles to software development.

The field of software engineering is related to the development of software. Large


software needs systematic development unlike simple programs which can be
developed in isolation and there may not be any systematic approach being
followed.

There is a difference between programming and Software Engineering. Software


Engineering includes activities like cost estimation, time estimation, designing,
coding, documentation, maintenance, quality assurance, testing of software etc.
whereas programming includes only the coding part. Thus, it can be said that
programming activity is only a subset of software development activities. The
above mentioned features are essential features of software. Besides these essential
features, additional features like reliability, future expansion, software reuse etc.
are also considered. Reliability is of utmost importance in real time systems like
flight control, medical applications etc.
Q2. What are the generic activities that are present in every software
process? Explain them.

A2. A software process is a set of interrelated activities and tasks that transform
input work products into output work products. At minimum, the description of a
software process includes required inputs, transforming work activities, and
outputs generated. A software process may also include its entry and exit criteria
and decomposition of the work activities into tasks, which are the smallest units of
work subject to management accountability. A process input may be a triggering
event or the output of another process. Entry criteria should be satisfied before a
process can commence. All specified conditions should be satisfied before a
process can be successfully concluded, including the acceptance criteria for the
output work product or work products.
The process encompasses the entire range of activities, from initial customer
inception to software production and maintenance. It's also known as the Software
Development Life Cycle (SDLC).

Step 1: Understanding Customer Requirements


This step is also known as the ''requirements collection'' step. It's all about
communicating with the customer before building software, so you get to know
their requirements thoroughly. It's usually conducted by a business analyst or
product analyst. A Customer Requirement Specification (CRS) document is
written from a customer's perspective and describes, in a simple way, what the
software is going to do.

Step 2: Requirement Analysis: Is the Project Feasible?


This stage involves exploring issues related to the financial, technical, operational,
and time management aspects of software development. It's an essential step
towards creating functional specifications and design. It's usually done by a team
of product managers, business analysts, software architects, developers, HR, and
finance managers.

Step 3: Creating a Design


Once the analysis stage is over, it's time to create a blueprint for the software.
Architects and senior developers create a high-level design of the software
architecture, along with a low-level design describing how each and every
component in the software should work.
Step 4: Coding, Testing, and Installation
Next, software developers implement the design by writing code. After all the code
developed by different teams is integrated, test engineers check if the software
meets the required specifications, so that developers can debug code. The release
engineer then deploys the software on a server.

Step 5: Keeping it going: Maintenance


Maintenance is the application of each of the previous steps to the existing
modules in the software in order to modify or add new features, depending on what
the customer needs.
Q3. Explain the RAD model.
A3. , this model gives a quick approach for software development and is based on
a linear sequential flow of various development processes. The software is
constructed on a component basis. Thus multiple teams are given the task of
different component development. It increases the overall speed of software
development. It gives a fully functional system within very short time. This
approach emphasizes the development of reusable program components. It follows
a modular approach for development. The problem with this model is that it may
not work when technical risks are high

Q4. What is a Prototyping? Explain.


A4. A working model of actual software is developed initially. The prototype is
just like sample software having lesser functional capabilities and low reliability
and it does not undergo through the rigorous testing phase. Developing a working
prototype in the first phase overcomes the disadvantage of the waterfall model
where the reporting about serious errors is possible only after completion of
software development.

The working prototype is given to the customer for operation. The customer, after
its use, gives the feedback. Analyzing the feedback given by the customer, the
developer refines, adds the requirements and prepares the final specification
document. Once the prototype becomes operational, the actual product is
developed using the normal waterfall model. Figure 1.5 depicts the prototyping
model. The prototype model has the following features: (i) It helps in determining
user requirements more deeply. (ii) At the time of actual product development, the
customer feedback is available. (iii) It does consider any types of risks at the
initial level.

Q5. What do you understand by Software Crisis? Explain.


A5. The latest trend in software engineering includes the concepts of software
reliability, reusability, scalability etc. More and more importance is now given to
the quality of the software product. Just as automobile companies try to develop
good quality automobiles, software companies try to develop good quality
Software. The software creates the most valuable product of the present era, i.e.,
information.

Software Crisis is a term used in computer science for the difficulty of writing


useful and efficient computer programs in the required time . software crisis was
due to using same workforce, same methods, same tools even though rapidly
increasing in software demand, complexity of software and software challenges.

The causes of the software crisis were linked to the overall complexity of hardware
and the software development process. The crisis manifested itself in several ways:

 Projects running over-budget


 Projects running over-time
 Software was very inefficient
 Software was of low quality
 Software often did not meet requirements
 Projects were unmanageable and code difficult to maintain
 Software was never delivered

The problems arising in the development of software is termed as crisis. It includes


the problems arising in the process of development of software rather than
software functioning. Besides development, the problems may be present in the
maintenance and handling of large volumes of software. Some of the common
misunderstandings regarding software development are given below.
1. Correcting errors is easy. Though the changes in the software are possible,
but, making changes in large software is extremely difficult task.

2. By proper development of software, it can function perfectly at first time.


Though, theoretically, it seems correct, but practically software undergoes many
development/coding/testing passes before becoming perfect for working.

3. Loose objective definition can be used at starting point. Once a software is


developed using loose objective, changing it for specific objectives may require
complete change.

4. More manpower can be added to speed up the development. Software is


developed by well coordinated teams. Any person joining it at a later stage may
require extra efforts to understand the code.

You might also like