You are on page 1of 64

Software Development Life Cycle

Table of Contents
Part: 1.............................................................................................................................................6
1. As a part of your responsibility you are required to prepare a report that describes
different software development cycles. Your report must include the following:...................6
2. Description of predictive and adaptive software development models considering at
least two iterative and two sequential models.............................................................................6
3. The risks involved in each of the models and how the risk can be mitigated /managed
in each model by taking a reference of the spiral model. Once you have prepared the report
you are required to produce documentation that.......................................................................6
4. Describe with an example why a particular lifecycle model is selected for a
development environment. You may consider a different development environment with
different business logics, platform, etc., and the applicability of the particular software
development model over the development environment............................................................6
5. Assess the merits of applying the waterfall model to a large software development
project with appropriate evidenced researched work with reference to the current context.
6
Introduction................................................................................................................................6
Iterative model:..........................................................................................................................6
Iterative Model - Design............................................................................................................7
Iterative Model - Application...................................................................................................8
Two types of Iterative model life cycle.....................................................................................9
1. Incremental Model......................................................................................................9
2. Agile Model..................................................................................................................9
Incremental Model.................................................................................................................9
Characteristics of an Incremental module includes.........................................................10
When to use Incremental models?.....................................................................................10
Advantages and Disadvantages of Incremental Model....................................................11
Agile Model...................................................................................................................................11
What is Agile........................................................................................................................12
Advantage of Agile Model...................................................................................................14
Disadvantage of Agile Model..............................................................................................14
Sequential lifecycle model.......................................................................................................14
 Requirement and Analysis...........................................................................................14
 Design.............................................................................................................................15
Software Development Life Cycle

 Coding............................................................................................................................15
 Testing............................................................................................................................15
Two types of sequential lifecycle model:................................................................................15
1. Waterfall Model.........................................................................................................15
2. v-shaped model..........................................................................................................15
waterfall model:...................................................................................................................15
Waterfall model process:....................................................................................................16
The usage..............................................................................................................................17
Advantages and Disadvantages of waterfall model:.........................................................17
V-Shaped Model...................................................................................................................18
The usage..............................................................................................................................20
Advantages and Disadvantages of v-shaped model:.........................................................20
spiral Model..............................................................................................................................21
To explain in simpler terms, the steps involved in spiral model are:..............................23
Phases in spiral model:........................................................................................................24
Activities which are performed in the spiral model phases are shown below:..............24
When to Use Spiral model?.................................................................................................25
Advantages of using Spiral Model:....................................................................................26
Disadvantages of using Spiral model:................................................................................26
Identification of risk in spiral model......................................................................................26
Impact of risk in spiral model.................................................................................................27
Manage of risk in spiral model...............................................................................................28
Concision:.................................................................................................................................28
Part: 2...........................................................................................................................................30
1. You are required to produce a documentation that explains the purpose of the
feasibility.......................................................................................................................................30
2. report and describe how technical solutions can be compared.......................................30
3. Prepare a brief report discussing the components of the feasibility report...................30
4. Carry out the feasibility study as per the best of your previous research work against
the solution to be developed for the given problem and assess the impact of different
feasibility criteria on the software investigation.......................................................................30
Introduction:............................................................................................................................30
Feasibility report:....................................................................................................................30
Software Development Life Cycle

Types of feasibility study/report:...........................................................................................32


- Legal feasibility.............................................................................................................32
- Economic feasibility......................................................................................................32
- Social feasibility.............................................................................................................32
- Technical feasibility......................................................................................................33
How to write Basic Feasibility Report...................................................................................33
Purpose of the feasibility report.............................................................................................34
Additional points to support propose of feasibility report:.................................................35
Importance of the feasibility report.......................................................................................35
Evaluation of technical solution.............................................................................................36
Some of the points to make technical solution of software designing of my project are:. 36
Benefits of technical solution analysis:..................................................................................37
Comparing of technical solutions in project development process:....................................37
Example of technical solution which is compare between time and skill...........................39
Part: 3...........................................................................................................................................41
1. Undertake the software investigation to meet the business need using appropriate
software analysis tools/techniques to carry out a software investigation and create a
supporting documentation. You may submit this task in the form a report structured with
background information, problem statements, data collection process and summary etc. In
order to carry out the systems investigation you are required to identify the stakeholders,
identify the requirements of the client, specify the scopes like inputs, outputs, processes and
the process descriptors, consideration of alternative solutions and security considerations
and the quality assurance applied. You are also required to identity the constraints like
costs, organizational policies, legacy systems, hardware requirements etc. For software
analysis you may use the following tools: Data Flow Diagram up to second level and Entity
Relationship Diagram..................................................................................................................41
2. Reference to your task above that required some level of intensive research work
analyze how software requirements can be traced throughout the software lifecycle..........41
3. Discuss different approaches to improve the software quality and considering the
above context discusses the two approaches that can be applied at this context to improve
the software quality.....................................................................................................................41
4. Critically evaluate how the use of the function design paradigm in the software
development lifecycle can improve the software quality. Support your ideas with reference
to the tasks you have done...........................................................................................................41
Introduction:............................................................................................................................41
Software investigation process:..............................................................................................42
Software Development Life Cycle

Software analysis tools/techniques:....................................................................................42


Software investigation report:............................................................................................42
List of software investigation require identity terms:..........................................................44
Stakeholders:........................................................................................................................44
Requirements of clients:......................................................................................................44
Specify of scopes:.....................................................................................................................44
 Input :.............................................................................................................................45
 Processes -......................................................................................................................45
 Output -..........................................................................................................................45
 Process descriptors -.....................................................................................................45
 Alternative solution -....................................................................................................45
 Security -.......................................................................................................................45
 Quality assurance -........................................................................................................46
List of constraints of software investigation -.......................................................................46
Cost -.....................................................................................................................................46
Organization policy -...........................................................................................................47
Legacy system -....................................................................................................................47
Hardware requirements -....................................................................................................47
Importance of software analysis tools:..................................................................................48
Utilization of software analysis apparatuses for do software examination:.......................48
Role of analysis tools/procedures to do of software examination........................................49
i. Data flow diagram (DFD):...........................................................................................49
ii. Use case diagram.......................................................................................................49
iii. Feasibility examinations:..........................................................................................50
iv. Interview:...................................................................................................................51
v. Grant diagram:..........................................................................................................51
Entity Relationship diagram:.................................................................................................52
Entity relationship diagram for scenario:.........................................................................53
DATA FLOW DIAGRAM:....................................................................................................53
Data flow diagram for scenario:.............................................................................................54
0 level DFD:..........................................................................................................................54
Level 1 DFDs:.......................................................................................................................54
Software Development Life Cycle

Level 2+ DFDs:.....................................................................................................................55
Conclusion:...............................................................................................................................56
Part: 4..........................................................................................................................................57
1. Prepare a documentation that explains how user and software requirements have been
addressed. You may tabulate this task with the columns that has the expected client
requirements and the actual output of the product to be developed after the appropriate
analysis..........................................................................................................................................57
2. Discuss about the different software specification methods and suggest two software
behavioral specification methods and illustrate their use with an example relevant to the
project that needs to be constructed for the given context. Some of the software
specification techniques include flowcharts, pseudo code and formal specification methods
and so on.......................................................................................................................................57
3. Differentiate between a finite state machine (FSM) and an extended Finite State
providing an application for both..............................................................................................57
4. Present justifications of how data driven software can improve the reliability and
effectiveness of the software........................................................................................................57
Introduction -...........................................................................................................................57
Explanation of users and software requirement are addressed -........................................57
 user requirement -.........................................................................................................57
 Software requirement:..................................................................................................59
how user and software requirement have addressed -.........................................................60
Listing in column of client requirement and actual output of developing product...........61
Conclusion:...............................................................................................................................62
References:...............................................................................................................................65
Software Development Life Cycle

Part: 1

1. As a part of your responsibility you are required to prepare a report that describes
different software development cycles. Your report must include the following:

2. Description of predictive and adaptive software development models considering at


least two iterative and two sequential models.

3. The risks involved in each of the models and how the risk can be mitigated
/managed in each model by taking a reference of the spiral model. Once you have
prepared the report you are required to produce documentation that.

4. Describe with an example why a particular lifecycle model is selected for a


development environment. You may consider a different development environment
with different business logics, platform, etc., and the applicability of the particular
software development model over the development environment.

5. Assess the merits of applying the waterfall model to a large software development
project with appropriate evidenced researched work with reference to the current
context.

