You are on page 1of 89

CHRIST

Deemed to be University

BDS432 SOFTWARE ENGINEERING


UNIT-1

BY
Dr. Preethi. N

Excellence and Service


CHRIST
Deemed to be University

UNIT-1

Excellence and Service


CHRIST
Deemed to be University

Software Engineering
• Software is more than just a program code. A program is an executable code,
which serves some computational purpose.
• Software is considered to be collection of executable programming code,
associated libraries and documentations.
• Software, when made for a specific requirement
is called software product.

• Engineering on the other hand, is all about


developing products, using well-defined,
scientific principles and methods

Excellence and Service


CHRIST
Deemed to be University

SOFTWARE ENGINEERING

What is software Engineering?


• Software Engineering is a discipline in which theories, methods and tools are
applied to develop professional software product.

What is software process?


Software process can be defined as the structured set of activities that are
required to develop the software system. The fundamental activities are
1. Specification 2. Design and implementation 3. Validation 4. Evolution.

Excellence and Service


CHRIST
Deemed to be University

Types of Software Product

What are the two types of software Products?


1. Generic: These products are developed and to be sold to the range of different
customers.
2. Custom: These types of products are developed and sold to the specific group
of customers and developed as per their requirements

Excellence and Service


CHRIST
Deemed to be University

Definitions
IEEE defines
(1) The application of a systematic, disciplined, quantifiable approach to
the development, operation, and maintenance of software; that is, the
application of engineering to software.
(2) The study of approaches as in the above statement.

Fritz Bauer, a German computer scientist, defines software engineering as:


“Software engineering is the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and work
efficiently on real machines.”

Excellence and Service


CHRIST
Deemed to be University

Software Paradigms
• Software paradigms refer to the methods and steps, which are taken while
designing the software.
• Programming paradigm is a subset of Software design paradigm which is further
a subset of Software development paradigm.

Excellence and Service


CHRIST
Deemed to be University

Software Development Paradigm


where all the engineering concepts relating to the development of software are
applied.
It includes various researches and requirement gathering which helps the software
product to build.
It consists of –
• Requirement gathering
• Software design
• Programming

Excellence and Service


CHRIST
Deemed to be University

Software Design Paradigm


This paradigm is a part of Software Development and includes –
1. Design
2. Maintenance
3. Programming
Programming Paradigm
This paradigm is related closely to programming aspect of software development.
This includes –
• Coding
• Testing
• Integration

Excellence and Service


CHRIST
Deemed to be University

Need of Software Engineering

The need of software engineering arises because of higher rate of change in user requirements
and environment on which the software is working.
1. Large software - If the software becomes large, engineering has to step to give it a scientific
process.
2. Scalability- If the software process were not based on scientific and engineering concepts, it
would be easier to re-create new software than to scale an existing one.
3. Cost- As hardware industry has shown its skills and huge manufacturing has lower down the
price of computer and electronic hardware. But, cost of the software remains high if proper
process is not adapted.
4. Dynamic Nature- Always growing and adapting nature of the software hugely depends upon the
environment in which the user works. If the nature of software is always changing, new
enhancements need to be done in the existing one. This is where the software engineering plays a
good role.
5. Quality Management- Better process of software development provides better and quality
software product.
Excellence and Service
CHRIST
Deemed to be University

Importance of Software Engineering

Excellence and Service


CHRIST
Deemed to be University

1.Reduces complexity:
• Big software is always complicated and challenging to progress.
• Software engineering has a great solution to reduce the complication of any project.
• Software engineering divides big problems into various small issues.
• And then start solving each small issue one by one. All these small problems are
solved independently to each other.
2. To minimize software cost:
• Software needs a lot of hard work and software engineers are highly paid experts.
• A lot of manpower is required to develop software with a large number of codes.
• But in software engineering, programmers project everything and decrease all those
things that are not needed.
• In turn, the cost for software productions becomes less as compared to any software
that does not use software engineering method.
Excellence and Service
CHRIST
Deemed to be University

