0% found this document useful (0 votes)
2 views84 pages

Lesson 3 Software Process 2024

The document outlines the software process, detailing the Software Development Lifecycle (SDLC) which includes phases such as requirement analysis, feasibility study, design, coding, testing, deployment, and maintenance. It discusses various SDLC models including Waterfall, Incremental, Spiral, and Rapid Application Development (RAD), highlighting their characteristics, advantages, and disadvantages. The document emphasizes the importance of structured activities in developing high-quality software that meets customer expectations within defined time and cost constraints.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views84 pages

Lesson 3 Software Process 2024

The document outlines the software process, detailing the Software Development Lifecycle (SDLC) which includes phases such as requirement analysis, feasibility study, design, coding, testing, deployment, and maintenance. It discusses various SDLC models including Waterfall, Incremental, Spiral, and Rapid Application Development (RAD), highlighting their characteristics, advantages, and disadvantages. The document emphasizes the importance of structured activities in developing high-quality software that meets customer expectations within defined time and cost constraints.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

LESSON 3

Software Process

By
CATHERINE A. CASTILLO
Associate Professor V
The Software Process
Coherent sets of activities for specifying,
designing, implementing and testing
software systems
A structured set of activities required to
develop a software system
• Specification
• Design
• Validation
• Evolution
Software Process Model
• A software process model is an abstract
representation of a process. It presents a
description of a process from some particular
perspective
• A software process model is a simplified
representation of a software process.
Each model represents a process from a specific
perspective. These generic models are
abstractions of the process that can be used to
explain different approaches to the software
development.
What is SDLC?
SOFTWARE DEVELOPMENT LIFECYCLE (SDLC) is a systematic
process for building software that ensures the quality and
correctness of the software built.
• SDLC process aims to produce high-quality software that
meets customer expectations.
• The system development should be complete in the pre-
defined time frame and cost.
• SDLC consists of a detailed plan which explains how to plan,
build, and maintain specific software.
• Every phase of the SDLC life cycle has its own process and
deliverables that feed into the next phase.
Why SDLC?
Here, are prime reasons why SDLC is important for
developing a software system.
•It offers a basis for project planning, scheduling, and
estimating
•Provides a framework for a standard set of activities and
deliverables
•It is a mechanism for project tracking and control
•Increases visibility of project planning to all involved
stakeholders of the development process
•Increased and enhance development speed
•Improved client relations
•Helps you to decrease project risk and project management
plan overhead
SDLC Phases
The entire SDLC process divided into the following stages:

•Phase 1: Requirement collection and analysis