Introduction
In order to complete that task, the main requirements of task are there is require to express the
two iterative lifecycles models’ examples and two sequential lifecycle models with proper
introduction, advantage and disadvantage. I am going to express the example of two iterative and
sequential models as well as there is require to express the different risk points in spiral model
which are create negative impacts to our software development process. There is also verify to
those risk how they are impact to spiral model.
Software Development Life Cycle

Iterative model: In the Iterative model, iterative process starts with a simple implementation of
a small set of the software requirements and iteratively enhances the evolving versions until the
complete system is implemented and ready to be deployed.

An iterative life cycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software, which is
then reviewed to identify further requirements. This process is then repeated, producing a new
version of the software at the end of each iteration of the model. (Tutorialspoint.com, 2019)

Iterative Model - Design

Iterative process starts with a simple implementation of a subset of the software requirements
and iteratively enhances the evolving versions until the full system is implemented. At each
iteration, design modifications are made and new functional capabilities are added. The basic
idea behind this method is to develop a system through repeated cycles (iterative) and in smaller
portions at a time (incremental).

The following illustration is a representation of the Iterative and Incremental model −

Iterative and Incremental development is a combination of both iterative design or iterative


method and incremental build model for development. "During software development, more
than one iteration of the software development cycle may be in progress at the same time." This
process may be described as an "evolutionary acquisition" or "incremental build" approach."
Software Development Life Cycle

In this incremental model, the whole requirement is divided into various builds. During each
iteration, the development module goes through the requirements, design, implementation and
testing phases. Each subsequent release of the module adds function to the previous release. The
process continues till the complete system is ready as per the requirement.

The key to a successful use of an iterative software development lifecycle is rigorous validation
of requirements, and verification & testing of each version of the software against those
requirements within each cycle of the model. As the software evolves through successive
cycles, tests must be repeated and extended to verify each version of the software.
(Tutorialspoint.com, 2019)

Iterative Model - Application

Like other SDLC models, Iterative and incremental development has some specific applications
in the software industry. This model is most often used in the following scenarios −
(Tutorialspoint.com, 2019)

 Requirements of the complete system are clearly defined and understood.

 Major requirements must be defined; however, some functionalities or requested


enhancements may evolve with time.

 There is a time to the market constraint.

 A new technology is being used and is being learnt by the development team while
working on the project.

 Resources with needed skill sets are not available and are planned to be used on contract
basis for specific iterations.

 There are some high-risk features and goals which may change in the future.
Software Development Life Cycle

Two types of Iterative model life cycle


1. Incremental Model
2. Agile Model
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.

Each iteration passes through the requirements, design, coding and testing phases. And each
subsequent release of the system adds function to the previous release until all designed
functionality has been implemented. (Guru99.com, 2019)
Software Development Life Cycle

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.

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.
(Guru99.com, 2019)

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

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
Software Development Life Cycle

Advantages and Disadvantages of Incremental Model

Advantages Disadvantages

 The software will be generated  It requires a good planning designing


quickly 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

 Thought 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

(Guru99.com, 2019)

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. Every iteration involves
cross functional teams working simultaneously on various areas like −

 Planning
Software Development Life Cycle

 Requirements Analysis

 Design

 Coding

 Unit Testing and

 Acceptance Testing.

At the end of the iteration, a working product is displayed to the customer and important
stakeholders. (Tutorialspoint.com, 2019)

What is Agile

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. (Tutorialspoint.com, 2019)

Here is a graphical illustration of the Agile Model −


Software Development Life Cycle

The Agile thought process had started early in the software development and started becoming
popular with time due to its flexibility and adaptability.

The most popular Agile methods include Rational Unified Process (1994), Scrum (1995),
Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven
Development, and Dynamic Systems Development Method (DSDM) (1995). These are now
collectively referred to as Agile Methodologies, after the Agile Manifesto was published in
2001.

Following are the Agile Manifesto principles −

 Individuals and interactions − In Agile development, self-organization and motivation


are important, as are interactions like co-location and pair programming.

 Working software − Demo working software is considered the best means of


communication with the customers to understand their requirements, instead of just
depending on documentation.
Software Development Life Cycle

 Customer collaboration − As the requirements cannot be gathered completely in the


beginning of the project due to various factors, continuous customer interaction is very
important to get proper product requirements.

 Responding to change − Agile Development is focused on quick responses to change


and continuous development.

Advantage of Agile Model


 Suitable for changing requirement.
 Find out early incomplete working solution for deliver.
 Easy to manage
 Developer give more flexibility
 Little planning required.

Disadvantage of Agile Model


 Lack of importance on necessary designing and document.
 Customer no clear requirement easily is taken off track what outcome that they want.
 It is not useful for small project
 Cost more as compare to waterfall model.

Sequential lifecycle model


The linear Sequential model go systematic sequential near to software development that start
at the system level and process through analysis, design, coding, testing and support. It is
very simple to understand and use. There is no overlapping in the phase.

 Requirement and Analysis


The requirement gathering process is intense and focused detail on software. To understand
the feature of the program to be built. The developer analysis the customer requirement to
Software Development Life Cycle

understand the information for software functionality, performance and interface. Customer
requirement should review the both system and software.

 Design
The design for software is multi step process that focuses on four thing of program, data
structure, software architecture, interface representations. The design process for customer
requirement into UI of the Software that can ability for quality before coding begin.
Customer requirement, the design is report and becomes part of coding for software.

 Coding
The design must be translated into a machine-readable. The code can be perform every task.
If design is performed every detailed each program, developer can be code change
mechanistically.

 Testing
Once code has been created, then software-testing start. The testing main focus on the logical
internal for the software, ensure that all functionality has been tested and on the functional
externals; that carry out the test to bug or error and ensure that defined input will produce
actual work that agrees with required result. (Producttribe.com, 2019)

Two types of sequential lifecycle model:


1. Waterfall Model
2. v-shaped model
waterfall model:
The Waterfall Model is a linear sequential flow. In which progress is seen as flowing steadily
downwards (like a waterfall) through the phases of software implementation. This means that
any phase in the development process begins only if the previous phase is complete. The
waterfall approach does not define the process to go back to the previous phase to handle
changes in requirement. The waterfall approach is the earliest approach and most widely known
that was used for software development.
Software Development Life Cycle

Waterfall model process:


 Requirement
In this stage, you should customer meet then complete information about what this
project require. You can meet this information different way like interview or
questionnaire to discussion to each other. The project requirement all be clear what client
want to require and they should have requirement document has been distributed the team
then next go to phase.

 Design
First phase get all requirements should be clear then go to design the system, no coding
require during this phase, can be identified for every unit the software requirement along
hardware requirements. Then the design are made for client require suitably. The
interrelation between the different designs of the software can identified and the
connections are made, using algorithms and diagram.
Software Development Life Cycle

 Implementation
In this phase, the actual develop of the software. This is also known by the coding and
verification phase. Developer take information all about the requirement from the
previous stage and written by software program. For every module, software code is
written and then go too tested, to check if the correctly every functionality proper
working.

 Testing
With coding of the application complete, the testing of the written code of the product
can be start. Testing for designed software any not proper working any program. Ensure
that customer interested of created the software a proper execution any program, will be
satisfied with the finished product. If there any problem of functionality of the software
we should step back to the design phase.

 Deployment
In this phase, the product on complete and developer sent to deliverables to deployed or
released.

 Maintenance
This is final phase of the waterfall model, are some issues come up in the client. To fix
that issue a functionality then patches are released. Once the software has been deployed,
in case customer ask any change in functionality, then the entire process is restarted.

The usage
Projects which not focus on changing the requirements, for example, projects initiated from a
request for proposals (RFPs), the customer has a very clear documented requirements.
Software Development Life Cycle

Advantages and Disadvantages of waterfall model:

Advantages Disadvantages
 Easy to explain to the users.  Assumes that the requirements of a
 Structures approach. system can be frozen.
 Stages and activities are well defined.  Very difficult to go back to any stage
 Helps to plan and schedule the project. after it finished.
 Verification at each stage ensures  A little flexibility and adjusting scope
early detection of errors/misunderstanding. is difficult and expensive.
 Each phase has specific deliverables.  Costly and required more time, in
addition to the detailed plan.

V-Shaped Model
It is an extension of the waterfall model, Instead of moving down in a linear way, the process
steps are bent upwards after the implementation and coding phase, to form the typical V shape.
The major difference between the V-shaped model and waterfall model is the early test planning
in the V-shaped model.

Requirement and Analysis