3. To decrease time:
• Anything that is not made according to the project always wastes time.
• And if you are making great software, then you may need to run many codes to get the definitive
running code.
• This is a very time-consuming procedure, and if it is not well handled, then this can take a lot of time.
• So if you are making your software according to the software engineering method, then it will decrease a
lot of time.
4. Handling big projects:
• Big projects are not done in a couple of days, and they need lots of patience, planning, and management.
• And to invest six and seven months of any company, it requires heaps of planning, direction, testing, and
maintenance.
• No one can say that he has given four months of a company to the task, and the project is still in its first
stage.
• Because the company has provided many resources to the plan and it should be completed. So to handle
a big project without any problem, the company has to go for a software engineering method.

Excellence and Service


CHRIST
Deemed to be University

5. Reliable software:
• Software should be secure, means if you have delivered the software, then it should
work for at least its given time or subscription.
• And if any bugs come in the software, the company is responsible for solving all
these bugs.
• Because in software engineering, testing and maintenance are given, so there is no
worry of its reliability.
6. Effectiveness:
• Effectiveness comes if anything has made according to the standards.
• Software standards are the big target of companies to make it more effective.
• So Software becomes more effective in the act with the help of software engineering.

Excellence and Service


CHRIST
Deemed to be University
Characteristics of good software
A software product can be judged by what it offers and how well it can be used.
This software must satisfy on the following grounds:
1. Operational
2. Transitional
3. Maintenance
Well-engineered and crafted software is expected to have the following characteristics:
1. Operational
This tells us how well the software works in operations. It can be measured on:
• Budget
• Efficiency
• Correctness
• Functionality
• Dependability
• Security
• Safety
Excellence and Service
CHRIST
Deemed to be University

2. Transitional
This aspect is important when the software is moved from one platform to another:
• Portability
• Interoperability
• Reusability
• Adaptability

3. Maintenance
This aspect briefs about how well the software has the capabilities to maintain itself in the ever-changing
environment:
• Modularity
• Maintainability
• Flexibility
• Scalability

• Software engineering is a branch of computer science, which uses well-defined engineering concepts
required to produce efficient, durable, scalable, in-budget, and on-time software products
Excellence and Service
CHRIST
Deemed to be University

SDLC

Excellence and Service


CHRIST
Deemed to be University

Software Development Life Cycle


Software Development Life Cycle, SDLC for short, is a well-defined, structured
sequence of stages in software engineering to develop the intended software
product.
SDLC Activities
SDLC provides a series of steps
to be followed to design and develop a
software product efficiently.
SDLC framework includes the following steps:

Excellence and Service


CHRIST
Deemed to be University

Communication
• The user contacts the service provider and tries to negotiate the terms, submits
the request to the service providing organization in writing.
Requirement Gathering
• This step onwards the software development team works to carry on the project.
• The team holds discussions with various stakeholders from problem domain and
tries to bring out as much information as possible on their requirements.
• The requirements are contemplated and segregated into user requirements,
system requirements and functional requirements.
• The requirements are collected using a number of practices as given -

Excellence and Service


CHRIST
Deemed to be University

studying the existing or obsolete system and software,


• conducting interviews of users and developers,
• referring to the database or
• collecting answers from the questionnaires.
Feasibility Study
• After requirement gathering, the team comes up with a rough plan of software process.
• At this step the team analyzes if a software can be designed to fulfill all requirements
of the user, and if there is any possibility of software being no more useful.
• It is also analyzed if the project is financially, practically, and technologically feasible
for the organization to take up.
• There are many algorithms available, which help the developers to conclude the
feasibility of a software project

Excellence and Service


CHRIST
Deemed to be University

System Analysis
• At this step the developers decide a roadmap of their plan and try to bring up the
• best software model suitable for the project.
• System analysis includes understanding of software product limitations, learning system related
problems or changes to be done in existing systems beforehand, identifying and addressing the
impact of project on organization and personnel etc.
• The project team analyzes the scope of the project and plans the schedule and resources accordingly.
Software Design
• Next step is to bring down whole knowledge of requirements and analysis on the
desk and design the software product.
• The inputs from users and information gathered in requirement gathering phase are the inputs of this
step. The output of this step comes in the form of two designs; logical design, and physical design.
• Engineers produce meta-data and data dictionaries, logical diagrams, data-flow diagrams, and in
some cases pseudo codes.

Excellence and Service


CHRIST
Deemed to be University