•Phase 2: Feasibility study
•Phase 3: Design
•Phase 4: Coding
•Phase 5: Testing
•Phase 6: Installation/Deployment
•Phase 7: Maintenance
Phase 1: Requirement collection and analysis:
• The requirement is the first stage in the SDLC process. It is
conducted by the senior team members with inputs from
all the stakeholders and domain experts in the industry.
Planning for the quality assurance requirements and
determining of the risks involved is also done at this
stage.
• This stage gives a clearer picture of the scope of the entire
project and the anticipated issues, opportunities, and
directives which triggered the project.
• Requirements Gathering stage need teams to get detailed
and precise requirements. This helps companies to finalize
the necessary timeline to finish the work of that system.
Phase 2: Feasibility study:
• Once the requirement analysis phase is completed the next step is to define
and document software needs.
• This process conducted with the help of 'Software Requirement
Specification' document also known as 'SRS' document. It includes
everything which should be designed and developed during the project life
cycle.
There are mainly five types of feasibilities checks:
•Economic: Can we complete the project within the budget or not?
•Legal: Can we handle this project as cyber law and other regulatory
framework/compliances.
•Operation feasibility: Can we create operations which is expected by the
client?
•Technical: Need to check whether the current computer system can support
the software
•Schedule: Decide that the project can be completed within the given
schedule or not.
Phase 3: Design:
• In this third phase, the system and software
design documents are prepared as per the
requirement specification document. This
helps define overall system architecture.
• This design phase serves as input for the next
phase of the model.
• There are two kinds of design documents
developed in this phase:
High-Level Design (HLD)
•Brief description and name of each module
•An outline about the functionality of every
module
•Interface relationship and dependencies
between modules
•Database tables identified along with their key
elements
•Complete architecture diagrams along with
technology details
Low-Level Design(LLD)
•Details functional logic of the modules, in
pseudo code
•Database tables, which include type and size
•Complete detail of the interface
•Addresses all types of dependency issues
•Listing of error messages
•Complete input and outputs for every module
Phase 4: Coding:
• Once the system design phase is over, the next phase is
coding.
• In this phase, developers start build the entire system by
writing code using the chosen programming language.
• In the coding phase, tasks are divided into units or
modules and assigned to the various developers.
• It is the longest phase of the Software Development Life
Cycle process.
• In this phase, Developer needs to follow certain
predefined coding guidelines. They also need to use
programming tools like compiler, interpreters, debugger
to generate and implement the code.
Phase 5: Testing:
• Once the software is complete, and it is deployed in
the testing environment. The testing team starts
testing the functionality of the entire system.
• This is done to verify that the entire application works
according to the customer requirement.
• During this phase, QA and testing team may find some
bugs/defects which they communicate to developers.
• The development team fixes the bug and send back to
QA for a re-test. This process continues until the
software is bug-free, stable, and working according to
the business needs of that system.
Phase 6: Installation/Deployment:
• Once the software testing phase is over and
no bugs or errors left in the system then the
final deployment process starts.
• Based on the feedback given by the project
manager, the final software is released and
checked for deployment issues if any.
Phase 7: Maintenance:
• Once the system is deployed, and customers start
using the developed system, following 3 activities
occur
– Bug fixing - bugs are reported because of some scenarios
which are not tested at all
– Upgrade - Upgrading the application to the newer
versions of the Software
– Enhancement - Adding some new features into the
existing software
• The main focus of this SDLC phase is to ensure that
needs continue to be met and that the system
continues to perform as per the specification
mentioned in the first phase.
Popular SDLC models
Waterfall model
• The waterfall is a widely accepted SDLC model.
In this approach, the whole process of the
software development is divided into various
phases. In this SDLC model, the outcome of one
phase acts as the input for the next phase.
• This SDLC model is documentation-intensive,
with earlier phases documenting what need be
performed in the subsequent phases.
Different Phases of Waterfall Model in Software
Engineering
Different phases Activities performed in each stage
Requirement Gathering stage •During this phase, detailed requirements of the software
system to be developed are gathered from client

Design Stage •Plan the programming language, for Example Java, PHP,
.net
•or database like Oracle, MySQL, etc.
•Or other high-level technical details of the project
Built/Implementation Stage •After design stage, it is built stage, that is nothing but
coding the software
Test Stage •In this phase, you test the software to verify that it is built
as per the specifications given by the client.

Deployment stage •Deploy the application in the respective environment

Maintenance stage •Once your system is ready to use, you may later require
change the code as per customer request
When to use SDLC Waterfall Model
Waterfall model can be used when
•Requirements are not changing frequently
•Application is not complicated and big
•Project is short
•Requirement is clear
•Environment is stable
•Technology and tools used are not dynamic and is
stable
•Resources are available and trained
Advantages and Disadvantages of Waterfall-Model
Advantages Dis-Advantages

•Before the next phase of development, •Error can be fixed only during the phase
each phase must be completed
•Suited for smaller projects where •It is not desirable for complex project
requirements are well defined where requirement changes frequently
•They should perform quality assurance test •Testing period comes quite late in the
(Verification and Validation) before developmental process
completing each stage
•Elaborate documentation is done at every •Documentation occupies a lot of time of
phase of the software's development cycle developers and testers

•Project is completely dependent on project •Clients valuable feedback cannot be


team with minimum client intervention included with ongoing development phase

•Any changes in software is made during •Small changes or errors that arise in the
the process of the development completed software may cause a lot of
problems
What is Incremental Model?
Incremental Model is a
process of software
development where
requirements are broken
down into multiple
standalone modules of
software development
cycle. Incremental
development is done in
steps from analysis design,
implementation,
testing/verification,
maintenance.
Characteristics of an Incremental
module includes
•System development is broken down into many mini development projects
•Partial systems are successively built to produce a final total system
•Highest priority requirement is tackled first
•Once the requirement is developed, requirement for that increment are
frozen