This is the first phase in the development cycle where Customer requirements are understand
of the product. This phase help of customer requirement to understand his what expectation
Software Development Life Cycle

and exact demand involve in communication with customer. This is phase very important
activity to need managed the customer are not sure what actual they need.

Requirement and analysis phase also similar of the waterfall model with an additional testing
plan includes. It includes the acceptance test design planning with business requirements that
can be used as input for acceptance testing’s. (Onestoptesting.com, 2019)

Design

Design phase of verification is also mention to as High Level Design (HLD). In this,
understand for architectural specifications of system ad designed of the system at high level.
Usually in this phase, more than one technical approach is proposed and financial feasibility
the final decision taken about project.

In the requirement, analysis phase of system design is break down into modules taking up
further. One of these modules is mention as High Level Design (HLD). They main functional
of this module the begin data transfer and communication between the internal modules and
the outside world. (Onestoptesting.com, 2019)

Module Design

The module design phase is known as Low Level Design (LLD) module of system design
phase. The modules design is a more compatible other than modules in the system
architecture and the other external systems. The unit test is main part of any development
process and help of minimize the fault and errors at a very early stage. These unit tests can be
designed in this stage based on internal module design. (Onestoptesting.com, 2019)

Coding Phase

The coding phase is at the bottom of the V-shaped module. The coding mean is development
of system module to design in the design phase and taken up in the coding phase of V-shaped
module. In other word this phase the module design transform into the writing code by
design and development prowess.

The best suitable programming language to write code on the system and architectural
requirements. The coding phase is performed by using client requirement help of guideline
the writing coding. The code goes to write number code review and more optimized for
Software Development Life Cycle

making efficient and more effective product before the final is checked into the repository.
(Onestoptesting.com, 2019)

Validation Phases

The validation phase of V-model include more satisfies to various product design and
customer satisfaction the product using high level checking system. Validation process is
more properly checking and testing the real product with proper functionality. Several phase
includes in validation phase of V-model are as follows;

 Unit Testing
If you designed for system, we should validation test for module design phases. Every
writing the code to executed the function on the unit testing for module code. This is
testing which run on code and help of remove the bug or error at an early stage, through
all defect cannot be uncovered by unit testing.
(Er.yuvayana.org, 2019)
 Integration Testing
The integration-testing can performed to check the validity of the entire system
functionality of the module after integration process completed. System testing is directly
associated with system design phase. Most be software and hardware compatibility issues
cannot full covering during this system test execution.
(Er.yuvayana.org, 2019)
 Acceptance Testing
The testing module associated with the client requirement analysis in this phase and
include testing the product in suitable environment. Most of testing hardware and
software uncovering the compatibility issues include the other system available in the
suitable environment. It also discovery the not proper working functionality such as load
and performance defect in the actual user environment.

The usage
 Software requirements clearly defined and known
 Software development technologies and tools are well-known
Software Development Life Cycle

Advantages and Disadvantages of v-shaped model:


Advantages Disadvantages
 Simple and easy to use  Very inflexible, like the waterfall
 Each phase has specific model.
deliverables.  Adjusting scope is difficult and
 Higher chance of success over the expensive.
waterfall model due to the  The software is developed during
development of test plans early on the implementation phase, so no early
during the life cycle. prototypes of the software are
 Works well for where produced.
requirements are easily understood.  The model doesn’t provide a clear
 Verification and validation of the path for problems found during testing
product in the early stages of product phases.
development.  Costly and required more time, in
addition to a detailed plan

spiral Model
Spiral model is a combination of sequential and prototype model. This model is best used for
large projects which involves continuous enhancements. There are specific activities which are
done in one iteration (spiral) where the output is a small prototype of the large software. The
same activities are then repeated for all the spirals till the entire software is build.
(Softwaretestinghelp.com, 2019)
Software Development Life Cycle
Software Development Life Cycle

To explain in simpler terms, the steps involved in spiral model are:

Phase Name Activities performed Deliverables / Output

Planning -Requirements are studied and gathered. Requirements understanding document


- Feasibility study
- Reviews and walkthroughs to streamline the Finalized list of requirements.
requirements

Risk Requirements are studied and brain storming sessions Document which highlights all the risks
Analysis are done to identify the potential risks and its mitigation plans.

Once the risks are identified , risk mitigation strategy is


planned and finalized
Software Development Life Cycle

Phase Name Activities performed Deliverables / Output

Engineering Actual development and testing if the software takes Code


place in this phase Test cases and test results
Test summary report and defect report.

Evaluation Customers evaluate the software and provide their Features implemented document
feedback and approval

Phases in spiral model:


1. Planning phase
2. Risk analysis phase
3. Engineering phase
4. Evaluation phase.

Activities which are performed in the spiral model phases are shown below:
Pictorial Representation Of SDLC Spiral Model
Software Development Life Cycle

Different colors represent different spiral or iteration. For first iteration, represented in brown
color , all the 4 activities (Planning, risk analysis, engineering and evaluation) are performed.
After the evaluation phase is over for the first iteration (spiral), second iteration (spiral) starts
The second iteration, which is represented in orange color, here again all the 4 activities
(Planning, risk analysis, engineering and evaluation) are performed. In a similar way, third
iteration is done shown in blue color and so on the process continues.

When to Use Spiral model?


Spiral model is used in the following scenarios:
 When the project is large.
 Where the software needs continuous risk evaluation.
 Requirements are a bit complicated and require continuous clarification.
 Software requires significant changes.
 Where enough time frame is their to get end user feedback.
 Where releases are required to be frequent.
Software Development Life Cycle

Advantages of using Spiral Model:


Advantages of using Spiral model are as follows: (Softwaretestinghelp.com, 2019)

 Development is fast
 Larger projects / software are created and handled in a strategic way
 Risk evaluation is proper.
 Control towards all the phases of development.
 More and more features are added in a systematic way.
 Software is produced early.
 Has room for customer feedback and the changes are implemented faster.

Disadvantages of using Spiral model:


Disadvantages of Spiral model are as follows: (Softwaretestinghelp.com, 2019)

 Risk analysis is important phase so requires expert people.


 Is not beneficial for smaller projects.
 Spiral may go infinitely.
 Documentation is more as it has intermediate phases.
 It is costly for smaller projects.

Identification of risk in spiral model


In the spiral model they are lot of risk are creating new issue in project because this model any
problem in project so again begin start during development of software.

 This model needs to quantify of risk exposure.


 Whenever developing process is fraught with uncertainly.
 In this model, there are many milestones.
 Lack of experiences member use spiral model.
 This model has uncertainty implies risk.
 This model must be resigned during non-development phase activities.
Software Development Life Cycle

This identification of risk in spiral model so they risk are damage and create new issue in project.
They identify the risk analysis phase in spiral model are

 Requirements are studied and brain storming session are done to identify the
potential risk
 Once the risk are identified, risk mitigation strategy is planned and finalized.
 Document, which highlights all the rights and its mitigation, plans.

Impact of risk in spiral model


In the spiral model has list of risk to create different negative impact of software development
phase and cause of development lifecycle. I am going to the express of impact of spiral model
create by new issue –

 In spiral model is not easy to understand for beginner developer so they required more
highly experience and knowledge developer. That organization should paid hug amount
to developer so they going to must expensive for organization also ever time organization
not afford to hire experience developer.
 In spiral model, they should be tight schedule to develop the software of iteration model
so they time is not flexibility to complete at accurate time so these is more probability to
damage of product. So organization to manage anything in proper time so these will =be
expensive for organization.
 These give much time to analysis the phase of spiral model because that involve of
milestone in model. These milestones are affect by project development lifecycle.
Software Development Life Cycle

These are overall impact different risk of spiral model in process of development of software. So,
project will be damage and so they not able to develop requirement of customer due to impact of
project. There are mention of impact of risk in spiral development model.

Manage of risk in spiral model


In this task of requirement to manage of risk which create different negative impact of spiral
software development model. These mention that manage of risk of spiral model.

 Spiral model should be hire highly skill and knowledge developer to participate them of
spiral development model
 They need to use advanced and high-quality technology to analysis the spiral
development phase, analysis, management of development process.
 In this spiral development model, use more reliable, simple and effective resource for
requirement than complex resource requirement reduce of produce of risk so easy to
manage for developing process.

There are all mention to manage risk in spiral model because if we not capable to control
and manage the risk for develop the software for spiral mode. I am all mention use of spiral
model.

