Terna Engineering College Computer Engineering Department Program: Sem V
Terna Engineering College Computer Engineering Department Program: Sem V
Program: Sem V
LAB Manual
PART A
(PART A : TO BE REFFERED BY STUDENTS)
Experiment No.01
A.1 Aim:
Prepare detailed problem statement (abstract) for the selected mini project and identify
suitable process model for the same with justification.
A.2 Prerequisite:
1. Knowledge different process models
A.3 Outcome:
After successful completion of this experiment students will be able to
A.4 Theory:
Waterfall model
The Waterfall Model was first Process Model to be introduced. It is also referred to as
a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall
model, each phase must be completed fully before the next phase can begin. This type
of software development model is basically used for the project which is small and there are
no uncertain requirements. At the end of each phase, a review takes place to determine if
the project is on the right path and whether or not to continue or discard the project.
V Model
The V-model is an SDLC model where execution of processes happens in a sequential manner in a
V-shape. It is also known as Verification and Validation model.
The V-Model is an extension of the waterfall model and is based on the association of a testing
phase for each corresponding development stage. This means that for every single phase in the
development cycle, there is a directly associated testing phase. This is a highly-disciplined model
and the next phase starts only after completion of the previous phase.
● The V-shaped model should be used for small to medium sized projects where requirements
are clearly defined and fixed.
● The V-Shaped model should be chosen when ample technical resources are available with
needed technical expertise.
High confidence of customer is required for choosing the V-Shaped model approach. Since, no
prototypes are produced, there is a very high risk involved in meeting customer expectations.
Incremental Process Model
The incremental build model is a method of software development where the product is designed,
implemented and tested incrementally (a little more is added each time) until the product is
finished. It involves both development and maintenance. The product is defined as finished when it
satisfies all of its requirements. This model combines the elements of the waterfall model with the
iterative philosophy of prototyping.
The product is decomposed into a number of components, each of which is designed and built
separately (termed as builds). Each component is delivered to the client when it is complete. This
allows partial utilization of the product and avoids a long development time. It also avoids a large
initial capital outlay and subsequent long waiting period. This model of development also helps ease
the traumatic effect of introducing a completely new system all at once.
The basic idea in Prototype model is that instead of freezing the requirements before a
design or coding can proceed, a throwaway prototype is built to understand the
requirements. This prototype is developed based on the currently known requirements.
Prototype model is a software development model. By using this prototype, the client can
get an “actual feel” of the system, since the interactions with prototype can enable the
client to better understand the requirements of the desired system. Prototyping is an
attractive idea for complicated and large systems for which there is no manual process or
existing system to help determining the requirements. The prototype are usually not
complete systems and many of the details are not built in the prototype. The goal is to
provide a system with overall functionality.
● Prototype model should be used when the desired system needs to have a lot of interaction
with the end users.
● Typically, online systems, web interfaces have a very high amount of interaction with end
users, are best suited for Prototype model. It might take a while for a system to be built that
allows ease of use and needs minimal training for the end user.
● Prototyping ensures that the end users constantly work with the system and provide a
feedback which is incorporated in the prototype to result in a useable system. They are
excellent for designing good human computer interface systems.
The Spiral Model
Spiral Model is a combination of a waterfall model and iterative model. Each phase in spiral
model begins with a design goal and ends with the client reviewing the progress. The spiral
model is similar to the incremental model, with more emphasis placed on risk analysis. The
spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software
project repeatedly passes through these phases in iterations (called Spirals in this model).
The baseline spiral, starting in the planning phase, requirements are gathered and risk is
assessed. Each subsequent spirals builds on the baseline spiral. Its one of the software
development models like Waterfall, Agile, V-Model
●
When
project is
large
●
When
releases are
required to
be frequent
●
When
creation of a
prototype is
applicable
● When risk and costs evaluation is important
● For medium to high-risk projects
● When requirements are unclear and complex
● When changes may require at any time
● When long term project commitment is not feasible due to changes in economic priorities
Concurrent model
The concurrent model is often more appropriate for system engineering projects where
different engineering teams are involved.
Figure above provides a schematic representation of one Software engineering task within the
modeling activity for the concurrent process model. The activity – modeling- may be in any one of
the states noted at any given time.
For example, early in the project the communication activity has completed its first iteration and
exists in the awaiting changes state. The modeling activity which existed in the none state while
initial communication was completed now makes a transition into underdevelopment state.
If, however, the customer indicates the changes in requirements must be made, the modeling
activity moves from the under development state into the awaiting changes state. The concurrent
process model defines a series of events that will trigger transitions from state to state for each of
the Software engineering activities, actions, or tasks.
Agile Model
Agile SDLC model is a combination of iterative and incremental process models with focus on
process adaptability and customer satisfaction by rapid delivery of working software product. Agile
Methods break the product into small incremental builds. These builds are provided in iterations.
Each iteration typically lasts from about one to three weeks. Agile model believes that every project
needs to be handled differently and the existing methods need to be tailored to best suit the
project requirements. In Agile, the tasks are divided to time boxes (small time frames) to deliver
specific features for a release.
Iterative approach is taken and working software build is delivered after each iteration. Each build
is incremental in terms of features; the final build holds all the features required by the customer
● When new changes are needed to be implemented. The freedom agile gives to change is
very important. New changes can be implemented at very little cost because of the
frequency of new increments that are produced.
● To implement a new feature the developers need to lose only the work of a few days, or
even only hours, to roll back and implement it.
● Unlike the waterfall model in agile model very limited planning is required to get started
with the project. Agile assumes that the end users’ needs are ever changing in a dynamic
business and IT world. Changes can be discussed and features can be newly effected or
removed based on feedback. This effectively gives the customer the finished system they
want or need.
● Both system developers and stakeholders alike, find they also get more freedom of time and
options than if the software was developed in a more rigid sequential way. Having options
gives them the ability to leave important decisions until more or better data or even entire
hosting programs are available; meaning the project can continue to move forward without
fear of reaching a sudden standstill.
In this century, the information revolution is the largest and most innovative that has
marked the life of mankind. Today, the business is done online worldwide, the management
of institutions is done through network technology, all the systems of information
management has been digitized. All these innovations have the aim to simplify life by
making a lot of things easy and in a short time.
In most of the schools today, all the processes are done manually so the system has
numerous drawbacks. The main drawback of the existing system is that many schools lack in
online payment and also extracurricular activities are not introduced. The schools do not
provide online report card, tutorials and practice test. The system that we are proposing will
be designed for the better interaction between students, teachers, parents & management.
The parents of students are very busy now days, so they cannot monitor their children and
their activities properly and regularly. This school management system helps the parents
monitor their children from anywhere. They can check their children's academic
performance from a remote location. Any problems related to school or students can be
communicated online with the teacher or principle. And also any feedback if required can
be provided.
This school management system will be providing online school notices, class timetable,
student attendance, assignments, thought of the day, homework and list of suggested
books and holidays. Also the system will provide online leave application and fees can be
paid online.
For designing the proposed system, the program installation needs about 200MB of disk
space. The database and the management software will require nearly 10GB of hard disk
space on the server. It should support all known operating systems, such as Windows, Linux.
It requires computer with specifications of 512MB RAM, monitor with minimum resolution
of 1024x768, keyboard, and mouse. Hard Drive should be in NTFS file-system formatted
with minimum 10 GB of free space. A Laser printer will need to be used to print these
reports and notes. The language used for coding is JAVA. Software should be designed to
run on any platform above Microsoft Windows 7 (32bit). It should support Microsoft .NET
Frameworks 4.0 or above and Microsoft SQL Server Management Studio Express 2008.
**********************
PART B
(PART B : TO BE COMPLETED BY STUDENTS)
(Students must submit the soft copy as per following segments within two hours of the practical. The
soft copy must be uploaded on the Blackboard or emailed to the concerned lab in charge faculties at
the end of the practical in case the there is no Black board access available)
Class : Batch :
Grade :
B.2 Conclusion:
(Students must write the conclusion as per the attainment of individual outcome)
************************