Chapter 01
Chapter 01
• Computer software tell the hardware what to do. Without any software,
hardware would be worthless. Think of the software as a subject in school
and hardware as you or your brain. Without any learning, you can't do
anything. At the very basic level, computer software contains specific
instructions for how to accomplish a specific task. These instructions tell
the hardware exactly what to do and how to do it.
• All computers operates with what is known as system software, or the
operating system. This programming provides the very basic instructions for
how the computer interacts with the user and how the various programs
and packages operate.
• One of the best example to know about software and computers is, soul
and body. Hardware is like a Human body and software is just like soul. So
software plays an Important role in computers.
Software Characteristics
What does Software Development Life Cycle
(SDLC) mean?:
• The software development life cycle (SDLC) is a framework defining tasks
performed at each step in the software development process. SDLC is a
structure followed by a development team within the software
organization. It consists of a detailed plan describing how to develop,
maintain and replace specific software. The life cycle defines a methodology
for improving the quality of software and the overall development process.
• An iterative life cycle model does not attempt to start with a full
specification of requirements. Instead, development begins by specifying
and implementing just part of the software, which is then reviewed
in order to identify further requirements. This process is then
repeated, producing a new version of the software at the end of each
iteration of the model.
Construct or Build
Construct phase refers to production of the actual software product at every
spiral. In the baseline spiral when the product is just thought of and
the design is being developed a POC (Proof of Concept) is developed in this
phase to get customer feedback.
Prototyping Model
This type of System Development Method is employed when it is very difficult
to obtain exact requirements from the user. While making the model, user keeps
giving feedbacks from time to time and based on it, a prototype is made.
Completely built sample model is shown to user and based on his feedback, the
SRS(System Requirements Specifications) document is prepared. After
completion of this, a more accurate SRS is prepared, and now development work
can start using Waterfall Model.
Prototyping process model
Now lets discuss the disadvantages and advantages of the Prototype model in
Software development method.
Advantages of Prototyping Model
1) When prototype is shown to the user, he gets a proper clarity and 'feel' of the
functionality of the software and he can suggest changes and modifications.
2) This type of approach of developing the software is used for non-IT-literate
people. They usually are not good at specifying their requirements, nor can tell
properly about what they expect from the software.
3) When client is not confident about the developer's capabilities, he asks for a
small prototype to be built. Based on this model, he judges capabilities of
developer.
4) Sometimes it helps to demonstrate the concept to prospective investors to get
funding for project.
5) It reduces risk of failure, as potential risks can be identified early and
mitigation steps can be taken.
6) Iteration between development team and client provides a very good and
conductive environment during project.
7) Time required to complete the project after getting final the SRS reduces,
since the developer has a better idea about how he should approach the project.
RAD model distributes the analysis, design, build, and test phases into a series of
short, iterative development cycles. Following are the phases of RAD Model:
Business Modeling:
The business model for the product under development is designed in terms
of flow of information and the distribution of information between various
business channels. A complete business analysis is performed to find the vital
information for business, how it can be obtained, how and when is the information
processed and what are the factors driving successful flow of information.
Data Modeling:
The information gathered in the Business Modeling phase is reviewed and
analyzed to form sets of data objects vital for the business. The attributes of all
data sets is identified and defined. The relation between these data objects are
established and defined in detail in relevance to the business model.
Process Modeling:
The data object sets defined in the Data Modeling phase are converted to
establish the business information flow needed to achieve specific business
objectives as per the business model. The process model for any changes or
enhancements to the data object sets is defined in this phase. Process
descriptions for adding , deleting, retrieving or modifying a data object are
given.
Application Generation:
The actual system is built and coding is done by using automation tools to
convert process and data models into actual prototypes.