Concision:
In this way there is mention waterfall software development for development of application as
well as there is mention appropriate reason and points with respects of different sectors and
organization because all small and middle-class organization and business company using
application and software are develop by developer by using of that model. Otherwise, other
Software Development Life Cycle

models are complicated and they are requiring high requirements for developing of applications.
That is why small company are not able to efforts such as high requirement and budget to
developer.
Software Development Life Cycle

Part: 2

1. You are required to produce a documentation that explains the purpose of the
feasibility

2. report and describe how technical solutions can be compared.

3. Prepare a brief report discussing the components of the feasibility report.

4. Carry out the feasibility study as per the best of your previous research work
against the solution to be developed for the given problem and assess the impact of
different feasibility criteria on the software investigation.

Introduction: In the above task in order to complete that task, the main requirements of task are
I should have to express proper introduction of feasibility report and then after express main
purpose of preparing of feasibility report in software development. These all are the overall
requirements of task so first I am going to express the introduction of feasibility report. Also I
should have to express the introduction of technical feasibility and mention their importance and
role then after mention, how technical solutions can be compeering. These all are the overall of
task so I am going to mention full introduction of technical feasibility.

Feasibility report: Feasibility report is the results of the feasibility study. A feasibility study is
a way to evaluate the practicality and desirability of a project. Before a company invests time
and money into a project, they need to know how successful the project will be before investing.
Sometimes companies want to understand input costs, the amount of research that will need to be
done, or even the marketability of a project. With input prices, it is essential that companies
understand, (even before they put time and research into the project), how much it would cost to
go through with their product. Companies also like to know if they put time into research and go
through with their change or promotion of a product, how the public/people will react to the
change. Will people be fighting over the new product or will it fall through? The purpose of
Software Development Life Cycle

feasibility studies is to provide companies information and analysis on whether or not you or
your company should pursue this course of action.

Feasibility reports are usually used to sway decision makers towards one direction or the other.
Many times there is only one course of action but, there needs to be a second course of action.An
analysis and evaluation of a proposed project to determine if it is technically feasible is feasible
within the estimated cost and will be profitable. Feasibility studies are almost always conducted
where large sums are at stake.

How Feasibility study is conducted for ensuring the maintenance of the new system and
application. Some of the points why we need feasibility study are:

- Helps to minimize the risk by studying all the factors like: Technical, legal, social, economic
feasibility etc.
- Mostly feasibility study helps to increase the investment in the system because the possible
risk is minimized
- It helps to improve the decision-making capability by providing the valuable information

- It also helps to know whether the system meets the expectation of the client and user or not.

A feasibility study is an important part of any software development process because the
feasibility study deals with the cost required for the developing and executing the project, time
required for the development in each phase of the system. If the study is not made wisely then
the organization or the developer has to face the failure in the development cycle. The analysis is
made on what software to use for developing the system. This study and analysis would help to
choose the best implementation for system and the organization. This feasibility study includes
factors like how to install, how to develop and so on. This feasibility study, in short, includes the
analysis of technical areas. This analysis helps the efficiency of the system developed to get
improved. This is because by choosing the correct technology by making an analysis on the
needs of the system helps in improving the efficiency of the system.

Hence, a good feasibility study will make the development of the project effective so that we can
make the feasibility report. The feasibility report is the paper, made on the base of the feasibility
Software Development Life Cycle

study that provides the constraint of whether it is possible with any constraint like financial,
social, economic, technical and legal. (Courses.lumenlearning.com, 2019)

Fig: Cycle to conduct Feasibility study

Types of feasibility study/report:


- Legal feasibility should be set for insurance company as the legal issues can arise due to
many policies of insurance plan, protection of the valuable data pf insurers etc. Many people
can make fake insurance with fake validity and can claim for insurance for that we have to go
to legal so we should be aware of legal feasibility before developing system.
(Courses.lumenlearning.com, 2019)
- Economic feasibility is also important feasibility study to be done before designing a system
so that the developer doesn’t stuck while designing the system for the insurance company.
The budget set for the development should be enough. (Courses.lumenlearning.com, 2019)
- Social feasibility means to study the social feature and peoples view towards project. Before
development system for insurance company it should be socially acceptable that the company
shouldn’t spread violence in the society and negative aspect in the society. So, we have to
study some social feasibility before starting system development.
(Courses.lumenlearning.com, 2019)
Software Development Life Cycle

- Technical feasibility means technical component of project. For technical feasibility some of
the technical things like data protection, inputs and outputs their process etc. for the
development resources should be available and for the technical problems in the development
technical teams should be ready to overcome that problems. (Courses.lumenlearning.com,
2019)

How to write Basic Feasibility Report

Below are the seven elements of a feasibility report: (Courses.lumenlearning.com, 2019)

 Introduction – You need to persuade the decision maker to even consider any sort of
alternative. You need to convince them to even read your report first. Tell them what they
will gain personally or as an organization by considering your work.
 Criteria/Constraints – You must specifically map out the criteria of what the ideal
outcomes are. This will allow you to make practical and logical decisions. You can present
the criteria in your feasibility report in one of two ways. First, you can separate the criteria
into its own section. This is best when you have a extensive report and you need to go in-
depth with the explanation. Second, you can incorporate the criteria throughout your report
as the criteria become relevant. However, it is important to realize that whichever strategy
you chose make sure that the criteria is introduced early in the report. It is also very
important to map out the constraints of your suggested solutions. This will show the
audience that you understand and acknowledge the fact that no solution is perfect. This
will also make sure that the audience makes the decision in their best interest.
 Method – It is very important to present facts that are accurate and relevant. You should
state the reliable sources you used and what method they came from (internet,interview,
book, etc.). Without a credible research method or credible sources your document itself
will lack credibility.
 Overview of Alternative Options – You must underline the key features of each
possible option. Make sure they are easy to understand and presented in a friendly layout.
Keep in mind that the goal is to allow your audience to make the best decision.
Software Development Life Cycle

 Evaluation – This should be the bulk of your report, you must evaluate the options using
the criteria you created. Add graphs, charts, etc. to show that you have studied your
options, and have come up with statistics that back up your reasons as to why your
alternative beats the competition.
 Conclusions – You need to state the conclusion you have came up with. How did you
evaluate the alternatives? And then from there, which alternative best fit your organization.
 Recommendations – You need to use your experience and knowledge in order to state
which option you think should be adopted.

Purpose of the feasibility report


The purpose behind a project feasibility study is to know the different variables involved with
your business venture and how it will be accepted on the open market along with who will be the
target audience.

In a projects lifecycle, the project feasibility study is the second document that is created
following the business case. The purpose of this study is to determine the factors that will make
the business opportunity that was presented in the business case a success.

Included in the project feasibility study will be the exploration of the main focus of the business
opportunity along with the alternative paths it could follow. By collecting this data, management
can then make an informed decision on which path should be pursued in order to create the most
profitable revenue stream for the company.

To get a project feasibility study started, the use of a feasibility study template is the most
efficient means to progressing this document so a final draft can then be implemented. The
template will already have the document outlined with the appropriate sections created. It will
also be in the most efficient order so following the document by the feasibility team can
commence with little to no bottlenecks that might impede its progression.

The project feasibility study will explore the different markets where a target audience might be
located. There should also be alternative target audiences and their location explored. Along with
the target audience, other factors that need to be investigates is how acceptable the deliverable is
Software Development Life Cycle

to the propose target audience. There should be several different variations that can include size
and color difference. This permits the best possible response so the right product can be
produced for the right customers.

The project feasibility study also has to explore the price the target audience is willing to pay for
the deliverable. If it is a great product that is in need, but overpriced, it will not be acceptable by
the market and could fail.

These are just some of the factors that have to be considered when undertaking a project
feasibility study. This importance of this document can never be underestimated since the
success or failure of your project is riding on the results it discovers. (Blog.method123.com,
2019)

Additional points to support propose of feasibility report:


1. To make the project legal and sociable by keeping away the project form the conflicts of
legal requirement and societies policy.
2. To estimate the required cost of the project and make a positive economic benefit.

3. To know the actual requirement of society and modifying the project on the needs of the
people.

4. To make the project technically available resource by researching on the hardware and
software need of the project.
5. To complete the project in time with the requirement fulfill of the client as well as the people
and society. (Blog.method123.com, 2019)

Importance of the feasibility report


1. Feasibility report helps to improve the efficiency of an organization

2. It helps to give the project group and teams more focus and provides an alternative outline
for solving the project.
3. It gives the wide information about whether the project is feasible from all the constraint like
cost, time, legal and technical manner.
4. It helps to identify the new opportunities in the project by providing the information of the
current state of the market, peoples thinking etc.
Software Development Life Cycle

