_Fundamental of Software Development
_Assignment-1
1) Define software
==>>
software:-- The collection of computer program, procedures, rules and associated documentation and data concerned with the operation of a data operating system.
software is a computer program that is executed and provides desired output.
It is a procedure that manipulates the data and has a documentation that gives description in detail the software is audio-visual or textual form.
2) Explain "Software doesn't wear out bit it does deteriorate".
==>>As time passes hardware component suffer from cumulative effects of dust, vibration, abuse, temperature and many other environmental effects.
So the failure rate rises. this the wear out of hardware. Hardware suffers high failure rate early in its life.
There are three phases in hardware life. In first phase failure rate is much more. but after testing and fixing bugs failure rate will come down and may stabilize after certain time.
Second phase is useful life phase of hardware components where failure intensity is approximately low and constant.
and after few years it comes in last stage where failure rate is high and product will wear out. But software is not highly affected by environmental effects which cause hardware to wear out.
3) List out characteristics of software.
==>>
software deals with logical things.
the best quality software should be :
*Cost effective
*Easy to understand
*Efficient
*Modifiable
*proper documented
*Reliable
*Reusable
Software is not highly affected by environmental effects which cause hardware to wear out.
The Failure rate graph of a software component is "Idealized curve"
4) List qualities of good software
==>>Functionality
reliability
usability
efficiency
Maintainability
portability
correctness
flexibility
integrity
testability
interoperability
5) Compare program and Software.
==>>Software:-Software is large in size which is developed by multiple developers to meet the general requirements of particular application. It provides multiple functionalities with good user interface and also contains good documentation for proper user manuals.
Program:-Program is written by programmer that meets the requirements of their personal use. It is small in size and has limited users with limited functionality.
Maintenance is done by programmer himself so not required good interface or proper documentation for user manuals.
6) List out the myths for each category given below:
==>>1) Management Myths:--
Computer reduces risk over mechanical systems.
the cost of computer is lower than that of electromechanical hardware devices or manual system.
computer provide greater reliability than the devices than replace.
software is easy to change because it is flexible.
2) Customer myths:--
increasing software reliability will increase safety.
Testing software and formal verification of software can remove all the errors.
Outsourcings of the software project to a third party can relax the customers.
7) Explain practitioner's myths related to software engineering.
==>>Once a program is working job is done.
Reusing software increases safety.
computer can work right for the first time.
best software is one which has more features.
8) Define software engineering.
==>>Software engineering is a systematic approach to the development, operation and maintenance of software.
The term software engineering was defined at NATO science committee sponsored conference at Germany in 1968
9) Explain importance software engineering.
==>>The main goal of software engineering is to provide models and processes that produce well-documented, maintainable software in a manner that is predictable.
IEEE defines SDLC as "The period of time that starts when a software product is conceived and ends when it is no longer to use".
SDLC includes requirement phase, design phase, implementation phase, testing phase, installation phase, maintenance phase, and at last retirement phase.
10) Explain layer technology approach with neat diagram.
=>>it has four layers :-Quality, Process, Methods and Tools.
The main focus of software engineering is to develop quality product, any approach must rest on quality attribute.
The foundation layer is process layer. it is the heart of the software engineering
approach. It is intermediate layer which combine and together the technology layers.
The layer after process is method. It is a prescription for how to build the software product.
Method gives the exact way to built the software.
Software engineering tools provides automated and semi-automated support to below layers: method and process. Tool is any software or hardware device which builds system such as CAD/CAM.
11) Explain Software Development Life Cycle.
=>> Planning:- planning is a critical activity in software development. A good plan is based on the requirement of the system and should be done before later phases begin.
Defining:-it is done through a document called as SRS(software requirement specification).
Designing:--It is done through DDS called as Design Document Specification.
Building:--The actual development starts and the product is built.
Testing:--Software is actually checked and defects are reported.
Deployment:--after software get tested it is formally released in the appropriate market.
12) List different Software process framework activities.
=>>
Specification
Development
validation
Evolution
13) Explain Umbrella activities with diagram.
=>>Umbrella activities perform throughout the process. It include project tracking and control, risk management, quality assurance, configuration management, technical reviews etc. which are applied through the process.
14) Explain Waterfall Model.
=>>This model is divided into five different phases, which are arranged in linear model.
they are always in order and do not overlap.
developer must complete each phase before the next phase begins, so thatswhy it is called as waterfall model.
Communication Phase:-Requirements are gathered. The constraints are identified. The problem is specified along with the desired goals.
Planning Phase:-Planning is a critical activity in software development.. A good plan is based on the requirement of the system and should be done before later phases begin.
Modelling phase:-The system specification are translated into software representation. engineers are concerned with Data Structure, Software architecture, Algorithmic detail and Interface representations.
Construction phase:-Coding is done, testing is done and all program units are integrated.
Deployment phase:-After construction the software is delivered to customer.
15) Describe Incremental Model.
=>>in this model first increment is called as core product.
During first requirement analysis phase, customer and developers specifies as many requirements as possible and prepare documentation.
now a product with minimal and essential feature is launched to the market. Based on feedback and experience with the version, list of additional features are added.
It is following the delivery of each increment repeatedly untill the complete product is produced.
16) Explain RAD Model.
=>>Business Modeling:-The information flow among business functions is modelled an a way that answers the following questions: What information drives the business process? What information is generated? etc.
Data Modeling:-The characteristics/attributes of each object are identified and the relationships between these objects are defined.
Process Modeling:-The data objects defined in the data-modeling phase are transformed to achieve the information flow necessary to implement a business formation.
Application Modeling:-RAD assumes the use of the fourth generation techniques and tools like VB,VC++, Delphi etc. The Rapid Application Model works to reuse existing program and create reusable components.
Testing and Turnover:-while the RAD process highlights reuse, Most of the program components already have been tested.
17) Explain Prototyping Model.
=>>Prototyping is a usable program but not a final software product.
it is like a test model.
A disadvantage of waterfall model was that the working product is available at last and the requirement are frozen before design begins.
the goal of prototyping model is to solve this problem.
18) Describe Spiral Model.
=>>This model combines the features of both classical life cycle and prototyping.
Quadrant 1:-Determines objectives, alternatives, and constraints.
construct an understanding of the system or product objectives--namely performance, functionality, and ability to accommodate change.
Quadrant 2:-Evaluates alternatives, identity and resolve risks.
Engineering activities performed in this quadrant.
Quadrant 3:-Develop, verify, next-level product.
If a determination is made that the previous prototyping efforts have resolved; the critical operational and technical issues, activities to develop, the verification of next-level product are performed.
Quadrant 4:-It has one characteristic which is commom to all models--the need for advanced technical planning and multidisciplinary reviews at critical staging or control points.
0 Comments