Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

Q.

1 Differentiate between and describe the different types of software process model or software
development model. Highlight which software process model is used for windows and Linux
Applications.

Ans: One of the basic notions of the software development process is SDLC models which stands for Software
Development Life Cycle models. SDLC – is a continuous process, which starts from the moment, when it’s
made a decision to launch the project, and it ends at the moment of its full remove from the exploitation. The
most used, popular and important SDLC models are given below:
• Waterfall model
• Iterative model
• Spiral model
• V-shaped model
• Agile model
No matter what type of the models has been chosen, each of them has basic stages which are used by every
software development company. Let’s explore those stages as this is important for the understanding of the each
of SDLC models and the differences between them.

Waterfall Model:
Waterfall – is a cascade SDLC model, in which development process looks like the flow, moving step by step
through the phases of analysis, projecting, realization, testing, implementation, and support. This SDLC model
includes gradual execution of every stage completely. This process is strictly documented and predefined with
features expected to every phase of this software development life cycle model.

Advantages:
1. Simple to use and understand.
2. Management simplicity thanks to its
rigidity.
3. Development stages go one by one
4. Perfect for the small or mid-sized
projects where requirements are clear
and not equivocal.
5. Easy to classify and prioritize tasks.
Disadvantages:
1. The software is ready only after the last
stage is over.
2. High risks and uncertainty.
3. Not the best choice for complex and object-oriented projects.
4. Does not give the option of identifying the problem in advance.
5. Inappropriate for the long-term projects.
Iterative SDLC Model:
The Iterative SDLC model does not need the full list of requirements before the project starts. The development
process may start with the requirements to the functional part, which can be expanded later. The process is
repetitive, allowing to make new versions of the product for every cycle.
the iterative model is a realization of the sequential approximation method; that means a gradual closeness to
the planned final product shape.
Advantages:
1. Some functions can be quickly developed at the beginning of the development lifecycle.
2. The paralleled development can be applied.
3. It is easier to control the risks as high-risk tasks are completed first.
4. Problems and risks defined within
one iteration can be prevented in the
next sprints.
Disadvantages:
1. Iterative model requires more
resources than the waterfall model.
2. Bad choice for the small projects.
The process is difficult to manage.
3. The risks may not be completely
determined even at the final stage of
the project.
4. Risks analysis requires involvement of the highly-qualified specialists.

Spiral SDLC Model:


Spiral model – is SDLC model, which combines architecture and prototyping by stages. It is a combination of
the Iterative and Waterfall SDLC models with the significant accent on the risk analysis. The main issue of the
spiral model – is defining the right moment to make a step into the next stage. The plan is introduced basing on
the statistical data, received during the
previous projects even from the personal
developer’s experience.

Advantages:
1. Lifecycle is divided into small parts,
and if the risk concentration is higher,
the phase can be finished earlier to
address the treats.
2. The scalability allows to make
changes and add new functionality
even at the relatively late stages.
3. The development process is precisely
documented yet scalable to the
changes.
Disadvantages:
1. Can be quite expensive and Can be ineffective for the small projects.
2. Big number of the intermediate stages requires excessive documentation.
3. The risk control demands involvement of the highly-skilled professionals.

V-shaped SDLC model:


V-shaped SDLC model is an expansion of classic waterfall model and it’s based on associated test stage for
every development stage. This is a very strict model and the next stage is started only after the previous phase.
This is also called “Validation and verification” model.

Advantages:
1. Every stage of V-shaped model has strict results so it’s easy to control.
2. Testing and verification take place in the early stages.
3. Good for the small projects, where requirements are static and clear.
Disadvantages:
1. Lack of the flexibility.
2. Bad choice for the small
projects.
3. Relatively big risks.

Agile SDLC Model:


In the agile methodology after every development iteration, the customer is able to see the result and understand
if he is satisfied with it or he is not. This is one of the advantages of the agile software development life cycle
model. Extreme programming is one of the practical uses of the agile model. The basis of such model consists
of short weekly meetings – Sprints which are the part of the Scrum approach.

Advantages:
1. Corrections of functional requirements are
implemented into the development process to
provide the competitiveness.
2. Project is divided by short and transparent
iterations.
3. Risks are minimized thanks to the flexible change
process.
4. Fast release of the first product version.

Disadvantages:
1. Difficulties with measuring the final cost because
of permanent changes.
2. The team should be highly professional and
client-oriented.
3. New requirements may conflict with the existing architecture.
4. With all the corrections and changes there is possibility that the project will exceed expected time.

Which Model Windows / Linux Uses:


An example of the spiral model is the Microsoft Windows Operating system from Windows 3.1 to windows
2003. Microsoft planned to develop a new version of windows operating system. Windows’95 was released
with the enhancement and graphical flexibility. Similarly, other versions of windows operating system were
released. Kanban development process and agile is also used by Microsoft.
One of Unix's hallmarks is its process model. It is the key to understanding access rights, the relationships
among open files, signals and job control. Linux adopted most of Unix's process model and added new ideas of
its own to allow a truly lightweight threads implementation.
Q.2 Design Activity Diagram and Process framework activities for any case study-based
Hardware/Software Embedded System?

Activity Diagram for ATM System:

Why use ATM: When you need money, you can stop at an ATM, enter a PIN and leave with cash.
Framework Tasks:
1. Automated Teller Machine is a banking terminal that accepts deposits and dispenses cash. When card
special card (ATM card is inserted) it activates its system.
2. It requests the bank’s computers to verify the balance and the authenticity.
3. Transaction is done according to limit of Card and available balance.
4. Updates Balance of user from bank and return the card to user.
5. Receipt printer that produces hard copies of all the transactions that have been affected.

You might also like