5. It identifies the risk of the project and provides valuable information for a “go/no-go”
decision.

6. It also makes us alert about the future risk and provides the reason not to make proceed in the
project.

As discussing the feasibility study and making report of feasibility study I have to go through
some technical solution to implement the functionality in the insurance company. How the
insurance company and their policy will make the technical solution by doing different testing,
going through different methodology and development of the software.

Technical solution

According to (Wibas.com 2019)

The purpose of Technical Solution (TS) (CMMI-DEV) is to select, design, and implement
solutions to requirements. Solutions, designs, and implementations encompass products, product
components, and product related lifecycle processes either singly or in combination as
appropriate.

Technical Solution specific practices apply not only to the product and product components but
also to product related lifecycle processes. In Agile environments, the focus is on early solution
exploration. By making the selection and tradeoff decisions more explicit, the Technical Solution
process area helps improve the quality of those decisions, both individually and over time.
Solutions can be defined in terms of functions, feature sets, releases, or any other components
that facilitate product development. When someone other than the team will be working on the
product in the future, release information, maintenance logs, and other data are typically included
with the installed product. To support future product updates, rationale (for trade-offs, interfaces,
and purchased parts) is captured so that why the product exists can be better understood. If there
is low risk in the selected solution, the need to formally capture decisions is significantly
reduced.

Evaluation of technical solution


In the early stage we have to discuss and evaluate the solutions that will meet particular
requirement in which the technical solution helps to achieve the certain purpose of the product.
Software Development Life Cycle

We cannot tell in this way we can evaluate technical solution. It depends upon the factor who
will be audience and in which situation the solution document has been identified.

Some of the points to make technical solution of software designing of my project are:
- By analyzing the current data and process to implement new developing process by
understanding and making research by new requirement management process.
- Getting through all the requirement of user as well as stakeholders and then making
solutions.

- By having all the required information about the process so that we will be able to provide
reliability, availability and scalability of the system fluently. - By addressing the positive and
negative both side of a system - Making solution based on risk, assumption and future scope.
- Taking system through all kind of the testing before launching the website.

- By addressing who will be the technical team in faulty of the system.

Benefits of technical solution analysis:


- Technical solution helps to provide the best implementation of the system.

- It helps to clarify the needs of user & stakeholders in order to complete effectively.

- It improves the efficiency of the system.

- By the help of the technical solution we can demonstrate the product in step by step follows.

- It helps to upgrade the system easily and faster

- Failure of the system and bad impact in organization can be minimized using technical
solution.

- We can easily trace fault in the system as the system goes through different testing in the
time of designing, accessing, and implementation.

Comparing of technical solutions in project development process:


In our developing product or project’s phases, have using different technical solution for manage
and controlling of all phases and complete the project But during using of technical for solve and
manage of any risk and issue of project. These all-technical solutions are not work effectively
sometime maximum technical devices and methodologies are not handles to project. In our
Software Development Life Cycle

project phases have utilize of different technology methods for complete, solve and mange of
project. I am going to express the evaluation of use of different technical solution on the base of
different phase’s description of project.

 Data gathering -In process of development of project, the first phase of project is
gathering of information and data of system so during gathering of data information there
is using different technical devices such as internet online, computers, websites and social
media for gathering of public view. By the help of use that technical equipment, we
easily collect huge amount of public view, different online information from internet so
not spends more time to gathering of information. That technical devices are also solve
different issue and troubleshoot.
 Project design -In the case of system design of project having, utilize different technical
solutions and methodology as well as different devices, program such as grant chart,
Microsoft SQL server, visual studio, etc. that technical devices are help to draw effective
design of project or software by including of all collecting requirement of system. There
is different types of design are involve in project such as conceptual design, product
interior, outer, graphical design etc. these all types of design are complete by help of
technical devices and equipment so these all technical design have their own individual
role and action.
 Project implementation -In the case of implementation of project based on resources
collection and prepares product design there is utilize different technical tools mean our
resources and design are combine to implement by help of utilization of all organization
system and devices, as well as there is using different infrastructures for converting of
data one format to another. Our project implementation is complete after combining of
collecting resources and design to each other by help of use of infrastructure and tools.

 Project Testing - In the process of project testing phase, There is also using different
types of technical tools for testing because in project development have involve different
types of testing such as unit testing, integrating testing, system testing, black box, white
box and grey box testing. These all testing are perform only by help of otherwise that
testing phase is not complete so there is different technology and tools are play great role
and all testing tools have their own importance and role during project testing.
Software Development Life Cycle

 Maintenance – in the case of project maintenance so after deployment of project to


customer then that using customer are gives feedback about project also have different
weakness so to solving of all project issue and weakness. We should have to apply
different technical tools for solving. In large project maintenance process having required
different technical tools implementation for solving, all issue and problem from project.

Example of technical solution which is compare between time and skill


For the completion of the project as a system analyst I have set 1 month of time. In the period of
one-month planning, requirement analysis, design and coding, testing things are included which
is briefly show in the below Gantt chart.

Some of the major skills are needed for system analyzing and designing of the insurance
company as a system analyst are:

1. Programming as well as analytical skills (knowledge of SQL, oracle, visual basic, C++, java,
unified modeling language (UML))

2. Broad knowledge of hardware and software

3. The ability to learn quickly and have creativity power


Software Development Life Cycle

4. High communication and writing skills to interact with clients and customer

5. Problem solving and critical thinkin

Conclusion

In this task, I have discussed how feasibility study helps to make the feasibility report and how
they help in the development of the project. Overall, I have discussed the feasibility report on the
base of the feasibility study its purpose, importance on the project development and also provide
some point on how we can write the feasibility report. Hence, the individual can make a
feasibility report of any project on the base of my task. For supporting feasibility report I have
provided some technical terms to solve the technical problems arrive in the time of system
analyst and designing.
Software Development Life Cycle

Part: 3

1. Undertake the software investigation to meet the business need using appropriate
software analysis tools/techniques to carry out a software investigation and create a
supporting documentation. You may submit this task in the form a report
structured with background information, problem statements, data collection
process and summary etc. In order to carry out the systems investigation you are
required to identify the stakeholders, identify the requirements of the client, specify
the scopes like inputs, outputs, processes and the process descriptors, consideration
of alternative solutions and security considerations and the quality assurance
applied. You are also required to identity the constraints like costs, organizational
policies, legacy systems, hardware requirements etc. For software analysis you may
use the following tools: Data Flow Diagram up to second level and Entity
Relationship Diagram

2. Reference to your task above that required some level of intensive research work
analyze how software requirements can be traced throughout the software lifecycle.

3. Discuss different approaches to improve the software quality and considering the
above context discusses the two approaches that can be applied at this context to
improve the software quality.

4. Critically evaluate how the use of the function design paradigm in the software
development lifecycle can improve the software quality. Support your ideas with
reference to the tasks you have done.
Introduction:
In the above task in order to complete that task, the main requirements of task are I should have
to express the all requirements and needs have been meet of scenario organization by proper
under investigation of software. The main lists of requirements of task are – description of
software analysis tools, prepare documentation and as well as prepare report structure include
background information, problem, data collection process and overall summary. Then after
mention the identify of stakeholder, client requirements, specify scope like input, output, process
Software Development Life Cycle

descriptor, include alternative solution and security as well as apply of quality assurance. Then
after also require identifying constraints like costs, organizational policies and legacy system and
hardware requirements. There is mention following tools in software analysis -

 Data flow diagram up to second level


 Entity relative diagram

Software investigation process:


Software analysis tools/techniques:
In software investigation process having, apply of different software analysis tools/techniques.
These all analysis tools are playing great role in complete of software analysis process. For
observation of software, performance and development purpose as well as modify on that there is
apply different tools and techniques, which are gives accurate result.

 Data flow diagram


 Flow chart
 Structure charts
 HIPO diagram
 Structured English
 Decision table
 Entity-relationship diagram
 Data dictionary

These all are collection of software analysis tools, which are apply in different phase of software
investigation for complete of development and solving of all development risk, issue. However,
there is also requiring documentation that is help to utilize of these all tools in investigation
process.

Software investigation report:


There is also required to prepare of report structure with includes of background information,
problem statement, data collection process and summary.
Software Development Life Cycle

In the process of software investigation process first required to mention all previous information
about software investigation process so before to software investigation, process background
information are

 Background information:The background information of software investigation process