Coding
• This step is also known as programming phase.
• The implementation of software design starts in terms of writing program code in the
suitable programming language and developing error-free executable programs
efficiently.
Testing
• An estimate says that 50% of whole software development process should be tested.
Errors may ruin the software from critical level to its own removal.
• Software testing is done while coding by the developers and thorough testing is
conducted by testing experts at various levels of code such as module testing, program
testing, product testing, in-house testing, and testing the product at user’s end.
• Early discovery of errors and their remedy is the key to reliable software.

Excellence and Service


CHRIST
Deemed to be University

Integration
• Software may need to be integrated with the libraries, databases, and other program(s).
This stage of SDLC is involved in the integration of software with outer world entities.
Implementation
• This means installing the software on user machines.
• At times, software needs post-installation configurations at user end.
• Software is tested for portability and adaptability and integration related issues are solved during
implementation.
Operation and Maintenance
• This phase confirms the software operation in terms of more efficiency and less errors.
• If required, the users are trained on, or aided with the documentation on how to operate the software and
how to keep the software operational.
• The software is maintained timely by updating the code according to the changes taking place in user end
environment or technology.
• This phase may face challenges from hidden bugs and real-world unidentified problems.

Excellence and Service


CHRIST
Deemed to be University

Waterfall Model

Excellence and Service


CHRIST
Deemed to be University

Waterfall Model

• Waterfall model is the simplest model of software development paradigm.


• All the phases of SDLC will function one after another in linear manner. That is,
when the first phase is finished then only the second phase will start and so on

Excellence and Service


CHRIST
Deemed to be University

• This model assumes that everything is carried out and taken place perfectly as
planned in the previous stage and there is no need to think about the past issues
that may arise in the next phase.
• This model does not work smoothly if there are some issues left at the previous step.
• The sequential nature of model does not allow us to go back and undo or redo our
actions.
• This model is best suited when developers already have designed and developed
similar software in the past and are aware of all its domains.

Excellence and Service


CHRIST
Deemed to be University

When to use SDLC Waterfall Model?


Some Circumstances where the use of the Waterfall model is most suited are:
•When the requirements are constant and not changed regularly.
•A project is short
•The situation is calm
•Where the tools and technology used is consistent and is not changing
•When resources are well prepared and are available to use.

Excellence and Service


CHRIST
Deemed to be University

Advantages of Waterfall model


•This model is simple to implement also the number of resources that are required for

it is minimal.
•The requirements are simple and explicitly declared; they remain unchanged during
the entire project development.
•The start and end points for each phase is fixed, which makes it easy to cover
progress.
•The release date for the complete product, as well as its final cost, can be determined
before development.
•It gives easy to control and clarity for the customer due to a strict reporting system.

Excellence and Service


CHRIST
Deemed to be University

Disadvantages of Waterfall model

• In this model, the risk factor is higher, so this model is not suitable for more
significant and complex projects.
• This model cannot accept the changes in requirements during development.
• It becomes tough to go back to the phase. For example, if the application has now
shifted to the coding phase, and there is a change in requirement, It becomes tough
to go back and change it.
• Since the testing done at a later stage, it does not allow identifying the challenges and

risks in the earlier phase, so the risk reduction strategy is difficult to prepare.

Excellence and Service


CHRIST
Deemed to be University

Incremental Model

Excellence and Service


CHRIST
Deemed to be University

Incremental Model

• Incremental Model is a process of software development where requirements


divided into multiple standalone modules of the software development cycle.
• In this model, each module goes through the requirements, design, implementation
and testing phases.
• Every subsequent release of the module adds function to the previous release. The
process continues until the complete system achieved.

Excellence and Service


CHRIST
Deemed to be University

The various phases of incremental model are as follows:

1. Requirement analysis:
• In the first phase of the incremental model, the product analysis expertise identifies
the requirements.
• And the system functional requirements are understood by the requirement analysis
team.
• To develop the software under the incremental model, this phase performs a crucial
role.
2. Design & Development:
• In this phase of the Incremental model of SDLC, the design of the system
functionality and the development method are finished with success.
• When software develops new practicality, the incremental model uses style and
development phase.

Excellence and Service


CHRIST
Deemed to be University

3. Testing:
• In the incremental model, the testing phase checks the performance of each existing
function as well as additional functionality.
• In the testing phase, the various methods are used to test the behavior of each task.
4. Implementation:
• Implementation phase enables the coding phase of the development system.
• It involves the final coding that design in the designing and development phase and
tests the functionality in the testing phase.
• After completion of this phase, the number of the product working is enhanced and
upgraded up to the final system product