Incremental Phases Activities performed in incremental phases


Requirement Analysis •Requirement and specification of the software are
collected
Design •Some high-end function are designed during this
stage
Code •Coding of software is done during this stage
Test •Once the system is deployed, it goes through the
testing phase
Incremental Approach
• The incremental model is not a separate model. It is
essentially a series of waterfall cycles. The requirements
are divided into groups at the start of the project.
• For each group, the SDLC model is followed to develop
software. The SDLC process is repeated, with each
release adding more functionality until all requirements
are met. In this method, every cycle act as the
maintenance phase for the previous software release.
• Modification to the incremental model allows
development cycles to overlap. After that subsequent
cycle may begin before the previous cycle is complete.
The system is put into production when the first increment is
delivered. The first increment is often a core product where the
basic requirements are addressed, and supplementary
features are added in the next increments. Once the core
product is analyzed by the client, there is plan development for
the next increment.
When to use Incremental models?
•Requirements of the system are clearly
understood
•When demand for an early release of a product
arises
•When software engineering team are not very
well skilled or trained
•When high-risk features and goals are involved
•Such methodology is more in use for web
application and product based companies
Advantages and Disadvantages of
Incremental Model
Advantages Disadvantages
•The software will be generated quickly •It requires a good planning designing
during the software life cycle

•It is flexible and less expensive to •Problems might cause due to system
change requirements and scope architecture as such not all
requirements collected up front for the
entire software lifecycle
•Throughout the development stages •Each iteration phase is rigid and does
changes can be done not overlap each other
•This model is less costly compared to •Rectifying a problem in one unit
others requires correction in all the units and
consumes a lot of time
•A customer can respond to each
building
•Errors are easy to be identified
What is 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 was first mentioned by Barry Boehm in his
1986 paper.
• The development team in Spiral-SDLC model starts with a
small set of requirement and goes through each development
phase for those set of requirements. The software engineering
team adds functionality for the additional requirement in
every-increasing spirals until the application is ready for the
production phase.
Spiral Model
• The spiral model is a risk-driven process
model. This SDLC model helps the team to
adopt elements of one or more process
models like a waterfall, incremental, etc.
• This model adopts the best features of the
prototyping model and the waterfall model.
The spiral methodology is a combination of
rapid prototyping and concurrency in design
and development activities.
Spiral Model Phases
Spiral Model Activities performed during phase
Phases
Planning •It includes estimating the cost, schedule and resources for the
iteration. It also involves understanding the system
requirements for continuous communication between the
system analyst and the customer
Risk Analysis •Identification of potential risk is done while risk mitigation
strategy is planned and finalized
Engineering •It includes testing, coding and deploying software at the
customer site
Evaluation •Evaluation of software by the customer. Also, includes
identifying and monitoring risks such as schedule slippage and
cost overrun
When to use Spiral Methodology?

•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
Advantages and Disadvantages of Spiral
Model
Advantages Disadvantages
•Additional functionality or changes can •Risk of not meeting the schedule or
be done at a later stage budget

•Cost estimation becomes easy as the •It works best for large projects only
prototype building is done in small also demands risk assessment
fragments expertise
•Continuous or repeated development •For its smooth operation spiral model
helps in risk management protocol needs to be followed strictly

•Development is fast and features are •Documentation is more as it has


added in a systematic way intermediate phases
•There is always a space for customer •It is not advisable for smaller project, it
feedback might cost them a lot
What is RAD (Rapid Application
Development) Model?
RAD or Rapid Application Development process is an
adoption of the waterfall model; it targets at developing
software in a short span of time. RAD follow the iterative
SDLC RAD model has following phases
•Business Modeling
•Data Modeling
•Process Modeling
•Application Generation
•Testing and Turnover
It focuses on input-output source and destination of the
information. It emphasizes on delivering projects in small
pieces; the larger projects are divided into a series of smaller
projects. The main features of RAD model are that it focuses
on the reuse of templates, tools, processes, and code.

RAD Model in Software Engineering