having includes of different event or need to apply investigation. In our develop software
is utilize in insurance company for storing of records and data information of consumers
as well as updated their information as requirement of consumers with high security
protection. But at a time our all consumer update information are not updated so their
previous record are going to use due to some vulnerability attack so that time there is
require investigation of software.
 Problem statement: In software investigation process, software have problem of
vulnerability attack and that software vulnerability is create loophole on system then after
hacker/unauthorized person access and modify to system information as well as damage
and steal all previous updated information of customers. But in investigation process is
not understand due to lack of any evidences and resources so there is required a perfect
effective proof and data resources.
 Data collection process: In the process of software investigation having required
different data information, evidences for managing, controlling and solving of software
vulnerability. Different types of data process are applies in that investigation process
because without data resources and different problem solving methodology that
investigation cannot be complete. Different problem solving methodologies are gathering
from different research such as journals, internet online and self-study, meeting,
information from historical events. In data collection process have includes two methods
such as – qualitative and quantitative research process. These all process are provides all
information and evidences.
 Summary: Finally, in our software investigation process is complete after complete
perform these all stage such as background information provides all previous information
of software that help to understand software investigation. Then after clarify of problems
statements mean mention all problems in software investigation process such as lack of
evidences, resources and problem solving methods. so then after there is mention
different data collection process and also how these collective data are solve our
Software Development Life Cycle

investigation by provides different evidences, proof and software problem solving


methodology by utilize of qualitative and quantitative research methods. In this way, our
software investigation is complete by help of submit of report toward head of
organization and company.

In this way for our software investigation, required report structure is complete as requirements
of scenario and task so that in investigation is handling by help of report structure.

In the process of system, investigation also requires to identify of stakeholder, client


requirements and different terms etc. so I am going to express description of different identify
components of system investigation process -

List of software investigation require identity terms:


Different terms are require to identify in our software investigation process because these all
identify terms are involve and role in investigation process. These terms are -

Stakeholders:
Simply, stakeholder refer to a group of people, person or organization who have interest and
concern in business organization, company or any particular project. These people are complete
involve with their cross ponding organization or project. In our insurance company, have also
many stakeholders such customers, manager, employee, management, sponsors. Stakeholders are
provides full support to makes profits to organization by any way, directly or indirectly method.
If company have go on loss their main impact goes to their company stakeholders.

Requirements of clients:
1. Our company client are want to solve that software issue by using of different problem
solving methodology
2. Client are require to back up their hacked personal data information
3. They are require to modify and improve company network security
4. They are require to change some company policies
5. They require to some financial help from company
Software Development Life Cycle

Specify of scopes:
In the case of scope in software investigation process have includes input, output, process,
process descriptor, consider of alternative solution, security and applied quality assurance.

 Input : Simply, input means any kind of source or data are send devices for processing
action so all devices are working as input first they are access to data and then gives
result. Such as our data collection process, first we collect our all data without processing
and then after apply of filtering and data analysis and then collect accurate and effective
data.
 Processes - Processing is the process of data arranging, filtering and analysis after input
the all-collecting data. That step is importance because all accuracy, collect useful data
these all actions are perform in that phase. That is one-step before the result. Our data
collecting process have involved that phase and by the help of that step, we are able to
collect filtering and accurate data.
 Output - Output is step in which we are achieve our final data from processes phase so
after processing of data then they are goes out for final utilization. Similarly, as we are
utilize our collecting data information after final processing (filtering, analyze, arrange)
with free from impurity. Output data are completely pure, useful and clear for utilize in
our software investigation or development.
 Process descriptors - Actually, process descriptor is a set of information that is clarify
the status of data resources in process phases. Every process descriptor is providing
definition location status of their corresponding process. In system of data have huge of
process and that process descriptor is provide record of each corresponding resource
status in process.
 Alternative solution - In that software investigation, process is not effective for solving
of software vulnerability, software problem so we should have keep really our alternative
plan and solution for solving of software vulnerability attack. Every problem should have
to need and should be available alternative plan and solution – I thing company should
have to apply PDCA problem-solving methodology for handle, manage, controlling of
software vulnerability attack or other issue. Company should have to setup a software
vulnerability detecting team with specialist for managing and controlling of system
vulnerability attack immediately after attack.
Software Development Life Cycle

 Security - In the company, software vulnerability or any problem in company will be


happen due to low of company security system so company should have to modify on
security level –
 Company should have to modify and increasing of software security –level internally or
externally both side by adding of security guide, scanner, as well as installing of anti-
virus and implement of other vulnerability detecting software
 Company should have to arrange and setup strong data information backup process and
infrastructure
 Company should have to modify on company security policy

 Quality assurance - Quality assurance is a plan or systematic activities that are


implement is a quality or effective system so, there is quality requirements for system or
software will be completely full fill. That is as possible as can improving in quality of
product and software. As well as that preventing of mistake in delivery of software or
product, service.
a. Apply of data collecting techniques – in software investigation, not enough to
collect data by old method, that time require applying qualitative and quantitative
data collecting methods.
b. Hiring of best officer – in investigation has to require best officer and employee
for working freely and collect evidence with any condition and cost.
c. Utilization of modern technology – in software investigation provides should
have to utilize something advance and high technology infrastructure for tracing
and collecting of data resources and evidence.

Then after there is, also require identifying of some different components, which are also play-
role in our software investigation process.

List of constraints of software investigation -


Cost -
In software investigation process have utilize and implement of different technology, equipment
and devices so that time there is require money as well as in that process for gathering of
evidence, data and information, we should have to pay to clients then after only they are provide
Software Development Life Cycle

data about case. As well as in software investigation officer are traveling in different place so
that time we should be pay. In the large project, investigation process having already decided and
separate project investigating budget. And whole investigation complete by that budget.

Organization policy -
In organization policy is decide by organization for controlling of all restricted action also for all
actions should have perform in a limited boundaries. Different rules, principle and guidelines are
adopts by organization for achieving of long-term goal and objectives. In addition, such types of
policy and rules are apply for inform to organization employee. In that organizational policies
have including of all problem solving methodology, illegal activates, project scopes, role and
responsibility of employee. Our company has also prepared policies and we always perform
based of that policies rules, regulation and procedures. That policies are provides different types
of working environment and discipline. On the basis of save policies our software investigation
process id going on same rule, regulation, procedures and method are apply in investigation
process.

Legacy system -
Actually, legacy system is refer to technology, software program or device which are utilize in
organization having many year and long-term. Such types of system are reliable for organization
because they are running before long-term effectively without any issue. Therefore, our
organization has to need of present condition because most of using software and device are not
working long-term then organization should high pay for buy every year so such types of system
are not suitable for our company. We need a like legacy system device and software and
technology are implement in system. These all are legacy system, which are still using in
different sectors such as – Voice main system, apple IIGS machine and Intel 480 machine. Such
types of legacy system are role-play in our software investigation process in data gathering,
evidence clarification etc.

Hardware requirements -
In our project having apply of different hardware components in software investigation and
development because both case are require use of hardware with better quality. In organization
having use different types of hardware so these all are hardware requirements for using device in
project development in organization.
Software Development Life Cycle

1. 4 GHz Intel Pentium Processor with 64 bit


2. 8 GB system RAM
3. Maximum 1 TB hard disk required for development
4. High speed internet connection
5. Windows XP operating system

These all are minimum hardware requirement in hardware, which are apply in software
investigation process in organization.

In this way, there is mention all requirements of task with short description and identification as
well as there is mention their role and importance toward software investigation as requirement
of scenario. However, there is also requiring to, express data flow diagram up to second level
and draw entity relationship diagram so there is express how these are role-play in software
analysis process.

Importance of software analysis tools: In the procedure of framework examination that


instruments are identifying of all copied information, which are incorporates into framework

 That apparatuses are gives information cleaning administrations amid programming


examination
 That is gives information checking amid programming examination process
 That is additionally gives information improvement benefits in programming
investigation
 That is additionally gives information institutionalization administrations.

Utilization of software analysis apparatuses for do software examination: On account of


programming examination amid procedure of programming advancement that is significance
period of any product in light of the fact that in a wide range of hazard, issue and issue and result
are set up by appropriate examination. Programming examination is prepared for assess, decided
the working procedure, testing or enemy investigation of various programming advancement
stage. On account of programming examination, that is required distinctive programming
investigation instruments and strategies since that devices and procedures additionally supporting
amid programming examination, for example, that assistance to elucidate, making report,
investigation of information stream, taking care of issue just as for change in venture. That time
Software Development Life Cycle