Excellence and Service


CHRIST
Deemed to be University

When we use the Incremental Model?

•When the requirements are superior.


•A project has a lengthy development schedule.
•When Software team are not very well skilled or trained.
•When the customer demands a quick release of the product.
•You can develop prioritized requirements first.

Excellence and Service


CHRIST
Deemed to be University

Advantage of Incremental Model


•Errors are easy to be recognized.
•Easier to test and debug
•More flexible.
•Simple to manage risk because it handled during its iteration.
•The Client gets important functionality early.

Disadvantage of Incremental Model


•Need for good planning
•Total Cost is high.
•Well defined module interfaces are needed.

Excellence and Service


CHRIST
Deemed to be University

Spiral Model

Excellence and Service


CHRIST
Deemed to be University

Spiral Model

Excellence and Service


CHRIST
Deemed to be University

Spiral Model

• The spiral model, initially proposed by Boehm, is an evolutionary software process


model that couples the iterative feature of prototyping with the controlled and
systematic aspects of the linear sequential model.
• Spiral model is one of the most important Software Development Life Cycle
models, which provides support for Risk Handling.
• In its diagrammatic representation, it looks like a spiral with many loops.
• The exact number of loops of the spiral is unknown and can vary from project to
project
• Each loop of the spiral is called a Phase of the software development process.

Excellence and Service


CHRIST
Deemed to be University

• The exact number of phases needed to develop the product can be varied by the
project manager depending upon the project risks.

• As the project manager dynamically determines the number of phases, so the project
manager has an important role to develop a product using the spiral model.

• The Radius of the spiral at any point represents the expenses(cost) of the project so
far, and the angular dimension represents the progress made so far in the current
phase.

Excellence and Service


CHRIST
Deemed to be University

Each cycle in the spiral is divided into four parts:

1.Objectives determination and identify alternative solutions:


• Requirements are gathered from the customers and the objectives are identified,
elaborated, and analyzed at the start of every phase.
• Then alternative solutions possible for the phase are proposed in this quadrant.

2. Identify and resolve Risks:


• During the second quadrant, all the possible solutions are evaluated to select the best
possible solution.
• Then the risks associated with that solution are identified and the risks are resolved
using the best possible strategy.
• At the end of this quadrant, the Prototype is built for the best possible solution.

Excellence and Service


CHRIST
Deemed to be University

3.Develop next version of the Product:


• During the third quadrant, the identified features are developed and verified through
testing.
• At the end of the third quadrant, the next version of the software is available.

4.Review and plan for the next Phase:


• In the fourth quadrant, the Customers evaluate the so far developed version of the
software.
• In the end, planning for the next phase is started.

Excellence and Service


CHRIST
Deemed to be University

When to use Spiral Model?


•When deliverance is required to be frequent.
•When the project is large
•When requirements are unclear and complex
•When changes may require at any time
•Large and high budget projects

Excellence and Service


CHRIST
Deemed to be University

Advantages of Spiral Model:

1.Risk Handling: The projects with many unknown risks that occur as the development
proceeds, in that case, Spiral Model is the best development model to follow due to the
risk analysis and risk handling at every phase.
2.Good for large projects: It is recommended to use the Spiral Model in large and
complex projects.
3.Flexibility in Requirements: Change requests in the Requirements at later phase can
be incorporated accurately by using this model.
4.Customer Satisfaction: Customer can see the development of the product at the early
phase of the software development and thus, they habituated with the system by using it
before completion of the total product.

Excellence and Service


CHRIST
Deemed to be University

Disadvantages of Spiral Model:

1.Complex: The Spiral Model is much more complex than other SDLC models.
2.Expensive: Spiral Model is not suitable for small projects as it is expensive.
3.Too much dependability on Risk Analysis:
• The successful completion of the project is very much dependent on Risk Analysis.
• Without very highly experienced experts, it is going to be a failure to develop a
project using this model.
4. Difficulty in time management:
• As the number of phases is unknown at the start of the project, so time estimation is
very difficult.

Excellence and Service


CHRIST
Deemed to be University

Win-Win Spiral Model

Excellence and Service


CHRIST
Deemed to be University

Win-Win Spiral Model