Different phases of RAD model includes
Phases of Activities performed in RAD Model
RAD model
Business •On basis of the flow of information and distribution between
Modeling various business channels, the product is designed

Data Modeling •The information collected from business modeling is refined


into a set of data objects that are significant for the business

Process •The data object that is declared in the data modeling phase
Modeling is transformed to achieve the information flow necessary to
implement a business function
Application •Automated tools are used for the construction of the
Generation software, to convert process and data models into prototypes

Testing and •As prototypes are individually tested during every iteration,
Turnover the overall testing time is reduced in RAD.
When to use RAD Methodology?

•When a system needs to be produced in a short span


of time (2-3 months)
•When the requirements are known
•When the user will be involved all through the life
cycle
•When technical risk is less
•When there is a necessity to create a system that can
be modularized in 2-3 months of time
•When a budget is high enough to afford designers for
modeling along with the cost of automated tools for
code generation
Advantages and Disadvantages of SDLC RAD Model
Advantages Disadvantages
•Flexible and adaptable to changes •It can't be used for smaller projects
•It is useful when you have to reduce the •Not all application is compatible with RAD
overall project risk
•It is adaptable and flexible to changes •When technical risk is high, it is not suitable
•It is easier to transfer deliverables as scripts, •If developers are not committed to delivering
high-level abstractions and intermediate software on time, RAD projects can fail
codes are used
•Due to code generators and code reuse, •Reduced features due to time boxing, where
there is a reduction of manual coding features are pushed to a later version to finish
a release in short period
•Due to prototyping in nature, there is a •Reduced scalability occurs because a RAD
possibility of lesser defects developed application begins as a prototype
and evolves into a finished application
•Each phase in RAD delivers highest priority •Progress and problems accustomed are hard
functionality to client to track as such there is no documentation to
demonstrate what has been done
•With less people, productivity can be •Requires highly skilled designers or
increased in short time developers
V-Model
In this type of SDLC model testing and the
development, the phase is planned in parallel.
So, there are verification phases on the side
and the validation phase on the other side. V-
Model joins by Coding phase.
• V-Model is an SDLC model that has a testing phase
corresponding to every development stage in the waterfall
model. It is pronounced as the "vee" model. The V-model is
an extension of the waterfall model. V model Testing is done
in parallel to development. It is also called a Validation and
Verification Model.
Agile Model
• Agile methodology is a practice which promotes
continue interaction of development and testing
during the SDLC process of any project. In the
Agile method, the entire project is divided into
small incremental builds. All of these builds are
provided in iterations, and each iteration lasts
from one to three weeks.
Big bang model
• Big bang model is focusing on all types of resources in
software development and coding, with no or very little
planning. The requirements are understood and
implemented when they come.
• This Big Bang Model is one of such software
development model which does not follow any specific
protocol, and so the need for planning is the least. When
the client is not sure about the requirements and needs
for developing the project entirely or implementation has
to be done on the fly with the least analysis.
• This model works best for small projects with smaller size
development team which are working together. It is also
useful for academic software development projects. It is
an ideal model where requirements is either unknown or
final release date is not given.
• This model is perfect and suitable if the
software development project is a small one
where 2 to 3 developers are working together to
build a system or just as a dummy project.
• The model is also suitable if all the
requirements are not appropriately understood
as well as the deadline for release of the system
is not declared.
Advantages of Big Bang Model
• This is quite a simple model.
• Implementing this model makes managing tasks easier.
• It required zero planning.
• Developers have huge flexibility in developing the entire
product.
• Resources necessary for developing the product is only
a few.
Drawbacks of Big Bang Model
• This model is not appropriate for big or
complex projects.
• Very meager model for building long and
constant projects.
• Holds very high risk with uncertainty.
What is Software Prototyping Model?
• Prototype methodology is defined as a Software
Development model in which a prototype is
built, test, and then reworked when needed
until an acceptable prototype is achieved. It
also creates a base to produce the final system.

• Software prototyping model works best in


scenarios where the project's requirement are
not known. It is an iterative, trial, and error
method which take place between the
developer and the client.
Prototyping Model Phases

Prototyping Model has following six SDLC phases as follow:


Step 1: Requirements gathering and analysis
A prototyping model starts with requirement analysis. In this
phase, the requirements of the system are defined in detail.
During the process, the users of the system are interviewed to
know what is their expectation from the system.
Step 2: Quick design
The second phase is a preliminary design or a quick design. In
this stage, a simple design of the system is created. However, it
is not a complete design. It gives a brief idea of the system to
the user. The quick design helps in developing the prototype.
Step 3: Build a Prototype
In this phase, an actual prototype is designed based on the
information gathered from quick design. It is a small working
model of the required system.
Step 4: Initial user evaluation
In this stage, the proposed system is presented to the client for
an initial evaluation. It helps to find out the strength and
weakness of the working model. Comment and suggestion are
collected from the customer and provided to the developer.
Step 5: Refining prototype
If the user is not happy with the current prototype, you need to
refine the prototype according to the user's feedback and
suggestions.
This phase will not over until all the requirements specified by
the user are met. Once the user is satisfied with the developed
prototype, a final system is developed based on the approved
final prototype.

Step 6: Implement Product and Maintain


Once the final system is developed based on the final
prototype, it is thoroughly tested and deployed to
production. The system undergoes routine maintenance
for minimizing downtime and prevent large-scale failures.
Best practices of Prototyping
• You should use Prototyping when the requirements are unclear
• It is important to perform planned and controlled Prototyping.
• Regular meetings are vital to keep the project on time and avoid
costly delays.
• The users and the designers should be aware of the prototyping
issues and pitfalls.
• At a very early stage, you need to approve a prototype and only
then allow the team to move to the next step.
• In software prototyping method, you should never be afraid to
change earlier decisions if new ideas need to be deployed.
• You should select the appropriate step size for each version.
• Implement important features early on so that if you run out of
the time, you still have a worthwhile system
Advantages of the Prototyping Model
• Users are actively involved in development. Therefore, errors can be
detected in the initial stage of the software development process.
• Missing functionality can be identified, which helps to reduce the risk
of failure as Prototyping is also considered as a risk reduction activity.
• Helps team member to communicate effectively
• Customer satisfaction exists because the customer can feel the
product at a very early stage.
• There will be hardly any chance of software rejection.
• Quicker user feedback helps you to achieve better software
development solutions.
• Allows the client to compare if the software code matches the
software specification.
• It helps you to find out the missing functionality in the system.
•It also identifies the complex or difficult functions.
•Encourages innovation and flexible designing.
•It is a straightforward model, so it is easy to understand.
•No need for specialized experts to build the model
•The prototype serves as a basis for deriving a system
specification.
•The prototype helps to gain a better understanding of the
customer's needs.
•Prototypes can be changed and even discarded.
•A prototype also serves as the basis for operational
specifications.
•Prototypes may offer early training for future users of the
software system.
Disadvantages of the Prototyping Model
•Prototyping is a slow and time taking process.
•The cost of developing a prototype is a total waste as the prototype
is ultimately thrown away.
•Prototyping may encourage excessive change requests.
•Some times customers may not be willing to participate in the
iteration cycle for the longer time duration.
•There may be far too many variations in software requirements
when each time the prototype is evaluated by the customer.
•Poor documentation because the requirements of the customers
are changing.
•It is very difficult for software developers to
accommodate all the changes demanded by the
clients.
•After seeing an early prototype model, the customers
may think that the actual product will be delivered to
him soon.
•The client may lose interest in the final product when
he or she is not happy with the initial prototype.
•Developers who want to build prototypes quickly may
end up building sub-standard development solutions.
Comparison of Various SDLC Models
Properties of Model Water-Fall Model Incremental Model Spiral Model Rad Model

Planning in early stage Yes Yes Yes No

Returning to an earlier
No Yes Yes Yes
phase

Handle Large-Project Not Appropriate Not Appropriate Appropriate Not Appropriate

Detailed
Necessary Yes but not much Yes Limited
Documentation

Cost Low Low Expensive Low

Requirement
Beginning Beginning Beginning Time boxed release
Specifications

Flexibility to change Difficult Easy Easy Easy

User Involvement Only at beginning Intermediate High Only at the beginning