that apparatuses are, help to programming examination. These all examination devices and
procedures are separately backing to programming examination since that all are perform
activities are have a place with examination. I am going to make reference to, how these all
examination devices and systems complete the product examination. There is notice job and
capacity of all instruments in programming examination with separately.

Role of analysis tools/procedures to do of software examination: In the above given a wide


range of examination devices and methods have their own job and work and these all are help to
programming in sides of examination.

i. Data flow diagram (DFD): A data flow diagram (DFD) maps out the flow of
information for any process or system. It uses defined symbols like rectangles, circles and
arrows, plus short text labels, to show data inputs, outputs, storage points and the routes
between each destination. Data flowcharts can range from simple, even hand-drawn
process overviews, to in-depth, multi-level DFDs that dig progressively deeper into how
the data is handled. They can be used to analyze an existing system or model a new one.
Like all the best diagrams and charts, a DFD can often visually “say” things that would
be hard to explain in words, and they work for both technical and nontechnical audiences,
from developer to CEO. That’s why DFDs remain so popular after all these years. While
they work well for data flow software and systems, they are less applicable nowadays to
visualizing interactive, real-time or database-oriented software or systems.
(Lucidchart.com, 2019)
 That serves to correspondence current framework data to clients so clients have
full data of each force of framework.
 That is additionally planning reporting record of framework and that
documentation are submit to examination as a proof.

These all means are full help to do the product examination so without utilization of
that investigation systems these all help are not accomplish by programming
examination that examination will be not finished,
Software Development Life Cycle

ii. Use case diagram: A use case is a methodology used in system analysis to identify,
clarify, and organize system requirements. In this context, the term "system" refers to
something being developed or operated, such as a mail-order product sales and
service Web site. Use case diagrams are employed in UML (Unified Modeling
Language), a standard notation for the modeling of real-world objects and systems.

System objectives can include planning overall requirements, validating


a hardware design, testing and debugging a software product under development, creating
an online help reference, or performing a consumer-service-oriented task. For example,
use cases in a product sales environment would include item ordering, catalog updating,
payment processing, and customer relations. A use case diagram contains four
components. (Lucidchart.com, 2019)

 The boundary, which defines the system of interest in relation to the world around it.

 The actors, usually individuals involved with the system defined according to their roles.

 The use cases, which are the specific roles played by the actors within and around the
system.

 The relationships between and among the actors and the use cases

iii. Feasibility examinations: Attainability contemplates is another devices for framework


examination and cap likewise supporting programming examination since that possibility
consider is report that depicted element and advantages of the venture, order the cost
sum, all assets are incorporates into task. Just as that gathering of all task issue, issue and
even gives best savvy arrangement and innovation for controlling and oversee of venture
issue. That is gives all data about periods of undertaking controlling and checking.
Possibility consider gives full help, for example, in view of practicality investigation of
undertaking that is takes successful choice on the support of task. That additionally
comprehends the better economic situation for fare of item in market. That instrument is
Software Development Life Cycle

completely changing the working technique of framework. Along these lines, that devices
if gives documentation, and practicality report of various area of association just as
programming advancement. Examination gathers all confirmations from possibility and
our examination is finished. That attainability record is makes simple to programming
examination. (Lucidchart.com, 2019)
iv. Interview: Meeting is additionally an apparatus for framework investigation on the
grounds that amid improvement of venture previously required to comprehend subtleties
of undertaking yet these all subtleties are gives by head worker or client. Hence, that time
meet is ideal approach to gather data by converse with them yet additionally we ought to
need to get ready as of now with arranged rundown of inquiry or subject and idea of
exchange. That device is viable on the grounds that all discourse is happen up close and
personal. Our everything uncertainty and perplexity are additionally finished around then
likewise gather diverse option data from seniors. Those apparatuses likewise apply on
programming examination. That instrument is gives generally speaking clear and
particular data about task. That data is progressively adaptable and applies on various
periods of programming. That product examination device is additionally supporting to
programming examination since that is gives full arrangement and insights concerning
programming issue and critical thinking innovation By help of meeting gathering of
various individuals view and thought for oversee and controlling of venture.
(Lucidchart.com, 2019)
v. Grant diagram: Concede diagram is another product investigation apparatuses and that
is gives the data of datelines of undertaking fruition. During the time spent advancement
of venture, that time there is draw a time span there is notice legitimate time term of task.
In the concede diagram, draw any sort of course of events for task. Indeed, even that
stipends graph incorporates course of events for all period of venture. Our task
improvement process is likewise running as course of events of gifts diagram generally
that venture are not finished in time. That course of events gives precise data of parts of
creating venture. We are effectively examination of required time and furthermore make
changing or adjust on advancement if time is sufficient. The give visit is gives confirms
about accessible time venture. In venture there is required to attract distinctive course of
events diverse stage. That instrument is likewise help to gathering of archive of task
Software Development Life Cycle

based course of events of allow outline. Since are likewise plan documentation dependent
on the time allotment. That instruments is furnishes time span of undertaking with
explanation so these all poofs are sufficient for programming examination complete. So
programming is complete after gives confirmations. (Lucidchart.com, 2019)

Along these lines there is notice all prerequisites of errand, for example, their, is express full
presentation of programming investigation apparatuses and procedures. Their significance then
after express assessment of utilization of these all instruments in programming examination so
all apparatuses are full help to programming examination and give proof as proof so along these
lines there is finished all necessities of errand.

Entity Relationship diagram: Entity Relationship Diagram, otherwise called ERD, ER


Diagram or ER demonstrate, is a sort of basic graph for use in database structure. An ERD
contains diverse images and connectors that envision two essential data: The significant
substances inside the framework scope, and the between connections among these elements.

What's more, that is the reason it's classified "Element" "Relationship" chart (ERD)!

When we talk about substances in ERD, frequently we are alluding to business items, for
example, individuals/job (for example Understudy), unmistakable business objects (for example
Item), elusive business objects (for example Log), and so forth. "Relationship" is about how
these elements identify with one another inside the framework.
Software Development Life Cycle

Entity relationship diagram for scenario:

DATA FLOW DIAGRAM: An data flow diagram demonstrates the manner in which data
moves through a procedure or framework. It incorporates information sources of info and yields,
information stores, and the different subprocesses the information travels through. DFDs are
assembled utilizing institutionalized images and documentation to portray different elements and
their connections.

data flow diagram outwardly speak to frameworks and procedures that would be difficult to
portray in a lump of content. You can utilize these outlines to delineate a current framework and
improve it or to design out another framework for usage. Envisioning every component makes it
simple to recognize wasteful aspects and produce the most ideal framework. (Lucidchart.com,
2019)
Software Development Life Cycle

Data flow diagram for scenario:


0 level DFD: Level 0 DFDs, otherwise called setting graphs, are the most essential information
stream outlines. They give an expansive view that is effectively absorbable however offers little
detail. Level 0 information stream charts demonstrate a solitary procedure hub and its
associations with outside elements. (Lucidchart.com, 2019)

Level 1 DFDs: Level 1 DFDs are as yet a general outline, yet they really expound than a setting
chart. In a dimension 1 information stream outline, the single procedure hub from the setting
chart is separated into subprocesses. As these procedures are included, the graph will require
extra information streams and information stores to connect them together. (Lucidchart.com,
2019)
Software Development Life Cycle

Level 2+ DFDs: Level 2+ DFDs essentially separate procedures into increasingly itemized
subprocesses. In principle, DFDs could go past dimension 3, however they once in a while do.
Level 3 information stream charts are itemized enough that it doesn't normally bode well to
separate them further. (Lucidchart.com, 2019)
Software Development Life Cycle

Conclusion:
In this way there is mention all requirements of task such as there is express the different
approach and techniques for improving and increasing of quality of software as requirement of
client and organization. That both approaches are must consider weakness of software and then
solving of those all weak points because before to remove weak points of software we cannot
improving of software quality as requirement of client. These above mention techniques and
methods are definitely improving of our software quality. In this way there is mention all
requirements of task such as there is express different software analysis tools and techniques
Software Development Life Cycle

which are play great role in software investigation process and how they are help to investigating
of our developing software performance and provides result of all individual phase of software.

Part: 4

1. Prepare a documentation that explains how user and software requirements have been
addressed. You may tabulate this task with the columns that has the expected client
requirements and the actual output of the product to be developed after the appropriate
analysis.

2. Discuss about the different software specification methods and suggest two software
behavioral specification methods and illustrate their use with an example relevant to the
project that needs to be constructed for the given context. Some of the software
specification techniques include flowcharts, pseudo code and formal specification methods
and so on.