• For obtaining the project requirements, customer communication is very important and
essential in the spiral model, the WIN-WIN model also suggests and supports well and
proper communication with the customer.
• In actual practice, the process of negotiation which simply means to compromise has to be
faced by the customers and developers.
• When both sides agree, only then successful negotiation occurs. This is called the WIN-
WIN situation.
• Customer’s win means –
Obtaining the system that fulfill most of the requirements of customers.
• Developer’s win means –
Getting the work done by fulfilling the realistic requirements of customers in a given
deadline and achievable budgets.

Excellence and Service


CHRIST
Deemed to be University

• At the beginning of each pass of the spiral, the negotiation activities are carried out in a WIN-WIN spiral
model.

• Various activities that can be carried out in a WIN-WIN spiral model are shown in the following diagram –

Excellence and Service


CHRIST
Deemed to be University

Win-Win Spiral Model

• The Win-Win Spiral Model is a model of process based on Theory W’ which is a


management theory and approach “based on making winners of all the system’s
key stakeholder as necessary and sufficient for the project success.”

• “The original spiral model uses a cyclic approach to develop increasingly detailed
elaborations of a software system’s definition, culminating in incremental releases of
the system’s operational capability.

• The win-win spiral process explicitly emphasizes continuous collaborative


involvement of a software product’s stakeholder in it’s early definition and
development stages.

Excellence and Service


CHRIST
Deemed to be University

Win-Win Spiral Model


1.Identification of ‘stakeholders’.

2.Determination of stakeholders to make great efforts to achieve or obtain a win condition.

3.Negotiations of stakeholders struggling vigorously for win condition. Software project team conciliate for a win-
win result with concern. Then determine next level objectives, constraints, and alternatives.

4.Evaluation of the process and product and then analyzing and resolving or reducing the risks to make it easy.

5.Defining the next level of product and process for proper working.

6.Validation of process and product definitions is must.

7.Reviewing of the product and giving the necessary and important comments on it.

Excellence and Service


CHRIST
Deemed to be University

Win-Win Spiral Model


Three anchor points are available that can be defined in the WIN-WIN spiral model that are
given below –

1.Life Cycle Objective (LCO) –


LCO defines the objectives that are essential for activities of software engineering.

2.Life Cycle Architecture (LCA) –


LCA defines the software architectures that can be produced with all the objectives that are
set.

3.Initial Operational Capability (IOC) –


IOC represent the software with all the initial required operational capabilities.

Excellence and Service


CHRIST
Deemed to be University

Features of win-win spiral process model

• It provides an explicit set of goals for collaborative software definition and


development.
• It embeds collaborative activities explicitly within a robust life-cycle model the
spiral model.

The resulting process uses the “Theory W” of win-win model approach to converge on
a system’s next level objectives, constraints, and alternatives.

Excellence and Service


CHRIST
Deemed to be University

The win-win spiral model process uses two steps:

1. Identifying the system’s stakeholders and their win conditions.

2. Reconciling win conditions through negotiations to arrive at a mutually satisfactory


set of objectives, constraints, and alternatives for the next level.

Excellence and Service


CHRIST
Deemed to be University

There are following seven steps in a win-win spiral model.

Step 1. Identifying the next-level stakeholders.


•In this step you identify the next level stakeholders.
•These are the peoples who you need to make happy after the current phase of
development.

Step 2. Identify stakeholder’s win conditions

Step 3. Reconcile win conditions. Establish next level objectives, constraints,


alternatives.

Excellence and Service


CHRIST
Deemed to be University

Step 4. Evaluate product and process alternatives, resolves the risks.


• In this step, the current project is examined carefully to consider alternatives and to
resolves any risks that may have been found.
• If they have not been found but later cause problems, blame someone no longer on
the project.
Step 5. Defining next level of product and process, Including partitions
• At this step, the next level is further defined and may partition the system into
subsystem that can be developed in parallel cycles.
• This is particularly useful if a system can be broken into easy part and hard part
because you can delegate the hard part of someone else.
Step 6. Validate Product and Process Definition
Step 7. Review Commitment

Excellence and Service


CHRIST
Deemed to be University

Evolutionary Process Model

Excellence and Service


CHRIST
Deemed to be University

Evolutionary Process Model

• Evolutionary model is a combination of Iterative and Incremental model of