Promotes
Maintenance Least Typical Easily Maintained
Maintainability
Properties of Model Water-Fall Model Incremental Model Spiral Model Rad Model
Duration Long Very long Long Short
Medium to high
Risk Involvement High Low Low
risk
Framework Type Linear Linear + Iterative Linear + Iterative Linear
After completion of At the end of the After completion of
Testing After every iteration
coding phase engineering phase coding

Yes (As parallel


Overlapping Phases No No Yes
development is there)

Maintenance Least Maintainable Maintainable Yes Easily Maintainable


Re-usability Least possible To some extent To some extent Yes
Time-Frame Very Long Long Long Short
Working software At the end of the At the end of every At the end of every At the end of the life
availability life-cycle iteration iteration cycle
Objective High Assurance Rapid Development High Assurance Rapid development
Team size Large Team Not Large Team Large Team Small Team
Customer control over
Very Low Yes Yes Yes
administrator
Game Development Life Cycle(GDLC) Model

[Link]
• Phase 1 - Story/ Idea :
Here Story/Idea is the actual game concept and
requirement of the project. Those all should
mentioned in the requirement/project document.
Ideas represents just bits and pieces of the game.
It's actual prototype of the game, which have
covered all the ideas. The group of ideas are
called Game Concept/ Game Story.
• Phase 2 - Conceptual Analysis :
As per the story or concepts need to analyze the
requirement in depth.

The feasibility study should be made before the game


development starts. We need to analyzed the some areas,
• Actual Requirements
• Pricing
• Technical Capabilities
• Organizational , Cultural or Legal Issues and Solutions
• Skills and Scope of the project

Don't compromising or don't apply any shortcuts to analyze


feasibility study and requirements gathering.
• Phase 3 - Planning :
After the grabbing all the requirements and data, next is
to plan of the game development.

Need to create project plan or blue print of the game. List


out all the features and tasks and ideas on the document
or make chart.
• Make list of task (graphics, animations, sounds, etc.)
• Time scheduling and estimation of each task
• Create document/chart of the flow of task
• Decide the work flow and test cases & test plans.
• Decide flow of work submission of task
• Taken care about rework and submit final bug free
product
• Phase 4 - Team Building :
To start the design and development, a team is
necessary for the concepts to materialize.
Team members as per the game's
requirements such as designers,
programmers, testers, etc.
Possible members of the Team

[Link]
• Phase 5 - Concept Design :
Concept Design means design prototype of actual
requirement/idea/story, It's also called Game Design.

Game Design is the heart of any game/product. Game


Design is the proof of the mastery of the craft to bring an
idea to a reality.

It is a most innovative, creative and complex process of any


game. It is needed to make a good and quality games. It's
requires a critical interactive thinking, understanding,
implementing, executing, behavior, UI of the design.
Before starting the development, game designer create one
document known as, "Game Design Document (GDD)".
In GDD describe all the virtual ideas and design as a
blueprint of the game/product.
Game Design Elements :
• UI Interface
• Game Data
• Player Data & Characteristics
• Level Design
• Game play & Mechanism
• 3D/2D Game Arena
• Game Objects/Powers/Properties
• Artificial Intelligence
• VFX/Animations
• Sound Music
• Support & Future Enhancements
• Phase 6 - Development :
After completing the GDD, next is to start the development
of the actual game concept/idea as per describe in the
Game Design.

Selecting the Game Engine and it's supportive


modules/plug-ins/frameworks/platforms should be
considered before the start of programming/game
development.

Lead programmer have the major responsibilities about the