3. Differentiate between a finite state machine (FSM) and an extended Finite State
providing an application for both.

4. Present justifications of how data driven software can improve the reliability and
effectiveness of the software.
Introduction -
In the above task in order to complete that task, the main requirements of task are I should have
to express how users and software requirements have be addressed so there is express description
of users and software requirements. In addition, theirs is mention in tabular form with columns
includes expected client requirements and actual outputs after analysis of software development.
These all are the overall requirements of task. I am going to express short individual description
about software requirements and users.

Explanation of users and software requirement are addressed -


In the software development lifecycle, users and software requirements both are most importance
component in requirement gathering/analysis phase because both are provides requirements
resources in during development of software. In, software development process users and
software requirement both are mutually connects because these both are utilize in software
Software Development Life Cycle

development if requirements are not effective development is going to flop so I am going to


express short description of users and software requirements role in software development
individually.

 user requirement -

An effective set of users requirements are essentially needs project development, to be makes
successfully But there is different project development process are going to fail due to lack or
miss of user requirements. So that time that we are not specifies what the system actually should
do. So developer have adjusting different troubleshoot because there is already agreement of
deliver of project clarify of software developing budget even decided venue. These users’
requirements are collecting as user points of view mean before to developing of software project
we are especially meet to user for gathering of user points of view and user requirement. What
kinds of requirements, facilities and technology are wants to user to implement in project, these
all details are and requirements data are provides by user to developer. Developer have also first
responsibility to collect users requirement because software development main motto to satisfy
to users by developing of software as requirement of users.

For any software project development process collecting of users requirements is most
importance because developer is definitely include and implement all requirement of user in
software but. in many case of software development users are not satisfy because user are
provides different requirements but developers are implement different so that time such types of
software are not satisfy and full fill user requirements. So users requirements is the main based
of software development so what requirements are provides by users that all requirements are
developer should have to implement.
Software Development Life Cycle

1. Software requirements -

 Software requirement: software requirement all requirements, purpose, scope of


developing Software by including and gathering of requirement as functional and non-
functional so these two types of requirements are comes under the software requirement.
By the help of software requirement developing software, perform all functional activities
by functional requirement and provides of behavior of software these all feature are
provides by non-functional requirement of software.
 Why we doing this project ?
 What is its value to us?
 What is it supposed to do ?
 How we are makes sure that is keep working currently?

Above mention all questions’ answer are provides by software requirements. That is provides
best description, specifications of software-based solution for implement of to complete the need.
Actually, software requirement of organization consider these all points during software
development process -

 Problem statement
 Project vision
 Project constraints
 Project objectives
 Project scope
Software Development Life Cycle

Actually, software requirement is a implementation of function and non-functional need in


system. Such as, in functional need mean provides particular services to users and non-functional
implement is performance requirement such as every page of system should be visible to users
within 5 seconds. These both services are needs of implement in system. These are individual
introduction of user and software requirements on based of system development. Then after there
is require expressing the explanation of user and software requirement in software development
have addressed. I am going to express how these have, been addressed.

how user and software requirement have addressed -


In the software development process requirements gathering are most essential phase for
developer in which gathering of all require requirement resources for development of software as
need or satisfies to client and organization. A effective software development is fully depends
upon the gathering requirement because for performing of any action that time there is required
these requirement for implement in system and controlling to system. Both are essential both
developments if any kind of collecting requirements will be default whole system might be
damage. Therefore, we should have to carefully, implement of user and software requirement in
system. Actually user requirement is decided how our software should be develop and how that
is perform and working such as software policy, software developing budget, developing project
objectives, project features but in software requirements provides all internal software
developing decision such as project design, implementation, changing, project modification,
project developing strategy, testing phase all thing. Actually main purpose of software
requirement is to provide all functional and non-functional implementation to system. Such as
functional have includes -
Software Development Life Cycle

 administrative functions
 business rules
 authentication and authorization
 external interface
 reporting and documentation requirements

These all services are provides by functional of software requirement then after implement of
non-functional that is provides services toward system are –

 performances
 capacity
 reliability
 security
 reliability and recoverability

These all facility are provides by non-function in system so by implement of both functional and
non-functional that both are provides different facility and help to developing a quality software
as need of client.  

. During apply of user and software requirements that time software requirements specification is
most importance because that is specifies better requirement for utilize with respective condition,
affect all things are most consider on that time because most of software development is damage
and not complete because apply requirements resources are not favorable for system and
situation. That time decreasing of quality of software. In this way in software development
lifecycle, both user and software requirements have been addressed both are most importance
addressed to each other in case of apply and in software development and full fill requirements.
We should have to focus on both requirements in development process otherwise; our
development is definitely damage or not develops as need of organization. Both are should have
to includes and apply effectively.

Another requirement of task is I should have to tabulating with column to listing of expected
client requirements and actual output of product to developed after requirement analysis -

Listing in column of client requirement and actual output of developing product -


Software Development Life Cycle

In the development of product, apply different requirement such as user and software
requirement. These all requirement are gathering and apply of development so all are working
effectively as expectation in all stage and phase but also after deeply analysis of requirement
most of requirements are apply in development not suitable for product. In addition, condition is
also not favorable then that phase result is also not satisfied us mean result is just appositive of
client expectation so I am going to mention client expected requirement and actual product
output.

Client expected requirement Actual output of product


1. Development product screen A 1. Our developed software represents
should have to show production these all information on screen
information, including lot, successfully.
production number and date.
2. System B of always produce testing 2. Developed product’s B represents testing
report summary report of product in system B successfully.
3. 10 users are use system C(product 3. Successfully use by user immediately.
design) concurrently
4. System D represent product 4. Successfully provides documentation on
modification documentation on screen.
screen always
5. Produce validation and verification 5. Developed product is not able to
report of testing phase. represent successfully.
6. Product should be reliable, secure 6. Developed product is not reliable, secure
and available for organization and manageable for client.
employee or clients
7. Product maintenances charge 7.high maintenances charge for product
should be low.
8. That is provides security, protection 8.Not able to controlling and protection
and controlling from network risk from vulnerability and system risk
and problem
9. Managing of all performing 9.Not able to handle and manage activities
activities and their record, record and documentation
documentation securely
Software Development Life Cycle

Conclusion: These are the tabulation of client expected requirement and actual output of product
in this way most of time developed product is not represent as need and expected output from
client because. there is something missing of left main be technology are not successfully
implement, resources requirements are not implement so overall many issue product are
represent wrong output or these are not manage or full fill requirement of client, which these are
expected. Same miss understanding happen in our developing software project. Finally, all
requirements are successfully complete.
Software Development Life Cycle

References:
1. Tutorialspoint.com. (2019). SDLC - Agile Model - Tutorialspoint. [online] Available at:
https://www.tutorialspoint.com/sdlc/sdlc_agile_model.htm [Accessed 1 Sep. 2019].
2. Guru99.com. (2019). Incremental Model in SDLC: Use, Advantage & Disadvantage.
[online] Available at: https://www.guru99.com/what-is-incremental-model-in-sdlc-
advantages-disadvantages.html [Accessed 2 Sep. 2019].
3. Softwaretestinghelp.com. (2019). Spiral Model - What is SDLC Spiral Model?. [online]
Available at: https://www.softwaretestinghelp.com/spiral-model-what-is-sdlc-spiral-
model/ [Accessed 5 Sep. 2019].
4. Blog.method123.com. (2019). The Purpose of a Project Feasibility Study. [online]
Available at: https://blog.method123.com/2011/06/09/the-purpose-of-a-project-
feasibility-study/ [Accessed 5 Sep. 2019].
5. Courses.lumenlearning.com. (2019). What is a Feasibility Study/Report | Technical
Writing. [online] Available at: https://courses.lumenlearning.com/alamo-
technicalandbusinesswriting/chapter/unit-4-b_feasibility-report_readings-2/ [Accessed 7
Sep. 2019].
6. Visual-paradigm.com. (2019). What is Entity Relationship Diagram (ERD)?. [online]
Available at: https://www.visual-paradigm.com/guide/data-modeling/what-is-entity-
relationship-diagram/ [Accessed 9 Sep. 2019].
7. Tutorialspoint.com. (2019). Software Analysis & Design Tools - Tutorialspoint. [online]
Available at:
https://www.tutorialspoint.com/software_engineering/software_analysis_design_tools.ht
m [Accessed 12 Sep. 2019].

You might also like