software development life cycle.
• Delivering your system in a big bang release, delivering it in incremental process
over time is the action done in this model.
• Some initial requirements and architecture envisioning need to be done.
• It is better for software products that have their feature sets redefined during
development because of user feedback and other factors.
• The Evolutionary development model divides the development cycle into smaller,
incremental waterfall models in which users are able to get access to the product at
the end of each cycle.

Excellence and Service


CHRIST
Deemed to be University

Evolutionary Process Model

• Feedback is provided by the users on the product for the planning stage of the next
cycle and the development team responds, often by changing the product, plan or
process.
• Therefore, the software product evolves with time.
• All the models have the disadvantage that the duration of time from start of the
project to the delivery time of a solution is very high.
• Evolutionary model solves this problem in a different approach.

Excellence and Service


CHRIST
Deemed to be University

Evolutionary Process Model

Excellence and Service


CHRIST
Deemed to be University

Evolutionary Process Model


• Evolutionary model suggests breaking down of work into smaller chunks,
prioritizing them and then delivering those chunks to the customer one by one.
• The number of chunks is huge and is the number of deliveries made to the customer.
• The main advantage is that the customer’s confidence increases as he constantly gets
quantifiable goods or services from the beginning of the project to verify and
validate his requirements.
• The model allows for changing requirements as well as all work in broken down
into maintainable work chunks.

Excellence and Service


CHRIST
Deemed to be University

Application of Evolutionary Model:


1.It is used in large projects where you can easily find modules for incremental
implementation.
2.Evolutionary model is commonly used when the customer wants to start using the core
features instead of waiting for the full software.
3.Evolutionary model is also used in object oriented software development because the
system can be easily portioned into units in terms of objects.

Advantages:
•In evolutionary model, a user gets a chance to experiment partially developed system.
•It reduces the error because the core modules get tested thoroughly.
Disadvantages:
•Sometimes it is hard to divide the problem into several versions that would be acceptable to
the customer which can be incrementally implemented and delivered.

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

Excellence and Service


CHRIST
Deemed to be University

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

• Prototyping is defined as the process of developing a working replication of a


product or system that has to be engineered.
• It offers a small scale copy of the end product and is used for obtaining customer
feedback as described below:

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

• The Prototyping Model is one of the most popularly used Software Development
Life Cycle Models (SDLC models).
• This model is used when the customers do not know the exact project requirements
beforehand.
• In this model, a prototype of the end product is first developed, tested and refined as
per customer feedback repeatedly till a final acceptable prototype is achieved which
forms the basis for developing the final product.

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

• In this process model, the system is partially implemented before or during the
analysis phase thereby giving the customers an opportunity to see the product early
in the life cycle.
• The process starts by interviewing the customers and developing the incomplete
high-level paper model.
• This document is used to build the initial prototype supporting only the basic
functionality as desired by the customer.
• Once the customer figures out the problems, the prototype is further refined to
remove them.
• The process continues until the user approves the prototype and finds the working
model to be satisfactory.

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

Types of Prototyping Models


Four types of Prototyping models are:
1.Rapid Throwaway prototypes
2.Evolutionary prototype
3.Incremental prototype
4.Extreme prototype

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

A) Rapid Throwaway Prototyping –

• This technique offers a useful method of exploring ideas and getting customer
feedback for each of them.
• In this method, a developed prototype need not necessarily be a part of the ultimately
accepted prototype.
• Customer feedback helps in preventing unnecessary design faults and hence, the
final prototype developed is of better quality.

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

B) Evolutionary Prototyping –

• In this method, the prototype developed initially is incrementally refined on the basis
of customer feedback till it finally gets accepted.
• In comparison to Rapid Throwaway Prototyping, it offers a better approach which
saves time as well as effort.
• This is because developing a prototype from scratch for every iteration of the process
can sometimes be very frustrating for the developers.

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

C) Incremental Prototyping –
• In this type of incremental Prototyping, the final expected product is broken into different
small pieces of prototypes and being developed individually.
• In the end, when all individual pieces are properly developed, then the different prototypes
are collectively merged into a single final product in their predefined order.
• It’s a very efficient approach which reduces the complexity of the development process,
where the goal is divided into sub-parts and each sub-part is developed individually.
• The time interval between the project begin and final delivery is substantially reduced
because all parts of the system are prototyped and tested simultaneously.
• Of course, there might be the possibility that the pieces just not fit together due to some lack
ness in the development phase – this can only be fixed by careful and complete plotting of
the entire system before prototyping starts.

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