game development progress and quality, he/she should
make the checklist of the pending/working/completed task
list as per the developer's task. Every
programmer/developer need to submit their work to lead
programmer. Lead developer must follow the code review
system as per the game architecture he/she has chosen.
For programmer input and output data is simple, however
handling that with art, visuals, animation, VFX ,collision,
physics, sounds. scene/level management, AI, dynamic object
spawning and destroying, loading and unloading resources,
shaders, rendering, garbage collector handling, CPU&GPU
usage, game load, multi-platforms supports, advertising
integration, virtual goods implementations makes it complex.
Lead Developer/ Developer should have ability of coding
system & it's terminology.
• Abstraction • OOP skills
• Modularity • Robust programming
• Design Pattern • Use less resources &
• Software/Game Generate more output
Architecture • Feel end user experience
• Coding
Structure/Style
• Phase 7 - Testing :
Testing is the mirror of the final product.
Testing is the most important part of the GDLC.
Testing and game design have the same weight in
the any game/concept development architecture.
Testing is not just playing the game at the
workplace/arena. It is the actual end user
experience with respect to the product.
QA under Bugs Tracker Report and Testing team
must work on two documents,
I) Test Cases Documents
II) Test Plans Documents
QA team must ensure the some documents and file system
involves in every testing process.
• Defect/Bug • Status/Occurrence
• Reproduce • Screenshots
• Module • Platforms
• Frequency • Date Time
• Bug Log
Number
Other types of testing methodology to be conducted by QA team
are: Functional Testing, Interruption Testing, Module Testing,
Performance Testing, Load Testing, Memory Testing,
Compatibility Testing, Compliance Testing, Behavior Testing, End
user experience Testing, Network Testing etc.
• Phase 8 - Pre-Production (Alpha/Beta Release) :
Pre-Production technique is the art or good sign of
successful Manager/Director/Producer.
Alpha/Beta Release is the good way to know the
user's experience and user's acceptance related to
the product. If we did any mistakes even after the
completion of testing part, we can identify them with
the use of pre production technique.
Need to generate report for output of the Alpha/Beta
Release, If rework needed then must do it for your
product and prepare it for Main Production/ Main
Release.
• Phase 9 - Main Production :
At production stage, it is suggested to prepare a short
video similar to a movie trailer of the game that capture
some attractive screenshot.
Prepare a release note and privacy policies and terms
and condition of usage of the product, listed it in well
maintain document.
Game credits are of utmost significance to both the game
itself and the dedicated team behind it, and recognition
should be duly accorded for their diligent efforts.
• Phase 10 - Sales & Marketing :
Following the release of the final product, the marketing
team maintains its focus on continuously analyzing live
game data reports and generating user experience
reports. Additionally, they monitor user ratings and
reviews for our products, offering appropriate responses
to users and providing support for their inquiries. The
marketing team submits query reports to the QA team,
which takes necessary actions and communicates with
relevant departments accordingly.
Furthermore, the marketing team actively promotes the
product through various online and offline marketing
strategies.
To attract more users and enhance game engagement, it is essential to
implement effective marketing strategies to expand the audience.

The Marketing Team is responsible for monitoring various aspects of


the current game, including the number of concurrent users and
gameplay data. They analyze this data and, if necessary, communicate
any required changes to the relevant departments. Their goal is to
collaborate closely with the existing audience and endeavor to expand
the user base.

Furthermore, the Marketing Team devises plans to boost revenue and


generates novel ideas and terminology to aid in revenue generation.

Additionally, the Marketing Team vigilantly observes competitors'


activities and new releases. To maintain the product's leading position,
it is crucial to identify competitors, evaluate their products, and
continuously improve our own to surpass others and consistently
maintain a top-ranking position.
Summary
• The SDLC is a systematic process for building software that
ensures the quality and correctness of the software built
• The full form SDLC is Software Development Lifecycle.
• SDLC process provides a framework for a standard set of
activities and deliverables
• Seven different SDLC stages are 1) Requirement collection
and analysis 2) Feasibility study: 3) Design 4) Coding 5)
Testing: 6) Installation/Deployment and 7) Maintenance
• The senior team members conduct the requirement
analysis phase
• Feasibility Study stage includes everything which should be
designed and developed during the project life cycle
•In the Design phase, the system and software
design documents are prepared as per the
requirement specification document
•In the coding phase, developers start build the
entire system by writing code using the chosen
programming language
•Testing is the next phase which is conducted to
verify that the entire application works according
to the customer requirement.
•Installation and deployment face begins when the
software testing phase is over, and no bugs or
errors left in the system
• Bug fixing, upgrade, and engagement actions
covered in the maintenance phase
• Waterfall, Incremental, Agile, V model, Spiral,
Big Bang are some of the popular SDLC
models
• SDLC consists of a detailed plan which
explains how to plan, build, and maintain
specific software
End of the Presentation

You might also like