Professional Documents
Culture Documents
Final SDLC
Final SDLC
Final SDLC
Final-sdlc
Contents
Part: 1.....................................................................................................................................................4
Introduction........................................................................................................................................4
Iterative model....................................................................................................................................5
Sequential model..............................................................................................................................10
Conclusion........................................................................................................................................23
Part:2....................................................................................................................................................24
Introduction......................................................................................................................................24
Conclusion........................................................................................................................................38
Part: 4...................................................................................................................................................64
Introduction......................................................................................................................................64
Tabulation of the expected client requirements and the actual output of the product..................65
Improving the reliability and effectiveness of the software using data driven software..............77
Conclusion........................................................................................................................................78
Bibliography.........................................................................................................................................79
Part: 1
1. Description of predictive and adaptive software development models
considering at least two iterative and two sequential models.
2. 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
Introduction
In this task, we were given to explain software development lifecycle models. It
is the process of determining how an information system can support business
needs, designing the system, building the system and also delivering it to the
users. Software development lifecycle model can also be defined as the tools
that can be used for better delivering of software projects. After that we have to
describe two iterative and two sequential software lifecycle models and how risk
is managed in the spiral lifecycle model. Also we were given to describe with an
example why a particular lifecycle model is selected for a development
environment. We can also consider a different development environment with
different business logics, platform, etc. and the applicability of the particular
Iterative model
Iterative model is a particular implementation of software development life
cycle which focuses on an initial, simplified implementation which after that
progressively gains more complexity and a boarder feature set until the final
system is complete. Such style of model does not attempt to start with a full
specification of requirements. The figure of iterative model is given below:
In the iterative models, firstly all the requirement is gathered with proper
planning among the team and map out the specifications documents,
establish software or hardware requirement and also prepare for the
upcoming stages of the cycle.
ii. Design and development
Once the requirements are gathered, the designed stage occurs where the
technical requirement are established that will be utilized. After designing,
the development process begins in the same stage.
iii. Testing
After the development of software, testing is initiated in the cycle to identify
and locate any potential bugs or issues that may have been in the software.
After the development of every software, testing is most compulsory
because it haves to find out the fault and errors in the software so that it
could be fixed before implementing in the market or providing to the
clients.
iv. Implementation
Finally, the most important stage i.e. implementation begins. All the
planning, specification and design documents up to the point are
implemented into this initial iteration of the project and also maintaining
the application after development is done.
Every phase of the spiral model is divided into four quadrants which are
shown in the above figures. The functions of these four quadrants are given
below:
i. Determine objectives
This is the first quadrants among the 4 quadrants of the spiral model.
In this quadrant, firstly all the requirements are gathered from the
clients and also objects are identified, elaborated and analyzed. After
that alternative solutions possible for the phase are proposed in this
quadrant.
This is the last quadrants of the spiral model. In this quadrant, the
clients evaluate the so far developed version of the software. Planning
for the next phase is also started in this quadrant.
Advantages of spiral model
v. Deploy
After the testing stage, the most important stage i.e. implementation
begins. All the planning, specification and design documents up to the
point are implemented into this initial iteration of the project.
vi. Review
After the implementation of the software, review stage begins.
Sometimes there could be some errors or faults which is not detected
in the testing stage in the software. When such problem occurs then
the review of the software would be provided by the client which is
very important for the future reference. Due to review of software, we
can update the software by fixing the errors and faults occurred in the
software.
Sequential model
Sequential model can be defined as the completion of the work within one cycle
in which one stage needs to be completely finished before the next stage can
starts. In this model, only one phase is carried out at a time and it is not
possible to go back after completing the stage. The phases are carried out in a
sequences. It suggests a systematic, sequential approach to software
development that begins at the system level and professes through analysis,
design, coding, testing and maintenance. It is the most important model which
helps to develop effective software.
1. Waterfall model
Waterfall model is the pioneer of the software development lifecycle
processes which is divided into phases and output of one phase becomes
the input of another phase. In the waterfall model, the software
development activity is divided into the different phases and each phase
are consisting of series of tasks and also it has different objectives. This
model illustrates the software development process in a linear sequential
flow. The figure of the waterfall model is given below:
vi. Maintenance
After the deployment of the software, maintenance stage begins and
remains for until the software is destroyed. Sometimes there could be
some errors or faults which is not detected in the testing stage in the
software. When such problem occurs then the review of the software
would be provided by the client which is very important for the future
reference. Due to review of software, we can update and maintain the
software by fixing the errors and faults occurred in the software.
Maintenance of the software is never ending process and also longest
stage of waterfall model while developing an application.
Advantage of waterfall model
i. Simple and easy to understand.
ii. Process and results are well documented.
iii. Phases are processed and completed one at a time.
2. V-model
V-model stands for Verification and Validation model. It is a software
development lifecycle model in which execution of processes happens in a
sequential manner in a V-shape. In the V-model, the corresponding testing
phase of the development phase is planned in parallel. It is based on the
association of a testing phase for each corresponding development stage.
The figure of V-model is given below:
Stage of V-model
There are different stages of V-model which are given below:
i. Requirement analysis
This is the first stage of V-model for developing an application. In this
stage, there involves detailed communication with a client to know
their exact requirements in the application. This stage should be
completed carefully because the entire requirement in an application
is collected in this stage. If there is any misunderstanding while
collection the client’s requirement, then the software would be
incomplete.
ii. System design
After the successful collection of requirement in an application by the
client, the second stage i.e. system design begins to execute. The
system design will have the understanding and detailing the complete
hardware and communication setup for the product under
development. The layout required for an application are also designed
in this stage. This stage plays a vital role for the software development
through V-model.
iii. Architectural design
After the completion of system design, the architectural design begins.
In this stage, the system design is broken down into modules taking
up different functionality which is also known as high level design
(HLD). Specially, more than one technical approach is proposed and
based on the technical and financial feasibility the final decision is
taken in this stage.
iv. Module design
Limitation of V-model
The limitations of V-model are given below:
i. V-models are very rigid and also least flexible.
ii. High risk and uncertainty.
iii. Not appropriate for complex projects.
Also risk is managed on the basis of following diagram which is given below:
Firstly, risk management is divided into two parts which are given below:
1. Risk assessment
Risk assessment can be defined as the identification, evaluation and
estimation of the levels of risks involved in a situation, their comparison
against benchmarks or standards and determination of an acceptable level of
risk. It studies the risk and helps the development to solve the appeared risk.
The risk assessment is further divided into three parts which are given below:
i. Risk identification
Risk identification is the first process of risk assessment. Without identifying
the risk, we cannot find the best solution. We should know what types of
risk it is or which types of risk is going to be occurred in the future so that
we can make the best possible solution for solving the risk.
solving it. Also we should analyze which problem can be occurred in the
software if we do not solve the risk or what types of risk it is deeply.
iii.Risk prioritization
After risk analyze, we should prioritize the risk on the basis of importance,
nature or danger. The risk which is very danger for the software or very
important to solve should be solved suddenly before solve other risk. If we
do not prioritize the risk then, it can bring a lots of problem in software in
the future. We may not be able to solve in the future if we do not solve it
suddenly. Thus, risk prioritization is most important process of risk
assessment.
2. Risk control
Risk control is the method by which firms evaluate potential losses and take
action to reduce or eliminate such threats [ CITATION Ris19 \l 1033 ]. It is the
most important part of risk management. In the simple word, we can say risk
is managed for controlling it. Without controlling risk, there is no use of risk
management and there would be regularly different risk occurs in the
software. The different parts of risk control are given below:
i. Planning
As we know, planning means thinking before doing anything. While
controlling the risk, the first step which can be done is planning. Firstly, we
should plan how we can manage or control the risk. We should plan
properly among the group of developers to bring the best possible solution
for solving the risk in a software.
ii. Resolution
After the successful planning, we should move on to the second step which
is resolution. We should move forward on the risk management or control
process on the basis of which we plan in this step.
iii.Monitoring
Finally, the last and important steps of risk control is monitoring. We have
to monitor the risk while solving it. In this step, it tracks and evaluates the
levels of risk in a software. It is the ongoing process of managing the risk.
After the resolution of risk, we have to monitor the risk everything for
solving it successfully.
There is also many applicability of the spiral model over the development
environment. Cost estimation becomes easy in this model because the
prototype building is done in small fragments. Additional changes can be done
at also later stage while using spiral model. Development of an application is
usually fast and features are included in a systematic way in the spiral model.
Development can be divided into a smaller parts and the risky parts can be
developed earlier which helps in better risk management. Also in this model,
one fourth of time is invested for the risk identification and resolving it due to
which there is very less change of having risk in the software while using spiral
model. When the requirement of client in very complex then also the spiral
model is very useful for developing the software successfully including the
complex requirement of the client. Thus, there are many applicability of the
spiral model over the development environment.
For example, in our scenario, there is one large insurance company while
developing the software of insurance company, we can use different model
according to the features included in the software and its nature. But according
to me, spiral model is best for the development of insurance company software.
As we know, spiral mode is the It is an aggregate of a waterfall version and
iterative model. It has quality of both waterfall model and iterative model.
Firstly, we have to gather the entire information from the administrator of an
insurance company like. After that we have to discuss and plan among the team
about the features and facilities include in the application like money payment,
news of insurance company, etc. After proper planning, we have to analyze the
risk which could be occurred in an application. We have to find out the different
risk which could be occurred in an application and also the best solution for the
risk. After that we should more on towards the engineering stage which we
design and code for an application. Finally, we have to evaluate our application
from the clients. We can also take review from the administrator and user for
the future update. If we use this approach for the insurance company software
development, then surely it would be the best application for the entire
insurance company. The spiral model would be the best for the development
environment than other model due to its many advantages.
Considering the application of spiral model and also the above example, there is
many benefits of using spiral model for the development environment. We give
one fourth time for the risk analysis due to which there is very less possibility or
almost no possibility of risk or any types of error in an application. Cost
estimation also becomes easy in this model because the prototype building is
done in small fragments. Due to these reasons, I have selected spiral model for
a development environment.
another phase. It helps to minimize the errors or faults from the software
because all the faults and errors are fixed at the early stage. Every person
can easily understand this model if they give their few time to understand
although they are beginners. It plays a vital role while making a large
software development project successfully and effectively.
ii. Use clear structure
Usually waterfall model focus on the clear structure on comparison to other
model. While developing the software, it finishes one phase completely then
move on to the next. Due to this, there would not be any difficulty or
confusion while developing the software. If there occurs any fault or error,
then the development process is not further move on. Firstly, it fixes the fault
or error then only move on to the next phase. Thus, it has benefits of
applying waterfall model to a large software development project.
iii. Determines the end goal early
When we use waterfall model for the large software development software
then it would have clear structure. We complete each phase completely then
only move on to the next phase. Due to this, we can also determine the end
goal early. When the entire step complete without any fault or error then we
can determine the end goal before the completion of software development.
It is one of the most important merit of applying waterfall model to a large
software development project.
iv. Transfer information well
Waterfall approach is highly methodical due to which this methodology
emphasizes a clean transfer of information at each step. When we use
waterfall model in a large software development project, we can easily
transfer the information. Whether we pass projects off at each step or
experience unexpected personnel changes, waterfall prioritizes accessible
information so new additions to the team can get up to speed quickly if
needed. It is also one of the most important merit of applying waterfall model
to a large software development project.
v. No financial surprises
While developing a large software through waterfall model, costs can be
estimated with a fairly high degree of accuracy once the requirement have
been defined. There is an exact estimation of the budget while gathering the
requirement due to which there would not be any problem of finance in the
middle stage of developing software development project. It also plays a vital
role for developing a large software project successfully and effectively.
Conclusion
In this task, I have firstly explained about software development lifecycle. After
that I have explained iterative model and also two iterative models with its
figure, advantage and limitations. Iterative model is a particular implementation
of software development life cycle which focuses on an initial, simplified
implementation which after that progressively gains more complexity and a
boarder feature set until the final system is complete. In the same way, I have
also explained sequential model and two sequential models with its figure,
advantage and limitations. After that I have explained how risk is managed in
the spiral model. I have also explained why I have select spiral model for the
development environment with the example of insurance company software.
Finally, I have assessed the merits of applying the waterfall model to a large
software development project.
Part:2
1. You are required to produce a documentation that explains the purpose of
the feasibility report and describes how technical solutions can be
compared.
3. 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 this part, firstly we have to explain about the feasibility report. It is a
document which assesses potential solutions to the business problem or
opportunity and also determines which of these are viable for further analysis.
After that we have to explain the different purpose of a feasibility report and
how technical solutions can be compared. Technical solution is the process that
describes the methods which are used to design quality solutions. In the same
way, we have to explain the components of the feasibility report. Finally, we
have to carry out the feasibility study as per the best of our previous research
work against the solution to be developed for the given problem and assess the
impact of differently feasibility criteria on the software investigation.
to pay and sometimes the price of the project is fixed less due to which he
could have bear loss. Due to such problem, it would be very difficult to fix
the price of the project. But feasibility study makes document of each and
every detail like manpower, expenses, budget, etc. due to which it explores
the price of the projects that the targeted audience is ready to pay.
With the help of the feasibility report, a person can know each and every
detail information about the project which is being going to start. Due to
this, it would be very easy to assist the management in implementing the
desired system otherwise a person has to face a lot of project while
managing the project. He should keep result of everything which is done on
the regular basis and manage it so that the client should not face problem
on it.
Furthermore, the feasibility report helps to show the different problem with its
location which is occurred in the software. All the solutions for the problem are
explained showing the economic, operational and technical feasibilities.
Economic feasibility is related to the cost which includes the entire expenses
such as cost of hardware, salary of man power, operating expenses, etc. The
operational feasibility addresses how solution would be fitted into the existing
operation and the technical feasibility addresses how the solution will be fitted
into the existing structure. The feasibility report should be edited on the gap of
certain time to add the information of certain interval which were gathered after
preparing the report. The other purpose of the feasibility report is to know the
different variables involved with the business venture and how it will be
accepted on the open market along with who will be the targeted audience. It
explores the main focus of the business opportunity along with the alternative
paths it would follow. Feasibility report is the most important document for the
effective and successful development of software too.
1. Budget
As we know budget is the amount of money which is required to complete
the application successfully and effectively. If the budget for developing an
application is strong then a developer can develop any type of application.
The first and main things required for the software development is budget
because everything required for the software development like software
developer, marketing manpower, buying of technology, etc. needs money. It
also helps to compare the technical solution. For example, if the budget of
developer while developing an application is low then he has to face lots of
problem. He cannot buy new technology, his friends and staffs might leave
him if they do not get their salary on time, he cannot solve the problem
properly etc. The software may not able to get completed by him. But if he
has enough budget for the software development, he can buy new
technology, he can fulfill the needs of his staffs and friends, he can solve
each and every problem occurred in an application, etc. In short, he can
2. Performance
As we know that performance is the action or process of performing a task
or function. It plays a vital role in the comparison of technical solution. The
best solution which is chosen among different solution can be selected by
analyzing their performance. For example, there is need of accountant in the
insurance company. They are facing a lot of problem in the financial
transaction due to lack of good accountant in the company. To solve this
problem, they give notice about job opportunity in accounting post in the
insurance company. There could be many candidates who come for the
interview but the candidate whose performance is better that other in the
interview and who can keep the record of every transaction is always being
selected in the post. In this problem, performance has played a vital role in
solving the technical problem.
3. Efficiency
the record of two different persons in the same file. Such types of problem
can be solved by using different advance software in the present world.
1. Introduction
2. Purpose
3. Methodologies
4. Background history
5. Document structure
6. Intended audience
7. Feasibility criteria
8. Outcome
9. Possible alternate solutions
10. Evaluation criteria
11. Feasible solution
1. Introduction
2. Purpose
After the introduction, the purpose of doing the project should be clearly
explained. It explains developer about all the features to be included in the
project. It also includes the main reason of developing doing the project. For
3. Methodologies
Methodologies is the third components of the feasibility report. After
explaining the purpose of project, we have to find out or explain the
methodologies of doing project. There are different methodologies of doing
projects according to their nature. For example, while developing the
software for the insurance company, we can choose one method among
different methodologies like waterfall mode, spiral model, prototype
methodology, etc. according to the nature of the application. We have to
choose any one of these according to the nature of the application which can
bring best output after using. It plays a vital role to develop a best as well as
worst application. If we choose the method suitable for the application, then
it can make the application very effective. In the same way, if we choose
method which is not suitable for the application then it can make the useless
application. Thus. Methodologies plays a vital role for an effective
development of an application.
4. Background history
Background history is the another very important components of a feasibility
report. While developing an application, we should collect the background
history of the company so that it would be easy to develop an application
and we can include every features which is required in a software. For
example, before developing an application of insurance company, we should
collect each and every information including background history related to
the insurance company so that we can know what features are important for
the software and what features are not important. We can also include a note
about company including establish date, board of directors, manager, etc.
from beginning to till date if we know the background history of the company.
Thus, a developer must collect the background history for the development
of better and effective application successfully.
5. Document structure
As we know document structure describes the organization of a document
into graphical constituents like sections, paragraphs, sentences, bulleted lists
and figures. It is the most important components of feasibility report. While
working on the project, we should always keep in mind to have well-
structured document. It helps to complete the project effectively in the given
time. For example, while developing the software for the insurance company,
a well-structured document should be made so that there would not be any
problem while developing a software.
6. Intended audience
Intended audience can be defined as the group of people for whom a service
or product is designed. A project should be complete in such a way that give
best service to the client and satisfy them. If the project is done without the
satisfaction of client, then it would be just useless project. For example, while
developing the insurance company software, we should know that needs and
demands of the client in the software. We should research their satisfaction
so that we can provide best service to the clients. After that we can develop
the best software which holds the entire services needed to the clients of
insurance company.
7. Feasibility criteria
Feasibility criteria plays a vital role while develop any application. As we
know, there are different feasibility criteria like economic criteria, technical
criteria, operational criteria and many more. Economic feasibility is related to
the cost which includes the entire expenses such as cost of hardware, salary
of man power, operating expenses, etc. The operational feasibility addresses
how solution would be fitted into the existing operation and the technical
feasibility addresses how the solution will be fitted into the existing structure.
In short, it helps to find the problem in an application and also helps to solve
S.
Problems Solutions
N
i. High cost than budget planned Before starting the project, there should be proper
and lack of economic at the end planning of budget in every stage of the project
of project. and we should include some extra amount in the
budget so that there would not be lack of
economic if the price of resources increased or
there occurred more expenses that it was actually
planned.
ii. Demand of increment in salary or There should be contract between the employee
other facility in the middle of and administrator to have same salary and facility
project by employee from starting of the project to end of the project so
that the employee could not demand for increment
of salary or facility.
2. Technical criteria
The main purpose of technical criteria is study the project in terms of input,
processes, output, fields, programs and procedures. It provides most
appropriate technical solution to the developed problem. It plays a vital role
for the successful completion of the project. It evaluates which technology or
server is used for software investigation like computer system, database etc.
are feasible or not for the project. In the development process of insurance
company software, we have to check all the technology which is feasible for
the software. Also if there occurred some problem in the software then we
should search for the technical solution to solve the occurred problem
successfully. While developing the insurance company software, I have used
java programming language. With the used of java programming language,
it helped me to make the insurance company software for desktop, mobile
and even for tablets. We can use this software in mac too. I have also used
MySQL database to store the data of software, server, etc. I have used
proper technologies while developing an insurance company software due to
which the software is successfully completed with every required features.
This software can be run in the old systems too if the hardware requirement
meets. The hardware requirement of the insurance company software is
given below:
2GB of ram
This is the main advantage of using this software that we can use this
software at any system without any difficulties if the hardware requirement
meets. Due to these reasons, we are feasible technically. There is not
technical problem in the insurance company software. While developing an
application, there occurred some technical problem but I have found the
solution too which are given below:
S.
Problems Solutions
N
i. Lack of latest technology to meet Nowadays, a client need new technology which
the demand of client meets their every demand and make them easy in
their life. The needs a complete project with zero
error. In order to include latest technology in the
project, we have to use skilled manpower who
have knowledge and idea of latest technology
while doing a project.
3. Time feasibility
The main purpose of the time feasibility is to know whether the project
deadlines which is fixed is reasonable and the project can complete on that
time or not. While developing the application, many developers do not think
about the deadline seriously due to which they cannot finish the project on
time. As the result, they have to face lots of financial and time loss. Such
conditions should not come even mistakenly in the software developer’s life.
If the deadline is mandatory, then we should confirm properly at the
beginning before starting the project so that we can be serious on that
project. If the deadline of the project is desirable that we can submit the
project even after the deadline because it would not bring any difficulties if
such project’s is not completed on time. While developing the software of
insurance company, I have got only 3 months’ time to complete the
software. It was very hard to complete such a big software in just 3 months.
Me and whole team worked very hard to complete this software and finally
able to complete the software in just 2 months and 25 days. The time
schedule of different stage while developing an application are given below:
In the above table, I have shown the total number of days needed to
complete the development of insurance company software. It was very hard
and challenging to complete such a big software in just 3 months. My team
worked very hard to complete this software and finally able to complete the
software in just 2 months and 25 days. We have even worked for a full days
and night for some days to complete this software on the given deadline.
4. Legal feasibility
Legal feasibility determines whether the proposed system conflicts with
legal requirements, e.g., a data processing system must comply with the
local data protection regulations and if the proposed venture is acceptable in
accordance to the laws of the land. It studies and follows the rules of the
government. Once the project is finished, it will check under government
and its functions are studied. While developing the insurance company
software, we have keep in mind to follow the rules and regulations make by
government for the insurance company like tax rate, maximum collection of
amount by the clients, etc. If we have not include such rules in the software,
then it would have been illegal and the company might have face lots of
problem. But I have included the entire rules and regulations of the country
in the software due to which the users are also aware about it and our
company is not facing any problems. This, there is positive impact of legal
policy in the insurance company.
5. Operational criteria
The feasibility study helps to know how the proposed system is taking
advantage from the opportunities outlined in the project identification study
and solve the problem. This operational criterion explains the importance of
problems and acceptability the system of an insurance company. An
operational evaluation will need to confirm the adequacy of normal and
contingency procedures for the particular equipment installation. It also
includes the people oriented and social issues. When the software is done
then it should be come in use properly and regularly. Since I have made the
software of international company, there is a huge amount of clients in the
company. Many people can use the software at a time due to which their
server can crash or the software can become slow. To avoid such problem, I
have used best and very expensive server which can hold thousands of
clients at a time without any difficulties. Thus, there is positive impact of
software and the software is operating very well without any complain or
difficulties.
6. Social criteria
Social criteria determine whether the proposed project will be satisfactory
for the people or not. It also determines what skills the target population
need to learn on the job and how to learn them if the jobs will meet their
needs. It accesses whether the organization is likely to succeed in making
the social changes. It is the most important feasibility criteria. In the
insurance company software, there are many features which makes social
changes. I have made easy features for clients while doing every task. The
clients of the insurance company should feel comfort, time saving and
should learn many things from the software. In the insurance company
software, everything about the insurance company is done and found from
the software due to which the persons of the society are encouraging about
the insurance company to do their insurance. Due to this, they do their
insurance including their family too if they feel better offers or policies of the
company. Thus it has bought positive impacts in the society.
7. Management criteria
Management Feasibility is the analysis and evaluation of a proposed project
to determine if it is technically realistic, is within the estimated cost and if it
will be profitable in future [ CITATION Def18 \l 1033 ]. It also helps in
determining whether or not to pursue a system concept. It studies the
strength and weakness of existing proposed venture. Management criteria is
very important for the effective completion of every projects. In the
insurance company software, there is proper management of every features.
I have included new concept and remove the faults or errors from the
Conclusion
In this part, I have firstly explained feasibility report. It is an analysis which is
used in measuring the ability and complete a project successfully including all
relevant factors. After that, I have described some of the purpose of the
feasibility study. In the same way, I have explained how technical solution can
be compared which includes budget, automation, performance, efficiency, etc.
After that I have explain the different components of the feasibility report.
Finally, I have assessed the impacts of feasibility criteria on software
investigation which consists economic criteria, technical criteria, social criteria,
etc. Thus, feasibility report plays a vital role to find the problems or bugs in the
software and also to solve them.
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
Entity Relationship Diagram
Introduction
In this task, we were given to identify the shareholders, identify the
requirements of the clients, specify the scopes like inputs, outputs, processes
and the process descriptors, consideration of alternative solutions and security
considerations and the quality assurance applied. After that we have to a form
of report structured with background information, problem statements, data
collection process and summary etc. In the same way, we have to identify the
constraints like costs, organizational policies, legacy systems, hardware
requirements, etc. and use data flow diagram up to second level and entity
relationship diagram for system analysis. After that we have to explain how
software requirements can be traced throughout the software lifecycle. Also we
have to explain the difference approaches to improve the software quality and
two approaches that can be applied to improve the software quality. Finally, we
have to described how the use of the function design paradigm in the software
development lifecycle can improve the software quality.
2. Board of directors
A board of directors is a team of people who are elected by a corporation’s
shareholders to represent the shareholders’ interests and ensure that the
company’s management acts on their behalf. The head of the board of
directors can be called as the chairman or chairperson of the board. The
main purpose of the board of directors is to ensure the company’s prosperity
by collectively directly the company’s affairs. They are appointed to act on
behalf of the shareholders to run the day to day affairs of the business.
3. Employees
Employees are the person who is hired to provide services to a company on
a regular basis in exchange for compensation and who does not provide
these services as part of an independent business. An employee can be
part-time or full-times whose main aim is to provide service to a company by
taking the salary. In every organization, there is important roles of
employees for its development. If the employees are hard-working and
energetic then they can increase the efficiency of a company in the very
short time whereas if the employees are lazy then they can decease the
efficiency of an organization. So, the CEO of a company should always keep
their employees happy in order to develop the company.
4. Clients
Clients are the person who takes services from the company by paying some
amount of money. Without clients, there would be useless of having a
company. In the case of insurance company, there could be many clients
who comes to do their life as well as their property insurance. They pay
certain amount of money yearly for the fix period of time and get some total
of money in returns. They are the most important person for the
development of a insurance company. The insurance company is developed
more when there is many clients in a company.
5. Suppliers
A suppliers are the party who supplies goods and services to the clients.
They can be distinguished from a contractor or subcontractor, who
commonly adds specialized input to deliverables. A supplier can also be
called as vendors or agents. In the insurance, there are some agents who
brings clients for the insurance company and gets come percentage of
commissions from the company. They are also important person for the
development of a company.
Specification of scopes
Project scope can be defined as the part of project planning which involves
determining and documenting a list of specific project goals, features, tasks and
ultimately costs. It is very important to pin down the scope early in a project’s
life cycle as it can greatly impact the schedule or cost of the project down the
track. It also defines the boundaries of a project, what features will be included
and implemented within this scope, what is the delivery dates and milestones
need to be delivered as well the required budget to deliver that scope. The
people should be able to know the information of their policy, buy and how to
premium insurance guidelines through the help of internet.
S.N Descriptio
Input Output Process Process descriptor
. n
1. Login Email/Usernam Login Check The users, admins or
e and password Authentication Authentication agents can only
login to the system
if he enters correct
email and password.
2. Premium Enter the Payment Checks the If the account
payment account details receipt is policy holder details and the bank
and amount of shown in the name and the account along with
money to pay by registered id of code of the card card number are
connecting to software. provided by the match successfully
any bank. company. then only the
premium can be
paid otherwise it
would be
unsuccessful for
payment.
3. Currency Input the Show the Checks the rate If the foreign
exchange foreign currency amount which of foreign exchange detail is in
can be got by currency and the software then it
the foreign exchange it. shows the detailed
currency information
otherwise we have
to enter about the
currency detail in
the software.
website, we can include all the policies and systems which are included in the
software. It is very cheap then developing the software. Also it supports in all
the devices such as mobile, desktop, tablet, etc. and everybody can learn it in
very short period of time. We can also update the policies, rules or anything in
the websites and also information the latest offers to the clients. Thus, I think
the best alternative solution would be use of websites instead of developing a
software.
Security considerations
Security can be defined as the defense of digital information or IT assets against
internal and external, malicious and accidental threats. It is very critical for
enterprises and organization of all sizes and in all industries. If there is weak
security in the company then it compromised systems or data, either by a
malicious threat actor or an unintentional internet threat. For the best security
of insurance company software, we should not rely on a single test. We should
test our software time to time while developing. We should use the best server
for proving the security to our software. Also we should enforce the use of
consistent coding standards, use automated testing tools, build and share
libraries for common tasks such as validating user input, add security related
requirements and test cases from the very beginning of the process, etc.
In the above cost estimation table, I have shown the detail cost which was
spent while developing a software. We have not done any expenses on
unnecessary things. Our main motive was to complete the development of
insurance company software successfully with the budget of Rs. 4,60,000
and in just three months. We have worked day/night to complete this
2. Organizational policies
As we know that an organizational policy can be defined as a course or
method of action selected, usually by an organization, institution, university,
society, etc. from among alternatives to guide and determine present and
future decisions and positions on matters of public interest or social concern.
Being a profitable business organization, the insurance company has its own
policies which is included in the software of insurance company. While
developing an application, there should be two-way communication between
the developer and administrator in which the administrator provides the
important policy and other information about the company then the
developer begins to develop the software according to the policy of an
organization. In the software of insurance company, I have included the
entire policy of the company according to the administrator of the company.
There low and policy in the software is exact as in the real life. The entire
information’s, laws and policies are properly documented in the software due
to which there is not any limitation.
3. Legacy systems
A legacy system, in the context of computing, refers to outdated computer
systems, programming languages or application software that are used
instead of available upgraded versions [ CITATION Leg19 \l 1033 ]. While
developing a software, we should make sure that it will run even in the old
system so that the software can be used by many people. The legacy system
of the insurance company software cannot be total replaced by the new
software of insurance company because some of function of such software
should not be update. Some types of information like information of clients,
financial data of clients, etc. are very critical data which should be stored
securely and should not be affected while upgrading or maintaining the
software. The legacy system us special used because some data which are
very critical might take years to get developed in a new system. The
advantages of legacy systems are given below:
i. It would not be problem while updating critical data in the legacy system.
ii. There would be less change of losing the important and critical
information.
iii. It has low maintenance cost.
iv. There would be no problem in data storing technique.
4. Hardware requirements
2GB of ram
Problem statements
There was a problem and complain of the clients that they are facing difficulties
to come in the insurance company for every purpose like knowing new offers
and policies, while paying the premium, etc. They have to stay in the long line
for hours and only get chance to pay the payment. Considering such problems
and complains of the users, we have developed the insurance company
software by which they can pay their premium easily, see the updated offers
and policy, advance payment of premium can be done and many more. Social,
economic, and political systems in such countries present are also serious
problems to insurance companies. Even now, many people do not know about
the insurance company and the benefits of doing insurance of them and their
entire family. Thus, the insurance company have only limited clients.
ii. Questionnaire
other process and it often have standardized answers that make it simple to
compile data. For collection of more data from rest of the staffs and clients, I
have made questionnaire with some important questions and send to staffs
and some clients so they I can know their view or their suggestions that can
be included in the software. After some days, most of the questionnaire were
returned after filling it properly. I have got some new features and
requirement which were not found in the interview and also I have included
that features in the software of insurance company.
iii. Observation
In the above figure, I have shown the entity relationship diagram of the
insurance company software. In diagram, rectangle type box is entity and the
circle type figure is attributes. According to the diagram, there are altogether six
entities i.e. CEO, clients, products, employee, accident and insurance company
whereas every entity have their own attributes. But, there but be one id
attributes in every entity which are always unique to each other. There is also
one diamond type figure on between two entities which is called action. It helps
to show the relationship between the two entity. Thus, this is the entity
relationship diagram of the software of insurance company.
Summary
Firstly, I have identified the stakeholder of the company and also requirements
of the clients are identified and also scopes like input, output, process and
process descriptor. The requirements of the clients are also gathered before
development of the software. I have explained the quality assurance of the
software with hardware requirements, problem statements, alternate solution
consideration and security consideration for the qualitative software. In the
same way, I have checked whether the applied models are feasible for the
software or not. Constraints like cost, hardware requirements, legacy system
and organizational policies were also identified. I have also made the data flow
diagram up to level 2 and entity relationship diagram to help user for viewing
the software.
3.2 Requirement tracing
Requirements tracing is the process of recording logical links between individual
requirements and other system elements [ CITATION How19 \l 1033 ]. In short,
requirement tracing is one of the processes in requirements management,
controlling, tracing, prioritizing, analyzing and also documenting. It is about
understanding how high-level requirements i.e. goals, aims, objectives,
expectations, needs, aspirations, etc. are transformed into low-level
requirements. The main motive of requirement tracing is to assure that the
requirements continue to meet the needs and expectations of its customers and
stakeholders. We can trace a single functional requirement backward to its
origin, such as a use case, product feature or business rule. Also, we can trace
that functional requirement forward into the bits of design, code and tests that
were created because of that requirement. The analyst must write requirements
in a fine-grained fashion and give every requirement a unique and stable
identifier in order to do requirements traceability. Most of the people starts
doing traceability by linking the functional requirements to an individual test
which verify the correct implementation of those requirements. The requirement
tracing is specially done for management of solution scope, quick evaluation of
potential changes, reduction of project risk, promoting consistency between
In the above table, it is showing that the customer should be able to login to
insurance company software with the correct password and user_id whereas
manager should be able to login to the insurance company software through
customer login page. The technical requirement document of the insurance
company softwareLogin
is given below:
Now the requirement tracing of the insurance company software is given below:
Step 1: “Verify Login, when the correct user_id and Password is entered, it
should log in successfully”
S.N. Test Case Test Steps Test Data Expected Result
1. Verify Login 1. Go to login page User_id = Susan7872 Login Successful
2. Enter user_id Password =
3. Enter password Susan7878@
4. Click login
If the email and password is
correct, It should login
Step 2: Identify the technical requirement that this test case is verifying. For
the test case, the technical requirement is T94 is being verified.
Step 6: Do above for all test cases, later extract the first 3 columns from the
test suite.
Business Requirement # Technical Requirement # Test Case ID
B1 T94 1
B2 T95 3
B3 T96 3
B4 T97 4
Thus, these are the complete example of the requirement tracing which was
done for the login page of the insurance company software. It is the most
important to do the requirement tracing. It helps to highlights any requirements
missing or document inconsistencies. It also helps in analyzing or estimating the
As seen in the figure, in the test driven development, firstly it adds a test.
After that there is a process of executing the test. If the execution of test
is passed, it returns to the first process i.e. add to test otherwise there
would be need of making changes to the code. After making changing in
the code, it executes the test. If the execution of test is successful, then
test driven development is successfully executed otherwise it returns to
the third process i.e. make changes to the code. Thus, this is the process
of test driven development.
Insurance System to develop and helped to improve the software quality there
are limits and criticism to it. The quality of the software automatically improves
if we follow the functional design paradigm. When we choose the best mode
then the testing and requirement tracing is done properly and effectively due to
which the quality of the software goes on improving. It also helps to follow the
best programming practice which further let the software qualitative. A good
developer who have better knowledge of developing an application always
follows the function design paradigm while developing an application. The
function paradigm is main purpose of the software which must achieve the
client’s need and wants. Since the function design paradigm helps to identify
what its design object is to do and is more concerned with what is to be done
and less with how it happens due to which the quality of the software always
goes on improving.
While making the insurance company software too, I have chosen spiral mode
because I think this model is best for the development of software of insurance
company. Since the insurance company itself focus on the risk of the person or
their properties, using the spiral model meaning they are promoting their
company because the spiral model mostly focus on the risk management. One
forth part of the spiral model is focused on the risk management. The spiral
model has greater potential of identification of risk, mitigating of the possible
risk and strategy is finalized and also controlled. Due to the management of the
risk, it automatically increases the quality of the software and the system, which
give quality assurance of the software.
Also I have analyzed the software and system by using different techniques like
entity relationship diagram and data flow diagram. An entity relationship
diagram (ERD), also known as an entity relationship model, is a graphical
representation of an information system that depicts the relationships among
people, objects, places, concepts or events within that system whereas Data
flow diagram can be defined as a graphical representation of the flow of data
through an information system which is used to show how information is input
to and output from the system, sources and destinations of that information and
where that information are stored. In the entity relationship diagram, there were
altogether six entities i.e. CEO, clients, products, employee, accident and
insurance company whereas every entity had their own attributes. It depicts the
relationships between people, objects, places, concepts or events within the
system due to which the quality of the software goes on improving. Moreover, in
the data flow diagram we have different entities data, which are stored in the
datacenter and which show the process of moving thee data to different
entities. It helps to show about how information is inputted and output from the
system to the users or clients which helps to improve the quality of the
software.
Therefore, due to the proper designing of the software according to the scenario
i.e. Insurance company software, I think software quality has increased and it
will not have problem in future for developing the software and ensures the
quality of the software. The insurance company software would be useful for the
clients, admins and also agents for the long period of time because the software
can be update time to time due to which different new policies, offers and
features can be added in the software. Thus, in short, it is sure that use of
function design paradigm in the software development lifecycle can help
improve software quality. It helps in the development of an application
effectively and also helps to solve the problem which can be occurred in an
application.
Conclusion
In this part, I have firstly explained about stakeholders. It is a party that has an
interest in a company and can either affect or be affected by the business. Also I
have explained different stakeholders which includes BOD, clients, investors.
etc. After that I have wrote the different requirement of the clients in the
software of insurance company and describe the specification of scope. Project
scope can be defined as the part of project planning which involves determining
and documenting a list of specific project goals, features, tasks and ultimately
costs. Also I have described the input, output, process and process descriptor. In
the same way, I have explained consideration of alternative solution, security
consideration, use of quality assurance, identification of different constraints
which includes cost, organizational policy, legacy system and hardware
Part: 4
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.
4. Present justifications of how data driven software can improve the reliability
and effectiveness of the software.
Introduction
In this part, firstly we have to prepare a documentation that explains how user
and software requirements have been addressed. Also we have to tabulate with
the columns that has the expected client requirements and the actual output of
the product to be developed after the appropriate analysis. After that we have
to explain the different software specification methods and also 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. We should also include flowcharts, pseudo code and formal
specification methods. After that we should differentiate between a finite state
machine and an extended finite state providing an application for both. Finally,
we have to present a justification of how data driven software can improve the
reliability and effectiveness of the software.
System requirements are specially made for the software development team
who need to understand how to practically meet a user requirements using
available technologies. It tells what system should have to be able to run the
program. They are more important to discipline the smart-ass team members so
everyone’s working on the same plan and to keep those arrogant head clear so
they know where they are. It also plays a vital role while developing an
application successfully and effectively. Without making an application, it is
most important to make a proper and clear system requirement so that a
software development team can develop an application without any difficulties.
In short, if we compare the user and system requirements with the example of
real life, user requirements are for grandma to read while system requirements
are for college mates in computer science classes to read.
In this above table, I have shown the expected client requirement and the actual
output in the software. Both the expected client requirement and actual output
is almost same because while developing an application, I have collected the
requirement from clients as well as users too. I have make this application
considering their every requirement and solve every bugs after the feedback
from the users and clients. There is every features and services which the users
and clients needed in the insurance company software like premium payment,
advance payment, enable to see the users’ current status, new policies and
offers, etc. Thus, this software is liked by every users and clients.
There are different software specification methods which are given below:
1. Flow chart
A flowchart is a diagram that depicts a process, system or computer
algorithm [ CITATION Wha18 \l 1033 ]. It is used in various fields to study,
record, improve and plan on some topic in clear and easy to understand
topic. It is also a powerful business tools. With the help of proper use of flow
chart, a businessman can increase their business. Flow chart can be useful
in business, marketing, engineer, students, manufacturing, etc. It has its
different types like document flowchart, system flowchart, data flowchart,
etc. The most common flowchart symbols which are used more in
comparative to other are as follows: -
Terminator
Process
Document
Decision
Data
Database
Flow Arrow
Predefined process
On-page connector/
reference
The flow chart of the insurance company software according to our scenario is
given below:
In the above diagram, I have shown the flowchart of the insurance company
software. I have started this flowchart with start. After that I have the admin,
user or agent of the company should login into the software. Since there is
validation of data, if the email and password is entered correct then it goes to
the dashboard otherwise return to the login page. After that there is a selection
among admin, agent and user. A person using software should choose one
option among that three. After that there is different kinds of entities such as
policies, payments and exchanging the foreign currency which can be used by
user and maintains and control by the admin. Moreover, after that, a person
should use the software effectively. Also in the dashboard, there is an option
called ‘logout’ from which he can sign out from the software. If the person uses
software recently, then he has to create his account from the software which is
also shown in the above flowchart.
2. Pseudo code
Pseudocode (pronounced SOO-doh-kohd) is a detailed yet readable
description of what a computer program or algorithm must do, expressed in
a formally-styled natural language rather than in a programming
language[ CITATION Rou191 \l 1033 ]. It allows designers or lead
programmers to express the design in great detail and also provides
programmers a detailed template for the next step of writing code in a
specific programming language. It is also used in conjunction with computer
aided software engineering based methodologies. The main purpose of
using pseudocode is that it is easier for people to understand than
conventional programming language code and that it is an efficient and
environment-independent description of the key principles of an algorithm.
The pseudocode also helps to create an outline or a rough draft of a
program. It summarizes a program’s flow but excludes underlying details.
Also it is used in planning an algorithm with sketching out the structure of
the programs before the actual coding takes places. Some of the benefits of
pseudocode are given below:
i. It enables the programmers to concentrate only on the algorithm part of
the code development.
ii. It is understood by the programmers of all types.
The pseudo code for the insurance company software according to our
scenario is given below:
Valid_input_password = true;
If (Logged_in = true) {
writeIn (“you have been logged in successfully”);
}
Else {
writeIn (“sorry, you have not be logged in “);
}
end
ii. To claim the insurance policy
If (Evidence = true) {
writeIn (“your claim is rewarded”);
}
Else {
writeIn (“sorry, you claim is not rewarded”);
}
If (Over_limit = true) {
writeIn (“sorry, your currency is over limit”);
}
Else {
writeIn (“your currency is successfully exchanged”);
}
If (New_policy = true) {
writeIn (“Policy changed successfully”);
}
Else {
writeIn (“Policy does not change”)
}
Logout = true;
[if log out button is not click]
Logout = false;
If (Logout = true) {
writeIn (“your account is being successfully logout”);
}
Else {
writeIn (“Welcome to dashboard”);
}
In the above, I have made the pseudo code of the insurance company software
according to our scenario. I have made pseudo code of login, log out, changing
policy, exchange currency and insurance claiming. I have shown the work flow
of software in the pseudo code when the user uses software of insurance
company. Without showing this, a user may feel confuse while using the
software. Thus, pseudo code is very important for the software.
extension and can be coded straight as with the help of specialized languages
or GUI tools. They are of two types:
i. Deterministic finite automata
ii. Nondeterministic finite state machines
T = a transition relation
Conclusion
In this task, I have firstly prepared documentation that explains how user and
software requirements have been addressed. Also I have tabulate with the
columns that has the expected client requirements and the actual output of the
product to be developed after the appropriate analysis. After that I have
explained the different software specification methods and also 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. I have also included flowcharts, pseudo code and formal specification
methods. After that I have differentiate between a finite state machine and an
extended finite state providing an application for both. Finally, I have present a
justification of how data driven software can improve the reliability and
effectiveness of the software.
Bibliography
Anon., n.d. Automation. [Online]
Available at: https://www.techopedia.com/definition/32099/automation
[Accessed 23 12 2018].