D) Extreme Prototyping – This method is mainly used for web development.


It is consists of three sequential independent phases:
1) In this phase a basic prototype with all the existing static pages are presented in the
HTML format.
2) In the 2nd phase, Functional screens are made with a simulate data process using a
prototype services layer.
3) This is the final step where all the services are implemented and associated with the
final prototype.

Excellence and Service


CHRIST
Deemed to be University

This Extreme Prototyping


method makes the project
cycling and delivery robust and
fast, and keeps the entire
developer team focus centralized
on products deliveries rather
than discovering all possible
needs and specifications and
adding unnecessitated features.

Excellence and Service


CHRIST
Deemed to be University

Steps of Prototype Model


1.Requirement Gathering and Analyst
2.Quick Decision
3.Build a Prototype
4.Assessment or User Evaluation
5.Prototype Refinement
6.Engineer Product
Advantage of Prototype Model
7.Reduce the risk of incorrect user requirement
8.Good where requirement are changing/uncommitted
9.Regular visible process aids management
10.Support early product marketing
11.Reduce Maintenance cost.
12.Errors can be detected much earlier as the system is made side by side

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

Advantages –

• The customers get to see the partial product early in the life cycle. This ensures a
greater level of customer satisfaction and comfort.
• New requirements can be easily accommodated as there is scope for refinement.
• Missing functionalities can be easily figured out.
• Errors can be detected much earlier thereby saving a lot of effort and cost, besides
enhancing the quality of the software.
• The developed prototype can be reused by the developer for more complicated
projects in the future.
• Flexibility in design.

Excellence and Service


CHRIST
Deemed to be University

Disadvantage of Prototype Model


1.An unstable/badly implemented prototype often becomes the final product.
2.Require extensive customer collaboration
1. Costs customer money
2. Needs committed customer
3. Difficult to finish if customer withdraw
4. May be too customer specific, no broad market
3.Difficult to know how long the project will last.
4.Easy to fall back into the code and fix without proper requirement analysis, design,
customer evaluation, and feedback.
5.Prototyping tools are expensive.
6.Special tools & techniques are required to build a prototype.
7.It is a time-consuming process.

Excellence and Service


CHRIST
Deemed to be University

Prototype Model

Use –
• The Prototyping Model should be used when the requirements of the product are not
clearly understood or are unstable.
• It can also be used if requirements are changing quickly.
• This model can be successfully used for developing user interfaces, high technology
software-intensive systems, and systems with complex algorithms and interfaces.
• It is also a very good choice to demonstrate the technical feasibility of the product.

Excellence and Service


CHRIST
Deemed to be University

• Object Oriented Modeling and Design

Excellence and Service


CHRIST
Deemed to be University

Object Oriented Modeling


• In the object-oriented design method, the system is viewed as a collection of objects
(i.e., entities).
• The state is distributed among the objects, and each object handles its state data.
• For example, in a Library Automation Software, each library representative may be
a separate object with its data and functions to operate on these data.
• The tasks defined for one purpose cannot refer or change data of other objects.
• Objects have their internal data which represent their state.
• Similar objects create a class. In other words, each object is a member of some class.
• Classes may inherit features from the superclass.

Excellence and Service


CHRIST
Deemed to be University

Excellence and Service


CHRIST
Deemed to be University

1.Objects:
• All entities involved in the solution design are known as objects.
• For example, person, banks, company, and users are considered as objects.
• Every entity has some attributes associated with it and has some methods to perform on the attributes.
2.Classes:
• A class is a generalized description of an object.
• An object is an instance of a class.
• A class defines all the attributes, which an object can have and methods, which represents the functionality
of the object.
3.Messages:
• Objects communicate by message passing.
• Messages consist of the integrity of the target object, the name of the requested operation, and any other
action needed to perform the function.
• Messages are often implemented as procedure or function calls.
4.Abstraction
• In object-oriented design, complexity is handled using abstraction.
• Abstraction is the removal of the irrelevant and the amplification of the essentials.

Excellence and Service


CHRIST
Deemed to be University

5. Encapsulation:
• Encapsulation is also called an information hiding concept.
• The data and operations are linked to a single unit.
• Encapsulation not only bundles essential information of an object together but also restricts access to the
data and methods from the outside world.
6. Inheritance:
• OOD allows similar classes to stack up in a hierarchical manner where the lower or sub-classes can
import, implement, and re-use allowed variables and functions from their immediate super classes.
• This property of OOD is called an inheritance. This makes it easier to define a specific class and to
create generalized classes from specific ones.
7. Polymorphism:
• OOD languages provide a mechanism where methods performing similar tasks but vary in arguments,
can be assigned the same name.
• This is known as polymorphism, which allows a single interface is performing functions for different
types.
• Depending upon how the service is invoked, the respective portion of the code gets executed.

Excellence and Service


CHRIST
Deemed to be University

Object Oriented Modeling


• Intention of object oriented modeling and design is to learn how to apply object -
oriented concepts to all the stages of the software development life cycle.
• Object-oriented modeling and design is a way of thinking about problems using
models organized around real world concepts.
• The fundamental construct is the object, which combines both data structure and
behavior.
Purpose of Models:
1.Testing a physical entity before building it
2.Communication with customers
3.Visualization
4.Reduction of complexity

Excellence and Service


CHRIST
Deemed to be University

Object-oriented model employs an object-oriented strategy. The primary objectives are:


1. Object-oriented analysis,
2. Object-oriented design,
3. Object-oriented programming
• Object-oriented analysis develops an object-oriented model of the application
domain.
• Object-oriented design develops an object-oriented model of the software system.
• Object oriented programming realizes the software design with an object-oriented
programming language that supports direct implementation of objects, classes, and
inheritance.

Excellence and Service


CHRIST
Deemed to be University

These activities tend to be overlapping and in general and parallel.

Excellence and Service


CHRIST
Deemed to be University

There are a variety of object-oriented methodologies such as:


•Object Identification:
System objects and their characteristics and events.
•Object Organization:
Shows how objects are related via “part-of” relationships.
•Object Interfaces:
Shows how objects interact with other objects.

Excellence and Service


CHRIST
Deemed to be University

Types of Models:
There are 3 types of models in the object oriented modeling and design are:
• Class Model,
• State Model, and
• Interaction Model.
1.Class Model:
The class model shows all the classes present in the system.
• The class model shows the attributes and the behavior associated with the objects.
• The class diagram is used to show the class model.
• The class diagram shows the class name followed by the attributes followed by the
functions or the methods that are associated with the object of the class.
• Goal in constructing class model is to capture those concepts from the real world that
are important to an application.
Excellence and Service
CHRIST
Deemed to be University

2.State Model:

• State model describes those aspects of objects concerned with time and the sequencing of operations –
events that mark changes, states that define the context for events, and the organization of events and
states.
• Actions and events in a state diagram become operations on objects in the class model. State diagram
describes the state model.

3. Interaction Model:
Interaction model is used to show the various interactions between objects, how the objects collaborate to
achieve the behavior of the system as a whole.
The following diagrams are used to show the interaction model:
1. Use Case Diagram
2. Sequence Diagram
3. Activity Diagram

Excellence and Service


CHRIST
Deemed to be University

User Interface Design


• The visual part of a computer application or operating system through which a client
interacts with a computer or software.
• It determines how commands are given to the computer or the program and how data
is displayed on the screen.
Types of User Interface
There are two main types of User Interface:
•Text-Based User Interface or Command Line Interface
•Graphical User Interface (GUI)

Excellence and Service


CHRIST
Deemed to be University

Text-Based User Interface: This method relies primarily on the keyboard.


A typical example of this is UNIX.

Advantages of Object-Oriented Life Cycle Model:


•Design is no longer carried out independently of the later implementation because during
the design phase we must consider which components are available for the solution of the
problem.
•Design and implementation become more closely associated.
•Duration of the implementation phase is reduced.
•A new job title emerges, the class librarian, who is responsible for ensuring the efficient
usability of the class library.
•Many and easier to customizations options.
•Typically capable of more important tasks.

Excellence and Service


CHRIST
Deemed to be University

Disadvantages
•Relies heavily on recall rather than recognition.
•Navigation is often more difficult.
•Graphical User Interface (GUI): GUI relies much more heavily on the mouse. A
typical example of this type of interface is any versions of the Windows operating
systems.

Excellence and Service

You might also like