0% found this document useful (0 votes)
145 views126 pages

SDLC Assignment

bit 1st year assessment

Uploaded by

rayroshan1975
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views126 pages

SDLC Assignment

bit 1st year assessment

Uploaded by

rayroshan1975
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 126

INTERNATIONAL SCHOOL OF

MANAGEMENT –& TECHNOLOGY


ASSIGNMENT COVER SHEET

EMPLOYEE DETAILS

Employee ID Reg No.

Family Name Given Name

Enrolment Year Section

Semester Email

UNIT DETAILS

Unit Title Unit Code

Assessor Name Issued Date

Assignment
Title

Assignment No Submission
Date

Qualification Campus
EMPLOYEE ASSESSMENT SUBMISSION AND
DECLARATION

When submitting evidence for assessment, each employee must sign a declaration confirming
that the work is their own.

Student Name Assessor Name


Issue Date Submission Date
Programme
Unit Name
Assignment Title

Plagiarism

Plagiarism is a particular form of cheating. Plagiarism must be avoided at all costs and
employees who break the rules, however innocently, may be penalized. It is your responsibility
to ensure that you understand correct referencing practices. As a university level employee, you
are expected to use appropriate references throughout and keep carefully detailed notes of all
your sources of materials for material you have used in your work, including any material
downloaded from the Internet. Please consult the relevant unit lecturer or your course tutor if
you need any further advice.

Student Declaration

I certify that the assignment submission is entirely my own work and I fully understand the
consequences of plagiarism. I understand that making a false declaration is a form of
malpractice.

Student signature: Date: 2021/

Pearson Education 2018


Higher Education
Qualifications
Software Development Life Cycle 2021

Table of Contents
Introduction............................................................................................................................................5

Executive Summary...............................................................................................................................6

Software Development Life Cycle.........................................................................................................7

Stages and best practices of Outline Process......................................................................................7

Predictive Model..................................................................................................................................10

Adaptive Model....................................................................................................................................11

Sequential Software Lifecycle Models.............................................................................................12

Waterfall Model............................................................................................................................12

V-Shaped Model...........................................................................................................................14

Iterative Software Lifecycle Models................................................................................................17

Iterative Software Development Models.............................................................................................19

Agile Model.................................................................................................................................19

Spiral Model.................................................................................................................................21

Risk Mitigation.....................................................................................................................................24

Risks and Mitigation measure in each model...................................................................................26

Spiral Model.................................................................................................................................26

Spiral development supports risk management in the following way:........................................26

Major Sources of Risk in the Spiral Model..................................................................................27

Waterfall Model............................................................................................................................28

Waterfall Model supports risk management in the following way:.............................................28

The risks of this model are:..........................................................................................................28

The V-Model................................................................................................................................29

V-Model supports risk management in the following way:.........................................................29

The risks of this model are:..........................................................................................................29

Agile Model.................................................................................................................................30

Agile Model supports risk management in the following way:...................................................30

Name (HND/ Second Semester)


Software Development Life Cycle 2021

Selected Lifecycle Model for Development........................................................................................32

Merits of applying waterfall model to a large software development project.....................................34

Conclusion............................................................................................................................................38

Introduction..........................................................................................................................................40

Purpose of Feasibility Report...............................................................................................................40

Organizational Constraints...................................................................................................................45

Comparison of Technical Solution.......................................................................................................46

Conclusion............................................................................................................................................48

Introduction..........................................................................................................................................50

Feasibility Report.................................................................................................................................50

Steps of Feasibility Study.....................................................................................................................50

Component of Feasibility Report:........................................................................................................52

1. Requirements.............................................................................................................................52

2. Evaluation.................................................................................................................................52

3. Intended Audience.....................................................................................................................52

4. Technical Feasibility.................................................................................................................52

5. Economic Feasibility.................................................................................................................52

6. Legal Feasibility........................................................................................................................53

7. Operational Feasibility..............................................................................................................53

8. Scheduling Feasibility...............................................................................................................53

Impact of Feasibility Criteria on Software Investigation.....................................................................54

Economic criteria..............................................................................................................................54

Technical criteria..............................................................................................................................54

Time feasibility.................................................................................................................................54

Legal feasibility................................................................................................................................55

Operational criteria...........................................................................................................................55

Social criteria....................................................................................................................................55

Name (HND/ Second Semester)


Software Development Life Cycle 2021

Management criteria.........................................................................................................................56

Conclusion........................................................................................................................................57

Introduction..........................................................................................................................................60

Identification of Requirements.............................................................................................................61

Identification of Stakeholders Requirements...................................................................................61

Internal Stakeholders....................................................................................................................61

External Stakeholders...................................................................................................................61

Stakeholder requirements identification...........................................................................................62

Identification of System Requirements............................................................................................63

Problem Statement...............................................................................................................................63

Objective of the proposed system........................................................................................................64

Goals and Objectives of the software...............................................................................................67

Identification of Scope.....................................................................................................................67

Inputs, Outputs and Process of the System......................................................................................67

Alternate Solutions...........................................................................................................................69

Quality Assurance.............................................................................................................................69

Identification of major Constraints......................................................................................................70

Costs.................................................................................................................................................70

Organizational Policies.....................................................................................................................71

Legacy System..................................................................................................................................71

Hardware Platform...........................................................................................................................71

Conclusion............................................................................................................................................73

Introduction..........................................................................................................................................74

Data Flow Diagram (DFD)..................................................................................................................75

1. Level 0 Data flow diagram........................................................................................................76

2. Level 1 Data flow diagram........................................................................................................77

3. Level 2 Data flow diagram........................................................................................................78

Name (HND/ Second Semester)


Software Development Life Cycle 2021

ER Diagram..........................................................................................................................................79

Conclusion............................................................................................................................................81

Trace Software Requirements throughout the Software Lifecycle......................................................82

Ways to trace software requirements throughout the software lifecycle..........................................83

The Benefits of Traceability.............................................................................................................85

Technical Requirement Document.......................................................................................................85

Test Case:..........................................................................................................................................85

Approaches to improve the Software Quality......................................................................................86

Evaluating the use of function design paradigm in the SDLC.............................................................88

Improvement of software quality by functional design paradigm.......................................................89

Evaluation of Function Design paradigm in each model in improving the development software
quality...................................................................................................................................................92

Conclusion............................................................................................................................................94

Introduction..........................................................................................................................................96

Scope of Work......................................................................................................................................97

Data Collection Process.......................................................................................................................98

Recommendation................................................................................................................................100

Conclusion..........................................................................................................................................100

Different Software Specification Methods.........................................................................................101

Flow chart.......................................................................................................................................101

Pseudocode.....................................................................................................................................105

Formal Specification Methods...........................................................................................................108

Behavior Specification.......................................................................................................................108

Types of Behavioral Specification Method....................................................................................109

Finite State Machine and Extended Finite State................................................................................110

Finite State Machine.......................................................................................................................110

Extended Finite State Machine (EFSM) Model.............................................................................112

Name (HND/ Second Semester)


Software Development Life Cycle 2021

Difference between Extended Finite State Machines and Finite State Machines..........................113

Justifications on Data Driven Software to improve reliability & effectiveness of software..............113

Improvement of reliability and effectiveness by data driven software......................................114

Conclusion..........................................................................................................................................117

References..........................................................................................................................................118

Assignment Task – Part 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:

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

3. 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.

4. 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.

Name (HND/ Second Semester)


A

Report

on

Software Development Cycles


Table of Contents
Introduction............................................................................................................................................5

Executive Summary...............................................................................................................................6

Software Development Life Cycle.........................................................................................................7

Stages and best practices of Outline Process......................................................................................7

Predictive Model..................................................................................................................................10

Adaptive Model....................................................................................................................................11

Sequential Software Lifecycle Models.............................................................................................12

Waterfall Model............................................................................................................................12

V-Shaped Model...........................................................................................................................14

Iterative Software Lifecycle Models................................................................................................17

Iterative Software Development Models.............................................................................................19

Agile Model.................................................................................................................................19

Spiral Model.................................................................................................................................21

Risk Mitigation.....................................................................................................................................24

Risks and Mitigation measure in each model...................................................................................26

Spiral Model.................................................................................................................................26

Spiral development supports risk management in the following way:........................................26

Major Sources of Risk in the Spiral Model..................................................................................27

Waterfall Model............................................................................................................................28

Waterfall Model supports risk management in the following way:.............................................28

The risks of this model are:..........................................................................................................28

The V-Model................................................................................................................................29

V-Model supports risk management in the following way:.........................................................29

The risks of this model are:..........................................................................................................29

Agile Model.................................................................................................................................30

Agile Model supports risk management in the following way:...................................................30

Name (HND/ Second Semester)


Selected Lifecycle Model for Development........................................................................................32

Merits of applying waterfall model to a large software development project.....................................34

Conclusion............................................................................................................................................38

Introduction

Name (HND/ Second Semester)


As a system analyst for Chun Devi Suppliers (CDS) who has given us the contract to develop a new
system. I was given the task to do project on software development lifecycle which is used to
develop and design software. For this task, we have to give the explanation about the software
development lifecycle. We have to describe predictive and adaptive development models considering
at least two iterative and two sequential models. After describing the models of software
development lifecycle, we have to explain about how risk is managed in the spiral model. Each of
the model should consists with their phases, benefits, constraints and figure. In the same way, we
have to give the description with the example why a particular lifecycle model is selected for a
development environment.

Executive Summary

Name (HND/ Second Semester)


As I was assigned as system analyst for developing the Office Management solution for well-known
manufacturer which is predominantly operating in Nepal named Chun Devi Suppliers (CDS). As per
the requirements the system must handle the college accounting system, library management and
assignment tracking system. As a system analyst, I have to research on the software development
approach or model that can be used for developing that system considering a risk in each and every
software development model. So, in this report I will be covering two different types including
different models of software development lifecycle for developing the Office Management solution.

Software Development Life Cycle

Name (HND/ Second Semester)


SDLC or the Software Development Life Cycle is a framework that development teams use to
produce high-quality software in a systematic and cost-effective way. SDLC includes a detailed plan
for how to develop, alter, maintain, and replace a software system.

SLDC is the development process of the software and the order in which a certain amount of work is
to be complete before it goes to another stage for implemented, all software development must go
through the planning, analysis, design, implementation, testing and integration, and maintenance
phase to be considered a full development lifecycle. There are different type of method and models,
all follow the same cycle in the development process of software. The high-quality software can be
produced with the help of SDLC approach in the allocated budget and timelines. [ CITATION
div20 \l 1033 ].

Stages and best practices of Outline Process

The following the best practices and/or stages of SDLC ensures the process works in a smooth,
efficient, and productive way

1. Planning

Without the perfect plan, calculating the strengths and weaknesses of the project, development of
software is meaningless. Planning kicks off a project flawlessly and affects its progress positively. In
this stage, before developing certain software, some important things regarding the requirements and
environments must be planned so that developing the software become easier. In planning we can
consider the amount of budget, need and time that required. In this stage we also can planned about
the risks that can come in the coming future[CITATION Gor19 \l 1033 ].

Name (HND/ Second Semester)


Example: as I am system analyst. So, I and my team are going to develop the software for the Chun
Devi Suppliers (CDS). We as a team also planned about the time, budget and requirements for
developing the software

2. Define the Requirements

After planning stage, the defining stage comes. The defining stage is based on the planning.
According to planning, we define the requirements. It is done through the software requirement
specification. It consists of all the products requirement. And that product requirements must be
designed and developed.

Example: we also define the requirements like IDE tools, programming language, Programmer, UI
Designer, Database Designer, etc. which is required for the development of the software for the
Chun Devi Suppliers (CDS).

3. Design and Prototyping

Once the analysis is complete, the step of designing takes over, which is basically building the
architecture of the project. This step helps remove possible flaws by setting. In this stage, the
architecture of the software is designed. There is different model on which basis the software can be
designed according to the time, budget and requirements. It clearly defines all the architectural
modules of the product. The communication and the data flow representation with external and third-
party modules can be designed.

4. Building

The actual task of developing the software starts here with data recording going on in the
background. Once the software is developed, the stage of implementation comes in where the
product goes through a pilot study to see if it’s functioning properly. In this stage, the work of
building the software is started. In this stage we work on the coding, UI designing, database
designing.

Example: we use java for coding part, Xampp Server for database for the development of the
software for the Chun Devi Suppliers (CDS).

5. Testing

Name (HND/ Second Semester)


The testing stage assesses the software for errors and documents bugs if there are any. It is the most
important stage in which we can test the quality and the implementation of the software. in this stage,
if we got any defect in the software, the we can also easily remove the defects. We have to hire the
tester who test the software before deploying to the market.

Examples: likewise, we also hire the tester who test the software for Chun Devi Suppliers (CDS).
The software is used for the office management itself, throwing notification about employee details
etc. and the software is very good and can be deployed to the market.

6. Deployment

In the deployment phase, the application is made available to users. Many companies prefer to
automate the deployment phase. This can be as simple as a payment portal and download link on the
Chun Devi Suppliers (CDS) website. It is the last stage of the SDLC. In this stage, the software is
deployed to the market, so the user and customers can take the advantages of the software.

Examples: we also deploy the insurance software and give it to the Chun Devi Suppliers (CDS)
within the time and the budget.

7. Operations and Maintenance

Once the software passes through all the stages without any issues, it is to undergo a maintenance
process wherein it will be maintained and upgraded from time to time to adapt to changes. Almost
every software development Indian company follows all the six steps, leading to the reputation that
the country enjoys in the software market today. At this point, the development cycle is almost
finished. The application is done and being used in the field. The Operation and Maintenance phase
is still important, though. In this phase, users discover bugs that weren’t found during testing. These
errors need to be resolved, which can spawn new development cycles. In addition to bug fixes,
models like Iterative development plan additional features in future releases.

Predictive Model
Predictive modeling is a process that uses data and statistics to predict outcomes with data models.
Example: The waterfall model is an example of predictive software model.
Name (HND/ Second Semester)
Predictive model is generally termed as the Traditional Model, it is referred so because it has been in
practice for long time than other models as well as due to its inflexible design and development of
software which would be a problem in today’s modern day and age of technology where changes
may take place at any given time[ CITATION Rah20 \l 1033 ].

There are certain different stages in this model. With each stages the development of software
increases and become helpful for the next stages. The software is developed only at the last stage.
There is no way of creating the software before the last stage. At the last stages, the testing of the
software is done so that we can give the reviews to the software that the software is good or bad.

Pros of Predictive SDLC

1. It is very easy to follow the model.

2. We can easily predict the time and cost of the software.

3. We cannot find the project overruns in these approaches.

4. We easily detected the flaws in the ongoing projects like taking more time, consuming more
budgets.

5. We can easily correct the flaws in this model

Cons of Predictive SDLC

1. It cannot be used for the complex object-oriented projects.

2. It is only used for the smaller projects.

3. It only used for the projects whose requirements are already defined at initial stage.

4. It is only used for the projects whose expected results are defined.

5. It is not used for the projects whose requirements are changing.

6. It has rigidity and strictly defined projects so that it cannot be used for the long running projects.

Adaptive Model
An adaptive model is a way to display data that can evolve with changing contexts provided during
the modeling process. These models are used to predict outcomes in real-world situations where
factors determining production and consumption change, affecting the marketability of products and

Name (HND/ Second Semester)


services. They are created and used by data analysts in a number of business environments for this
purpose, this model allows the organization to not be stuck in a set of requirements before starting of
the project.

The adaptive software gives an opportunity for extensive stakeholder’s engagement before the kick
off of the projects, during and after every stage of the life of the project. Through the engagement,
the approach provides for a high degree of client collaboration with the development team since it
involves extensive interaction between the team and the client during every stage. The
communication helps the customers to understand the project stage by stage and allows them to share
their views and add requirements when needs arise. The interactions aid the development team to
completely understand the client’s vision.

It encourages the client to follow this model due its fast creating of software. In this approach, the
developer’s team and the client work together. The developers can easily make understand
everything about what going in each stage to the clients so that client can know about the further
adding of need to their software. Even the clients can share their opinion to the developer at each
stage of the development so that the developers add needed things to the software’s. In these
approaches, we can test the software at each time. At early stages we can do testing and giving
reviews so that we can remove the flaws from the software.

Pros of Adaptive SDLC

1. Adaptive SDLC entails iterative, evolutionary and incremental methodologies which offer
flexible guidelines and easy flow of work.
2. Methodologies such as Agile are efficient in nature and enhance team collaboration. Short
feedback loops lead to quick adaptation to changing requirements.
3. Reduces potential vulnerabilities and bugs at the deployment stage as the application is
frequently tested while in the development phase.
4. It focuses on delivering high quality applications while maintaining technical excellence.
5. Encourages different teams to work together on a project, increasing face-to-face interactions
and building better work environments.

Cons of Adaptive SDLC

1. It demands for extensive client/user involvement throughout the SDLC.

Name (HND/ Second Semester)


2. Various teams have to work together continuously while working with adaptive SDLCs, and
this involves numerous interactions. Continuous communication between teams can be time
consuming and require more commitment.
3. Since adaptive SDLC requires close collaboration between organizations and their clients,
lack of commitment from either of the sides could impact software quality.
4. Frequent changes are adopted just in time for development which might result in less detailed
documentation.

Sequential Software Lifecycle Models

Waterfall Model
Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure
success of the project. In “The Waterfall" approach, the whole process of software development is
divided into separate phases. In this Waterfall model, typically, the outcome of one phase acts as the
input for the next phase sequentially. The phases of waterfall model are Conception, initiation,
analysis, design, manufacturing, testing and maintenance. It is used to move from one stage to
another in sequential order. When requirements are completed, one proceeds to design. The software
in question is designed and a plan drawn to performers (coders) to further this design should be a
plan for implementing the requirements given. The design is completed; the implementation of this
design is made coders. In the later stages of this implementation phase, separate software
components created combined to introduce new functionality and reduce risk by removing errors.

The sequential phases in waterfall model are:

1) Requirements

Name (HND/ Second Semester)


We collect requirements from the end-user by consultation. We analyze the requirements in terms of
their credibility and ability to include them in the system. We carried out the report specification on
the next stage of the model

2) Design

We prepare the System design on the basis of the report. It helps in determining the hardware and
system requirements. It determines system architecture. We serve the system design specifications as
input for the next stage of the model

3) Development

Development is the third phase of waterfall method, in this phase small programs called units are
developed. This is then later tested separated for testing. In this stage we do coding and programming
to create software in a certain IDE as required according to the need of the client.

4) Integration and Testing

In this stage we integrate the software into different parts and then we test each part for the removing
the flaws and defects in the application.

5) Maintenance

In this stage we do maintenance of the software so that further defect and flaws can be removed so
that no a problem will arise in the future.

Advantages of Waterfall Model

Some of the advantages of following model Waterfall are mentioned below:

1. Easy for both customer and project member to comprehend and execute.
2. Early detection of errors / bugs is ensured at the end of each phase.
3. Not every member of the team is needed at the same time, i.e. if designers design a system on
a project then developers can work with another project and start the project only after the
design phase is completed.

Since each method is well documented, it makes working with distinct teams simple. Maintaining a
system will also be much easier due to the project's good documentation.

Disadvantages of Waterfall Model

Name (HND/ Second Semester)


Some of the drawbacks of following Waterfall model are listed below:

1. Prototypes of the system is not developed in initial phase which leads to high amount of risk
and uncertainty.
2. This model is not convenient for project where the requirements are not fixed.
3. Takes longer than other models as any phase is done only after completing the previous
phase.

Application of waterfall model

Waterfall model has own peculiar features and approach for the software development process. The
various circumstances where waterfall model is applied are listed below:

1. Suitable for the projects where requirements are very well documented, clear and fixed.
2. Useful when the products definition is stable.
3. Resources are plentiful and expertise are available to support the product.
4. Suitable for projects that can be completed in short time period.
5. Helpful when technology is not dynamic but are understood.

V-Shaped Model
V Model is a highly disciplined SDLC model in which there is a testing phase parallel to each
development phase. The V model is an extension of the waterfall model in which testing is done on
each stage parallel with development in a sequential way. It is known as the Validation or
Verification Model[CITATION tut \l 1033 ].

Name (HND/ Second Semester)


Phases of V-Model

Following are the Verification phases in V-Model:

1) Business requirement analysis

This is the first step in the development cycle to understand the product requirements from the
customer's perspective. In this step, you communicate in detail with your customers and understand
their expectations and exact requirements. The business requirements can be used as input for the
acceptance test, so at this point the acceptance test plan is done.

2) Validation Phases

Unit tests are code-level tests that help to eliminate errors at an early stage, but you can't find all the
defects in unit tests. Integration test is performed to check the coexistence and communication of
internal modules in the system. System tests check the general functionality of the system,
compatibility issues with software and hardware, and the connection between the developed and
external systems. Acceptance testing shows the problems of compatibility with other devices in the
user environment. It also finds non-functional problems in the real user environment, such as load
and performance defects.

When to use V Model?

Name (HND/ Second Semester)


V model is applicable when:

1. There are well defined requirements.


2. There are well defined acceptance criteria.
3. There is short or medium Project.
4. There are static Technology and tools.

Advantage of V Model

1. Development and progress are done in and systematic way


2. It works well for smaller to medium consistency of requirements
3. Simple and easy to use and understand
4. It is very easy to manage because each found phase has good objective

Disadvantages of V Model

1. It is not suitable for highly bigger and organized complex projects


2. It is not suitable if there are no sized projects

3. Products cannot be delivered quick.


4. There is no availability of risk analysis early stage due to which there are lots of error

Application of V-Model

Some of the favorable situations where V-model are used are listed below:

1. For short projects where requirements are clear.


2. When ample resources are available with technical expertise.
3. Suitable when product definition is stable.
4. Useful when tasks are well understood by team and technology is not dynamic.

Iterative Software Lifecycle Models


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

Name (HND/ Second Semester)


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.[CITATION tut \l 1033 ].

The pictures of the Iterative and Incremental model follow:

In my words, the iterative model the way of developing software in which we can design complex
software. in this model we can even add delete any required things even after the software is
developed. At each iteration we can made design modification and we can add new functional
capabilities. In this model, the software is developed through repeated cycles and in smaller portion
at a time. As given in figure above, the initialization, planning, requirements, design,
implementation, verification, evaluation planning and deployment are repeating and channelizing

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:

Name (HND/ Second Semester)


1. The overall system requirements are clearly defined and understood.
2. Major requirements must be defined; however, some functionalities or requested
enhancements may evolve with time.
3. There is a time to the market constraint.
4. A new technology is being used and is being learnt by the development team while working
on the project.
5. Resources with needed skill sets are not available and are planned to be used on contract
basis for specific iterations.
6. There are some high-risk features and goals which may change in the future.

Model Pros and Cons

The following table shows the advantages and disadvantages of the iterative SDLC model.

Pros

1. Reduce cost of changing volume / requirements.


2. Testing and debugging are simple during small iterations.
3. Simplify risk management by identifying and eliminating risks during iterations. First high-
risk parts are performed.
4. The issues, problems, and risks identified for each increment can be used for the next
increment.

Cons

1. System architecture or design problems may occur because not all specifications are met at
the start of the whole life cycle.
2. Not appropriate for smaller projects. The complexity of management is more.
3. Highly qualified resources for risk analysis are needed.
4. Project progress depends heavily on the stage of risk analysis.

Iterative Software Development Models

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

Name (HND/ Second Semester)


Methods break the product into small incremental builds, agile believes that every project are to be
handled differently and has a different set method which better suit the requirement. It focuses on the
better results. It is flexible. It is fast. It helps to improve the quality of software. It uses tools like
Scrum and extreme programming. The iterative and incremental process combine to become agile
model. It is used to develop and design the working software rapidly. In this model, the product is
broken down into the incremental builds.

There is duration of one to three weeks for each iteration. The process of the agile method is listed
below:

Agile Methodologies:

The agile methodologies are Rational Unified Process, Scrum, Crystal Clear, Extreme Programming,
Adaptive Software Development, Feature driven Development and dynamic system development
Method.

Advantages of Agile model

Name (HND/ Second Semester)


1. Management is easy.
2. Developers becomes flexible to the work.
3. The planning process is very little.
4. It enables the concurrent development and deployment of the products.
5. There is very less rules and regulation and documentations.
6. Functionality is developed rapidly and demonstrated.
7. It promotes the team work and cross training. Realistic approach is provided.

Disadvantages of Agile model

1. There is no suitability of handling complex dependencies.


2. Sustainability, maintainability and extensibility risks occurs in this model.
3. There is lack of documentation.
4. Dependent on individuals is must
5. The documentation generation is minimum.
6. The scope is dictated by the strict delivery, functionality to be delivered and the adjustments
to meet the deadlines.

Application of Agile model

The agile model is used for the situations below with the availability of its flexibility, adaptability
and other features:

1. To implement new changes that are mandatory as new changes can be implemented at very
little cost
2. For implanting a new feature where developers need to lose only the work of few days to roll
back and implement it.
3. To give customer the finished system with what they need as changes can be responded easily
due to customer collaboration principle.
4. To continue to project for long term without fear of being sudden standstill.

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

Name (HND/ Second Semester)


The spiral model, also known as the spiral lifecycle model, is a systems development lifecycle
(SDLC) model used in information technology (IT). This model of development combines the
features of the prototyping model and the waterfall model. The spiral model is favored for large,
expensive, and complicated projects.

In this Spiral SDLC model the spiral is divided into four quadrants which is also shown in above
snapshot these quadrants serve their own separate purpose in the spiral. The first quadrant
determines the objectives and requirements are gathered from client and then is analyzed, identified.
Completion of above phase is when the spiral moves to the second quadrant where we identify the
and resolve them, here we identify all the possible solutions to the risks associated this solution them
again cycles the second quadrant for further risk analysis and further association, similarly the third
quadrant then develops the product after proper identification of features and verification of other
changes alongside the development of the future version. Lastly, the fourth quadrant is the review
and planning phase of next iteration which oversees and review/maintain the current version of
software as well as planning of next version is done in this phase.

Different phases of the Spiral model

Name (HND/ Second Semester)


Phase Objectives

Defining concept This is the first stage. In this stage, the value is created
to users. In these stages feedbacks are gathered. It helps
to understand about the features which are most
important to the users. In this stage, the analysis about
features and requirements are done. It helps us to
understand the potential increment at the end of the
iteration.

Inception stage This is the second stage in which the main conception
and initial architecture vision is determined. Then the
first iteration is planned. then we send the critical
requirements to the top of the list. The required
requirements for the functionality is asked with the
developers. The modeling and prototyping solution is
included to make a more accurate estimate

Design Stage This is the third stage in which the software functionality
and feature are described in detail

Construction of iteration and This is the fourth stage in which high-quality working
testing software is delivered in priority order which was created
in accordance with changing needs of our potential users.

Installation stage This is the fifth stage in which the latest


application and development changes into production
according to the mechanism

Post production/ maintenance This is the sixth stage in which the software is
stage maintained after their development so that no more flaws
and defect can be detected in the coming future

Advantages of spiral model


1. We can analyze risks in this model
2. It is very helpful in big projects.

Name (HND/ Second Semester)


3. The early delivery of the software is applicable.
4. Required things can be added at the last stages also.
5. It is controlled by the strong documentation.

Disadvantages of spiral model


1. It consumes high costs
2. It consumes large timelines.
3. For the analysis of the risk.
4. High experts are required.
5. The project success is highly dependent due to risk analysis.
6. It is not used for the small projects.

Application of spiral model

Spiral model is used widely for the development of software as it minimizes risks and provides space
for customers feedback as well. The typical uses of spiral model are pointed below:

1. Useful when cost and risk evaluation is mandatory.


2. Suitable for medium to high-risk projects.
3. Long term projects where requirements are not clear.
4. Beneficial when significant changes are expected.
5. Suitable when creation of prototype is applicable.

Risk Mitigation
The risk management mainly includes risk assessment and risk control. In risk assessment, different
risks present in the software are identified, analyzed and prioritized and in risk control, various
strategies are planned, those strategies are implemented to resolve the risks and complete control is
gained in software development. The spiral model deals with the potential risks that cause
obstruction in software development through assessment and control[ CITATION Muh14 \l 1033 ].

Name (HND/ Second Semester)


Risk assessment

Risk assessment is the first process or risk methodology which is used to determine the extent of the
potential threats and risks associated in software development. The three different steps involved in
the risk assessment used by the spiral method are described below:

1. Risks Identification:

Various risks and threats that are present and can appear in near future are identified in this process.
The spiral model primarily identifies and enumerates all the potential risks that can cause failure in
software development. Various risks related to cost, technologies, manpower and resources are
identified by the spiral model which are needed to be dealt for successful completion of the product.

2. Risk Analysis:

After the identification of all the possible risks that can create failure in software development, their
consequences and effects are thoroughly analyzed by the spiral model. The characteristics of the
software and risks are analyzed which help to formulate and implement various measures to resolve
those risks.

3. Risks Prioritization:

Name (HND/ Second Semester)


Various risks are involved during the development of the software which can cause failure and
results in development of poor-quality product. After the proper analysis of the risks, spiral model
prioritizes those risks, focusing their effects and consequences on successful completion of the
quality software. The risks with the higher priority are tackled primarily and risks with lower priority
are resolved later. Different time frame and strategies are set for the different risks according to their
priority.

Risk Control

Risk control is the process of preventing the risks and their effects in the development of the quality
software. It involves proper formulation of plan and strategies and applying them to solve the
various risks involved gaining full control over the software development. The three different
processes involved in risk control that are applied by the spiral method is described below:

1. Planning:

Planning involves formulation of various techniques and strategies which are implemented later to
solve the possible threats and risks that are applied during software development. After the proper
identification, analysis and prioritization of the risks, different strategies are developed accordingly
to solve those risks in spiral model.

2. Resolve:

After the proper assessment of risks and formulation of the different strategies, the developed
strategies are put into actions to resolve the risks. The different risks are resolved using the available
resources. The spiral model mitigates the risks that can cause software failure focusing on present
and future status.

3. Control:

When all the potential risks and threats present in the software are completely eliminated, the
software developer team can have complete control over the product so formed. The different phases
of spiral model can be carried out without any bugs and problems that help to address the needs and
requirements of the clients. The developed product can be used to carry out the pre-defined tasks
which enables users to have full control over the product.

Name (HND/ Second Semester)


Risks and Mitigation measure in each model

Spiral Model
It assesses the hazards of determining the risks to be managed through each cycle. In addition, this
classification enables designers to implement methods such as prototyping and benchmarking for
risk resolution. Major Risk Sources in the Spiral Model Despite its risk-driven nature, spiral has its
own risk sources that are summarized as follows:

Spiral development supports risk management in the following way:


1. The initial risk analysis that acts as a look-ahead step and aims at:

 Identifying most risks threaten the project.

 Classifying risks into user interface risks and development risks

 Evaluate these risks to decide upon the risks to handle through each cycle. Moreover, this
classification helps developers in implementing risk resolution techniques such as
prototyping and benchmarking.

2. The evolutionary prototyping spirals that aim at resolving performance and user interface related
risks. These spirals help in reducing major risks before proceeding into the development process.

3. The risk analysis stage at each cycle that precedes each phase of the waterfall phases in purpose
of:

 Resolving program development and interface control risks inherent from the start of the
project.

 Evaluating and resolving the new risks that might arise after changing any of the objectives,
alternatives, or constraints at the beginning of the cycle.

4. The iterative feature of the spiral which allows the development process to go back to the first
quadrant at any point in progress which allows:

 Objectives, alternatives and constraints to change as more attractive alternatives exist.

 New technology to be incorporated easily during the development process.

 The maximum optimization of project resources usage.

 To deal with poorly done activities in the earlier phases.

5. The review conducted at the end of each cycle with main stakeholders as a decision point to
avoid the lack of commitment risks during the next cycle.

Name (HND/ Second Semester)


6. Time and cost overrun risks are best managed using spiral development due to the risk analysis
stage conducted at each cycle. In this stage, the cost and time required for each cycle are
analyzed in advance to give a clear picture about the critical state of the project. This helps the
project manager and the developers get more control over these risks.

7. Risks related to the increased complexity of the project are also managed using spiral. This is
achieved by the partitioning activity conducted at the planning phase.

8. Decomposing the project into portions to be developed in parallel spirals obviously reduces time
contention related risks, since more work could be achieved during the same interval.

Major Sources of Risk in the Spiral Model


Despite its risk driven nature, spiral has its own sources of risks which are summarized in the
following:

1. High reliance on the human factor

All the activities related to identifying, analyzing, and resolving risks rely on the experience of
developers and their abilities in identifying and managing risks. If these abilities are unavailable,
major risks might remain hidden for several lifecycles and discovered late when it matured into real
problems. At that time, the cost of rework to recover from these risks becomes very high.

2. Detailed risk management process

Cost and schedule risks might increase using spiral due to its iterative feature, especially for low-risk
projects wherein risk assessment is not required to be at this level of granularity. Because of the risk
analysis phase performed at each cycle, time and cost overrun risks are best managed using spiral
development. The price and time needed for each cycle are evaluated in advance at this point to
provide a clear image of the project's critical state. This helps project managers and developers to
gain greater control over these hazards[ CITATION Han12 \l 1033 ].

Waterfall Model
The development of waterfalls has been proposed to avoid the risks associated with coding and
correction methods by including requirements and analysis steps before the coding step. The SDLC
V model has been proposed to reduce the risks found in waterfall models.

Waterfall Model supports risk management in the following way:


Waterfall development was proposed to avoid the risks introduced by the code and fix technique by
inserting the requirements and analysis stages before the coding stage. This ensures that user

Name (HND/ Second Semester)


requirements are clearly defined in advance, thus, reduces the time and effort wasted on several
iterations of code and fix. In order to avoid the risks of the operational constraints, Royce suggested
a preliminary design phase to be inserted between the requirements phase and analysis phase in order
to impose constraints on the analysts. This is properly accomplished by the iterative loop between the
preliminary design and the analysis stages until a satisfactory preliminary design is
reached[ CITATION Han12 \l 1033 ].

The risks of this model are:


1. Continuous requirements change

The major risk factor threatens the waterfall projects is the continuous requirements change during
the development process. The waterfall model cannot accommodate with these changes due to its
strict structure. The waterfall model requires that all requirements be clearly defined in advance in
the requirements stage in order to guarantee that no change could appear later on during the
development process.
2. No overlapping between stages

Another source of risk in the waterfall model is that it requires each stage to be completed entirely
before proceeding into the subsequent phase. In other words, it does not allow overlapping between
stages. Obviously, this will waste time, cost and other resources, since the stages in the waterfall
model are relatively long. Hence, most team members who are responsible for specific stages will
spend most of their time waiting for other stages to complete so that they can start doing their work.

3. Poor quality assurance

Lack of quality assurance during the different phases of the development process is another source of
risk. Validating the product is restricted to a single testing phase lately in the development process.
Hence, the testing phase in the waterfall model is the highest risky phase, since it is the last stage
wherein the system is put as a subject for testing. Thus, all problems, bugs, and risks are discovered
too late when the recovering from these problems requires large rework which consumes time, cost,
and effort.

4. Relatively long stages

Another source of risk in this model resides in the relatively long stages, which makes it difficult to
estimate, time, cost, and other resources required to complete each stage successfully. Additionally,
in the waterfall model, there is no working product until late in the development process when the

Name (HND/ Second Semester)


product is almost complete and any change is impossible. To make things worse; imagine if the
product failed to meet users’ expectations.

The V-Model
Another version of the waterfall model that emerged to address this risk is V- Model. It is a test-
oriented software development process important for both development and testing. In the
symmetrical form, you can start the test process early in the development process and adapt to the
various stages.

V-Model supports risk management in the following way:


As discussed before, one of the major risk factors threaten the waterfall model is the poor verification
and validation methods, which are restricted to a single testing phase conducted lately in the
development process. Another variant of the waterfall model that came out to deal with this risk is
the V-model. The V-model is a testing focused software development process. It gives equal
importance to both development and testing. Its symmetrical shape allows the testing process to start
early at the development process, and to be aligned with its different phases. This could be achieved
by designing test plans and test cases during each development phase prior to the actual testing. This
allows requirements and designs to be verified easily during the corresponding testing
phases[ CITATION tut1 \l 1033 ].

The risks of this model are:


V-Model is widely accepted development lifecycle for software development. It is best model for test
driven software development. Each phase of V -Model have two objectives. One is Validation, and
second is Verification. Validation refers to requirements analysis and verification refers to evaluation
of requirements at each phase with respect to validation. We assume validation as identification of
risks and validation as monitoring or evaluation of risks. We have seven phases of risk assessment
each phase of risk assessment, V -Model shows identification and evaluation of risks at start and end
respectively[ CITATION tut1 \l 1033 ].

1. High risk and uncertainty.


2. It is not a good for complex and object-oriented projects.
3. It is not suitable for projects where requirements are not clear and contains high risk of
changing.
4. This model does not support iteration of phases.
5. It does not easily handle concurrent events.

Name (HND/ Second Semester)


Agile Model
Agile development is ideal for software projects without structured plans and adaptive functionality
features that require formal implementation of minimal planning tasks. Agile development relies on
automated test cases, reducing the risk of delivering software with errors. In this way, the software is
tested on each release and, if an error is found errors are solved. Agile represents a flexible response
to change. This is due to an incremental and iterative approach to adaptation. So, as soon as the first
software release is created, changes to the requirements are detected, allowing the project to quickly
adapt to these changes.

Agile Model supports risk management in the following way:


The main point that the agile focuses on is the close, Informal communication between the different
system stakeholders including the developers and the customer representative. Indeed, in agile, this
communication is the source of planning, requirements, identifying risks, feedback, and changes.
Building upon the literature, we can say that there are two contrasting views regarding risk
management in the agile context. The first claims that agile is an inherent risk driven approach and
implicitly supports risk management by nature. The proponents believe that there is no need to
enhance risk management in these projects. In contrast, the second believes that the risk management
state in agile does not differ significantly from other traditional models and that risk management
should be enhanced in agile to compensate for the lack of risk management in the agile projects. The
advocates to the second view believe in that in some situations the inherent risk management driven
nature of the agile is insufficient. Agile development fits software projects which lack structured
planning, due to its adaptive planning feature which requires minimal planning activities be
conducted formally. Using agile development, the risk of delivering software that contains bugs will
be reduced due to its reliance on automated test cases. Thus, the software is tested at each release,
and retested again if a bug was discovered to make sure that it has been eliminated.

Major Sources of Risk in the Agile Development

In spite of the assertions it makes regarding managing risks, the agile development lacks for any
detailed suggestions for managing these risks. Thus, many sources of risks will be left unhandled.
The following are the major sources of risk in the agile development:

1. Very large software system

Name (HND/ Second Semester)


The inherent risk management in agile development is not sufficient for large, complex software
systems, since the resulting increments would be relatively large. This would increase the time span
between increments, and thus require a higher cost to deal with changes and bugs if discovered.

2. Large development team

It is not suitable for large teams, since managing the communication between their members would
be much more difficult.

3. High reliance on human factor

It relies entirely on the experience of the development team and their abilities to communicate
successfully with customers. If the project misses these conditions, then the failure is an inevitable
issue.

4. Inappropriate customer representative

The unavailability of an appropriate customer representative is another risk factor. Actually, this
factor influences the development process as much as team members’ factor.

5. Distributed development environment

This approach is not suitable for developing software projects in distributed environment, since it
requires a close face to face interaction communication between the development team. Else, other
communication methods such as video conferencing should be held at daily basis.

6. Scope creep

Another important risk factor is the scope creep, this usually happens due to the minimal planning
conducted in this methodology which causes developers to become distracted from the project main
objectives. As a result, the project will enlarge, become more complex, and finally the project will
overrun.

Selected Lifecycle Model for Development


As I am the system analyst of Chun Devi Suppliers (CDS). We IT team is given a project of
developing the new software for the Chun Devi Suppliers (CDS) which help in selling the services
such as the buying product in the international markets including the addition of the fluctuation of
the different currencies in the new system. So, for making the software, a certain SDLC model is
required. It is the big project of many users. So, the agile model is the best for this project because it
is iterative and usually used for the large project. The more detail about the agile model is listed
below.

Name (HND/ Second Semester)


Agile model is a software development model which is based on the incremental and iterative
development approach. It helps programmers and developers in creating customized software as per
customer requirements. Any changes in the requirements are incorporated during the software
lifecycle. It focuses on the needs of the people. It focuses on the better results. It is flexible. It is fast.
It helps to improve the quality of software. It uses tools like Scrum and extreme programming.

Agile model is a software development model which is based on the incremental and iterative
development approach. It helps programmers and developers in creating customized software as per
customer requirements. Any changes in the requirements are incorporated during the software
lifecycle. It focuses on the needs of the people. It focuses on the better results. It is flexible. It is fast.
It helps to improve the quality of software. It uses tools like Scrum and extreme programming.

The iterative and incremental process combine to become agile model. It is used to develop and
design the working software rapidly. In this model, the product is broken down into the incremental
builds.

Name (HND/ Second Semester)


Merits of applying waterfall model to a large software development project

Name (HND/ Second Semester)


Waterfall model is a traditional SDLC model that is still in use during software development. This
was one of the most famous software models because of its simplicity and easy to use and
understand applicable model. Waterfall model is a part of sequential model which means unless a
part is completed the next step is not followed out, with this approach we can divide these into four
different phases and these phases acts out as key to move on to another phase. So, the detail
assessment of the merits of the applying the waterfall model are given below.

Waterfall model

The waterfall model's simple design makes it a common and simple project management method to
adapt. Any team, regardless of size, should keep track of a project's progress and assign value to each
member's contributions. Since, the waterfall model was originated from the manufacturing and
construction industries where progressive movement of a project is linear. That’s why there’s no
overlap in the work phases of the waterfall model; e.g.: you need to finish a car’s frame before you
can start bolting on the body. The waterfall model is best suited to projects that need a well-defined
framework. It's also a great tool for managing large groups because it's simple to figure out what
stage of progress the project is in. This also makes planning projects a lot simpler.

Name (HND/ Second Semester)


Moreover, using the waterfall model for routine tasks with well-defined processes will ensure that
you and your team stay on track. If we had chosen to use the waterfall model as your project
management approach, the next step is to find the best tools to put it into practice. Gantt charts,
which are a type of Waterfall, are available in several common project management tools. This
includes Wrike and Asana, which both have a built-in Gantt map, as well as Trello and Jira, which
provide it through third-party integration. The waterfall model is a linear project technique, as the
name suggests. The model's sequential phases are all dependent on the previous phase's deliverables.
Only by building on the output of the previous phase will work advance into the next phase. The
waterfall model was developed in the manufacturing and construction industries, where project
progression is linear. That's why the waterfall model's work phases don't overlap a car's frame must
be completed before the body can be bolted on.

At last, the waterfall model's simple design makes it a common and simple project management
method to adapt. Any team, regardless of size, should keep track of a project's progress and assign
value to each member's contributions. As a result, one of the oldest and most commonly used
software development life cycle models is the waterfall model

The merits of using the waterfall model for large software development of the Chun Devi Suppliers
(CDS) that require the stringent stages and deadline are highlighted below:

1. Uses clear structure:

Waterfall model prioritize on well-defined and clear steps for the development of the software. For a
large project of the Chun Devi Suppliers (CDS) to keep the records of international customers,
products and services, following the step-by-step process makes it easier to achieve the desired
outputs. The structure of the model is simple and easy which undergoes the following steps:

1. Requirement gathering and documentation


2. System design
3. Implementation
4. Testing
5. Deployment
6. Maintenance

Following those above steps, a complete polished project that can meet the requirements and
objectives of the Chun Devi Suppliers (CDS) is obtained at the end.

Name (HND/ Second Semester)


2. Adapts to shifting teams:

The availability of upfront planning and documentation phase in waterfall model allows the large
software development project of Chun Devi Suppliers (CDS) to maintain a detailed, robust scope
and designed structure. A large number of members are involved and teams are formed for
developing the large project. Throughout the lifecycle, many members join and leave the team but
there is no burden on any individual or new members since the burden of design is completely
placed on core documentation and less on any individual members of the team.

3. Forces structured organization:

Waterfall model is very strict and disciplined model. It follows top-bottom approach where each
phase must be completed in order to begin the next phase. The output of the previous phase acts as
an input for the next phase. Thus, systematic and disciplined structure and design is formed.
Similarly, detailed procedures to manage every aspect from design, development to testing and
implementation are indulged in the model that makes easier for users to use the developed software
of the Chun Devi Suppliers (CDS) and keep it safe for developers for future reference.

4. Allows for early design changes:

In waterfall model, all the requirements and needs necessary before the development of the large
project are enumerated preliminarily. It helps the developers to completely focus on those needs and
develop the software as per those requirements. This model also help to make alternations in early
phase without any efforts as no coding and implementation takes place in early phase. This saves
considerable time and efforts and produce a stable and reliable software. Thus, a reliable and quality
software that addresses the needs of the Chun Devi Suppliers (CDS) can be developed.

5. Suited for milestone focused development:

Waterfall model is very efficient and convenient for the large software development as it is easy to
use and cost efficient, it allows team to monitor and manage the projects easily. When all the needs
and requirements are well understood, the project can be dividing into reasonable milestones among
the team. Similarly, due to the inherent or linear structure of waterfall model, team can work under a
date-focused paradigm to achieve the desired outputs in each phase and proceed to the next phase. It
helps to complete the large project of the Chun Devi Suppliers (CDS) in set out period fulfilling all
the pre-defined goals.

6. Good quality and cost efficient:

Name (HND/ Second Semester)


In waterfall model, when all the requirements are gathered, the project is divided among the team
members to complete them in set time line. Working together in team makes it easier to identify the
flaws and errors in the project and resolve them in no time which helps to develop a quality and
standard software in the end. Moreover, fixing all the flaws and bugs in the software in earlier stage
is far less costly than fixing in the later stage. For example, it is easier to correct the problems in
design phase than in testing phase which saves remarkable time, efforts and cost. Thus, a quality
software can be developed addressing all the requirements of the Chun Devi Suppliers (CDS) on
time.

Conclusion
This SDLC's framework is explicitly designed to increase the chances of a successful software
development effort. During each SDLC phase of a project's execution, the project manager must
define and track control objectives. Control goals should be used in the SDLC process to provide a

Name (HND/ Second Semester)


consistent statement of the desired outcome or intent. We use Agile paradigms for all our projects
and constantly deliver outstanding results. By selecting and strictly following the life cycle model of
software development as per project demands, the process is operated efficiently and helps to satisfy
or exceed user expectations, improving quality and shortening manufacturing time. Thus, we have
discussed and evaluated various software development lifecycle models and finally chosen the Agile
model to build the software for the Chun Devi Suppliers (CDS).

Assignment Task – Part 2

Name (HND/ Second Semester)


1. You are required to produce a documentation that explains the purpose of the
feasibility report and describe how technical solutions can be compared.

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

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
Feasibility study can be described as a degree to which a project can be completed successfully is
known as feasibility. To assess feasibility, a feasibility analysis is conducted, which decides whether

Name (HND/ Second Semester)


the solution proposed to meet the specifications is feasible and implementable in software. This
involves information on resource availability, benefits of software to the organization, cost
estimation, maintenance cost and report, etc. these are essential to identify and prepare a feasibility
report.

In this task, I have explained about the feasibility, its importance and purpose in a software
development process of the Chun Devi Suppliers (CDS). Similarly, various components of the
feasibility report have been explained and various technical solutions have been compared. The
various feasibility criteria and their impacts on software investigation have. In this task, I will discuss
the components of a feasibility report with regard to the software which is needed to encounter the
needs of a Chun Devi Suppliers (CDS).

Purpose of Feasibility Report


As I am the system analyst of the Chun Devi Suppliers (CDS). We as team are going develop the
software for the Chun Devi Suppliers (CDS). Before developing the software, we have to make the
feasibility report so that what type of the market we are going to launch the software. for all the
information the feasibility report as well as the feasibility study is required. So, the purpose of the
feasibility report is discussed further below.

Feasibility studies are important to business development. They can allow a business to address
where and how it will operate. The main goal of a feasibility study is to determine whether
development is financially viable and whether it will be a success or failure. The study aims to
highlight issues and risks that a potential plot could face, such as obtaining planning permission,
dealing with the local government, evaluating existing construction supply and demand, and
determining the suitability of a location, among other things. This will help a company determine
where and how it will work. The following are the goals of feasibility studies: The aim is to learn
about the various variables involved in the proposed scheme. It investigates the market
opportunities. A feasibility study projects the success or failure of a potential business idea. The
usefulness of the study depends on the strength of the assumptions you use to create it. If the
feasibility study shows a likely failure, you can save your money for a better opportunity instead of
wasting it developing projects that never had a chance for success.

The aims of the feasibility study are to examine whether the system developed is worth
implementing and whether the system can be implemented according to the set plans, budgets and
schedule or not. The feasibility study takes the set of business requirements as inputs and produce a

Name (HND/ Second Semester)


feasibility report. The feasibility that is achieved after the detail study checks whether the system is
worth carrying further or not determining various factors and process involved in software
development.

During feasibility study, various information such as resource availability, cost estimation for
software development, benefits of the software to the organization after it is developed and cost to be
incurred on its maintenance are considered which helps to evaluate the feasibility. The objective of
feasibility study is to establish the reasons for developing the software that is acceptable to users,
adaptable to change and conformable to established standards.

Various types of feasibility such as technical feasibility, operational feasibility and economic
feasibility fall under feasibility study which serves specific purposes. The aims of those feasibilities
are explained below:

1. Technical feasibility:

Technical feasibility evaluates the current resources and technology that are mandatory to address the
needs of the users in software within the allocated cost and schedule. It analyzes the skills of the
software development team and checks whether the technology used for developing the software is
stable or not. The Chun Devi Suppliers (CDS) can easily be acquainted with the technologies used
for developing a new system that addresses the future requirements of the company with the help of
the technical feasibility report.

The technical feasibility deals with feasibility of hardware and other vital components that are
essential in order to make the new system far better than the existing one. It focuses on how the
newly introduced services and products would be applied practically.

 Objectives:

The main objective of the technical feasibility is to point out all the strengths and weakness of the
proposed system. It helps to verify that new technologies that are going to be used operate smoothly
without any hindrances.

 Activities:

The different activities performed by the technical feasibility are listed below:

Name (HND/ Second Semester)


1. Examines the capabilities of the development team members involved in developing a new
system.
2. Analyses whether the new ideas and techniques used for developing a new system are
stable and consistent or not.
3. Make sure that number of clients and their support are involved while applying a new
methodology and they can be consulted easily in case of emergence of any issues and
problems and whenever changes are mandatory.

 Findings:

The Chun Devi Suppliers (CDS) is technically feasible. It has been operating its services
predominantly in Nepal. They intend to use quality technologies for extending their services and
become an international company.

2. Operational feasibility:

Operational feasibility assess assesses the extent to which the required software performs a series of
steps to solve business problems and user requirements. This feasibility is dependent on human
resources and analyzes whether users will adapt to a new software anticipating problems and
determining the solutions suggested by development team. The report generated from operation
feasibility help the Chun Devi Suppliers (CDS) to know about the steps and activities that are
performed to develop the new system.

 Objectives:

The main objectives of the operational feasibility is to determine that whether the current system and
practices are enough to operate the new system or not. It analyses whether the new system will fulfill
the organization and customer requirements or not and determines the employee’s capability in
operating in the new system.

 Activities:

The activities related to people oriented and social issues such as employees working methodologies,
work force problems and organizational working procedures of the Chun Devi Suppliers (CDS) is
checked. It analyses whether the proposed system has sufficient organizational competence,
management expertise and resources to operate the project or not.

 Findings:

Name (HND/ Second Semester)


The Chun Devi Suppliers (CDS) is operationally feasible, as the employees possess proper
knowledge in handling the proposed system. The management expertise and resources are available
for smooth functioning of the system. The employees can easily grasp the working procedures and
functions of the new system with the availability of the friendly environment and work collectively
to achieve the company goals.

3. Economic feasibility:

Economic feasibility evaluates the cost incurred on software development, cost of performing
different studies and documentation, cost of technology, cost of development team and training. It
even determines the benefits of developing and using the software so developed. The cost and
benefits of the organization by developing a software is included in it. The Chun Devi Suppliers
(CDS) can examine the sum spent and profit and that can be gained evaluating the report generated
from the economic feasibility.

 Objectives:

The economic feasibility analyses whether the new system proposed to be developed by the Chun
Devi Suppliers (CDS) is cost feasible or not. It also analyses the total budget of the project,
estimated cost and cost benefit analysis.

 Activities:

The activities carried out by the economic feasibility are listed below:

1. Evaluates whether the newly proposed system is advantageous to the Chun Devi Suppliers
(CDS) or not in terms of financial matters.
2. Identifies the breakeven scenarios based upon different factors prioritizing cost.

 Findings:

A financial analysis was carried out and it was found out that the project is economically feasible.
The cost of hardware and software was checked and the project is expected to complete within an
estimated budget.

4. Time feasibility:

Time feasibility refers to the completion of the project in estimate time. It involves the probability of
completing the project on time as per the planned activities and scheduled routines. It marks the
initiation and completion of the time and help to complete the project on time.

Name (HND/ Second Semester)


 Objectives:

The main objective of the time feasibility is to evaluate whether or not the project can be completed
on scheduled period.

 Activities:

The time feasibility evaluates the time and analyses if the project can be completed on time or not. If
the project can be finished on time, then the work is devised and respective team members work to
complete their task within given deadline. The work division is carried oy effectively providing
accurate time for each task.

 Findings:

Since all the activities are pre planned and division of task is carried out effectively providing
sufficient task for each task, the proposed system can be developed on estimated time. There will be
no hindrances in operating the system in near future.

5. Legal feasibility:

Legal feasibility refers how well the solutions can be implemented with regards to the existing laws
and obligations. It examines whether or not the proposed system conflicts with the legal laws.
Various legal issues may arise after the successful completion of the project. The Chun Devi
Suppliers (CDS) might have to face various legal problems if the system developed does not abide
by the legal rules. For instance, data security acts must be followed sincerely before the storage of
data.

6. Social feasibility:

Social feasibility is a social impact analysis that determines whether the newly proposed system is
likely to succeed in making changes and is accepted by the society or not. It analyses the customer
satisfaction and their behavior after the introduction of the new system.

It evaluates the degree of the satisfaction targeting a specific population.

Different feasibility studies serve different purposes that are essential while developing the software.
However, the basic purposes of feasibility study that help in sound operation of the Chun Devi
Suppliers (CDS) are summarized below:

1. To analyze the proposed system encompassing various aspects so that it clarifies that how
practical and beneficial the system will be to the organization.
Name (HND/ Second Semester)
2. To identify all the necessary materials that are essential to make the business work.
3. To pinpoint logistical and other business-related problems and solutions.
4. To be acquainted whether the system is feasible to design or not.
5. Feasibility study is the pre-defined activity in SDLC that helps to evaluate the existence of
various scopes for the development of new system.

The main purpose of the feasibility report is

1. Market research
2. Cash flow
3. Income projections
4. Expansion possibilities

Organizational Constraints
Organizational constraints are defined as the aspects of the immediate work environment that inhibit
the translation of motivation and abilities into effective performance. Common examples of
constraints include insufficient information or equipment, and interruptions or inadequate help from
other people. Constraints were originally hypothesized to limit the maximal level of performance,
thus having a stronger effect on workers high in ability and motivation. Organizational constraints
are restrictions on organization freedom to make decision. For example, the time period over which
the project is expected to be achieved. Such restrictions may be impossible or impractical due to
monetary, social, environmental, technical, legal or other projects. Each organization has its own
policies to achieve its goals and objectives. The Chun Devi Suppliers (CDS) has organizational
policies made. Thus, we must sit inside the boundary that is we must follow the policies while
building the software.

Comparison of Technical Solution


The Technical Solution process area is applicable at any level of the product architecture and to
every product, product component, and product-related lifecycle process. Throughout the process
areas, where we use the terms product and product component, their intended meanings also
encompass services and their components.

As the system analyst of the Chun Devi Suppliers (CDS), I frequently have to evaluate the
technology for the next project. as we focus on the technical solutions in particular, I look for the

Name (HND/ Second Semester)


new technologies that makes our work faster and easier. So, the technical solution must be compared.
And I have used many ways of comparing the technical solution so that I can use the best technology
for my big project. The purpose of Technical Solution is to design, develop, and implement solutions
to requirements where solutions, designs, and implementations encompass products, product
components, and product-related lifecycle processes either singly or in combination as appropriate.
Different factors are involved that compare how well the technical solutions have been implemented
to develop a new system and meet the needs of the company. The various factors that help to
compare the applied technical solutions to develop the new system of the Chun Devi Suppliers
(CDS) are described below:

Some ways of comparing the technical solution are listed below:

1. Fitness:

This tells us that we must check the problems, weakness of the technology we are using so that we
can make them fit so that help to make our project successful. It examines whether the technology
address the problem at hand or is it being used for unintentional purposes. It minimizes the risk and
uncertainty and enables smooth operation of the system. The technical solutions applied

2. Maturity:

This tells us that the technology is changing at very fast rate. So, we must always update our
technology.

3. Provence:

We must observe the markets and companies and the ideas. We must compare the technologies the
different companies are using. We must go behind the great ideas. And if we are using the bad ideas.
We must change it.

4. Support:

We must be very careful if we are using any technologies because we must know how much support
we are getting and we will be getting in the future. We must go behind that technical solution by
using then we can get support at any time.

5. Reliability/availability/scalability:

Name (HND/ Second Semester)


We must also check the technology that how much they are reliable to the users and to the
development of the big project. how much they are available in the market. And how much they ae
scaling at the market. It involves whether the technology support the required usage volume or not.
The reliability, scalability and availability factors even determine whether the solutions applied by
the Chun Devi Suppliers (CDS) offer failover mechanism s for high availability or not. Therefore,
the technical solutions applied are reliable and scalable.

Conclusion
Feasibility study is the essential activity in the system analysis phase that helps to analyze the
proposed system and develop the software keeping in mind the various factors for not only short
term but also even for future prospective. The various factors can be used to compare the technical
solutions. Similarly, while generating the feasibility report the essential components of the feasibility
study must be well addressed. The impacts of the various feasibility criteria on software investigation
must be assessed well that provide information about the new system that are aimed to be developed
by the Chun Devi Suppliers (CDS). Thus, it is the matter of paramount importance to carry out the

Name (HND/ Second Semester)


feasibility study, generate a feasible report the meets the requirements of users, and provide a huge
benefit for the organization.

Report

on

Component of Feasibility Report:

Name (HND/ Second Semester)


Introduction
Feasibility study can be described as a degree to which a project can be completed successfully is
known as feasibility. To assess feasibility, a feasibility analysis is conducted, which decides whether
the solution proposed to meet the specifications is feasible and implementable in software. This
involves information on resource availability, benefits of software to the organization, cost
estimation, maintenance cost and report, etc. these are essential to identify and prepare a feasibility
report. Some of the objectives of feasibility report are as follows:

a. Analyze whether the software meets the organizational requirements.


b. To check if the software can be developed using current and future technology.
c. To determine whether the software can be developed within specific budget.

Name (HND/ Second Semester)


d. To check if the software compatible with legacy software and versions.

Feasibility Report
A feasibility study is an analysis that takes all of a project's relevant factors into account including
economic, technical, legal, and scheduling considerations—to ascertain the likelihood of completing
the project successfully. Feasibility studies may also provide valuable knowledge to a company's
management, preventing it from joining risky businesses blindly. Project constraints and limitations
of expenditure are among the various factors that will determine viability[CITATION tps \l 1033 ].

Steps of Feasibility Study


Following are the steps when conducting a feasibility study:

1. Data Collection:

Data collection is defined as the procedure of collecting, measuring and analyzing accurate insights
for research using standard validated techniques. A researcher can evaluate their hypothesis on the
basis of collected data. In most cases, data collection is the primary and most important step for
research, irrespective of the field of research. The approach of data collection is different for
different fields of study, depending on the required information.

2. Conduct a Preliminary Analysis and Development Plan:

Beginning by outlining our plan. To focus on an unserved need, a market where the demand is
greater than the supply, and whether the product or service has a distinct advantage. Then we need to
determine if the hurdles are too high to clear that is too expensive, unable to effectively market, etc.
The development plan is followed for a software project, within a software organization. It consists
of a detailed plan describing how to develop, maintain, replace and alter or enhance specific
software. The life cycle defines a methodology for improving the quality of software and the overall
development process.

3. Prepare a Projected Income Statement:

This step requires us to work backwards. Start with what we expect the income from the project to be
and then what investment is needed to achieve that goal. This is like the foundation of an income
statement. Things to take into account here include what services are required and how much they’ll
cost, any adjustments to revenues, such as reimbursements, etc.

4. Report submission:

Name (HND/ Second Semester)


A submission is a proposal, report, or other document that is formally sent or presented to someone,
so that they can consider or decide about it. While doing the feasibility study we go on step wise
after reaching the submission stage there must be detail study on data collection, analysis and
development plan with income statement then only can on make a report to submit.

5. Starting of System Analysis:

Systems analysis is the process of studying a procedure or business in order to identify its goals and
purposes and create systems and procedures that will achieve them in an efficient way. Another view
sees system analysis as a problem-solving technique that breaks down a system into its component
pieces for the purpose of the studying how well those component parts work and interact to
accomplish their purpose. System Analysis is to be done following the software development life
cycle

Component of Feasibility Report:


A proper study of feasibility helps to determine whether or not a suggested project is feasible. So, to
check with maximum precision how viable our project is. These main points have been included in
the feasibility report that has been discuss below:

1. Requirements
It is also one of the feasibility report criteria as it includes the resources needed to develop software.
Here, it is examined if the proposed solution is viable or not by considering both the potential
positive and negative outcomes of a project are discussed and alternatives are also suggested here.

2. Evaluation
Not all solutions proposed for a project will produce excellent results. This is why the evaluation of
the proposed solution is performed as an alternative solution. The evaluation is carried out according

Name (HND/ Second Semester)


to each previous requirement plan. Here, also the alternative idea is evaluated to check if those
solution can be practiced or not. We also include details about what it will cost to run the operation
on a day-to-day basis, and what kind of brief, medium and long-term margins can be expected.

3. Intended Audience
In other words, the target audience is the individual, group of people, or organization for which the
product or service is developed. The goals of a company's software system are managers, employees,
evaluators, developers, managers, product engineers, and users. In addition, unauthenticated users,
that is, unregistered users, can see information on this site, and therefore belong to the intended
destination.

4. Technical Feasibility
This assessment enables organizations to determine whether technical resources meet specifications
and whether programmers, testers, developers, engineers, etc. can transform their ideas into
actionable systems. Technical feasibility also includes an assessment of the hardware, software and
other technical requirements of the proposed system.

5. Economic Feasibility
A projection of the quantity of capital or start-up budget required, what capital sources can and will
be used, and what kind of return will be gained on investment are done on economic feasibility. For
any system if the expected benefits equal or exceed the expected costs, the system is said to be
economically feasible. In economic feasibility, cost benefit analysis is done in which we evaluate
expected costs and benefits.

6. Legal Feasibility
This assessment ensures that all aspects of the proposed project are consistent with legal
requirements such as data protection and social media laws. It consists of studies of contracts,
responsibilities, violations and other legal pitfalls that are often hidden from technical employee.

7. Operational Feasibility
This evaluation includes undertaking a survey of problems such as the project will be accepted by all
consumers without opposition once it has been created or not. Also, if present users are satisfied or
not with the technology they use? And if they are happy why invest on a new upgraded technology?
Before introducing a new system, it was thought to be important to investigate the existing system
which helps to provide a firm basis for the design of the new system. Also, it helps to know how the
system was being handled, what the good parts of the existing system were, and what needs to be

Name (HND/ Second Semester)


added in the new system. Moreover, it answers will the proposed system really benefit an
organization or not.

8. Scheduling Feasibility
In scheduling feasibility, an organization calculates how much time the project will take to complete
by dividing the whole project into multiple modules. Also, the constraints that may lag the
completion of project within deadline are considered. This assessment is the very crucial for project
success; after all, a project will fail if not completed on time.

Impact of Feasibility Criteria on Software Investigation


A feasibility study is an analysis that measures the ability and complete a project successfully
including all relevant factors accountable to technical, economic, legal, operational etc. It enhances
chances of making better existing system, developing a new system, and produce changed estimates
for further development of software. There are many impacts of feasibility criteria on software
investigation which are given below:
Economic criteria
Economic criteria study demonstrates the net benefit of a proposed project for accepting or
disbursing, taking into consideration the benefits and costs to the agency, other state agencies, and
the general public as a whole. Economic analysis is used for evaluating the effectiveness of the
proposed system. It also determines the budget of the project in advance after analyzing the
requirements. While developing the software, if equal or low cost is used in comparison of budget
determined in advance then it can be called as feasible but if there are high expenses in comparison

Name (HND/ Second Semester)


of budget determined in advance then it can be called as not feasible. While developing the software
of Chun Devi Suppliers (CDS) according to our scenario, we had budget of five lakhs. The software
which we were going to develop was very big but it had cost limitation of only five lakh rupees. So,
it strongly let us spend every money only after planning and safely.

Technical criteria
The technical impact is the most important impact on the feasibility criteria for impact software
investigation. The technology makes the growth of the information and dependency. And then the
growth of the information makes the society informative and the society knowledgeable. And for the
development of the society, the information is important. And therefore, information is regarded as
the national resource. Now the most important part of our lives is information. So, the availability of
the information must be needed. The right information is reached to the right users using different
tools and techniques. Similarly, I used MySQL database to store the data of software, server, etc. We
have used proper technologies while developing a company software due to which the software is
successfully completed with every required feature.

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. While developing the software of
Chun Devi Suppliers (CDS), we have got only 4 months’ time to complete the software. It was very
hard to complete such a big software in just 4 months. We worked very hard to complete this
software and finally complete the software in time.

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. It studies and follows
the rules of the government. While developing the Chun Devi Suppliers (CDS) software, we follow
the rules and regulations made by government for the company like tax rate, maximum collection of
amounts from clients, etc. Likewise, legacy regarding copyright, software ownership is considered
carefully. If we have not included such rules in the software, then it would have been illegal and the
company might have face lots of problem. This, there is positive impact of legal policy in the
company.

Name (HND/ Second Semester)


Operational criteria
Operational impact is the most important impact. Due to the operational impact all the things are
sustainable. An organization run due to the operational impact. A car run due to the operational
impact. Industries run due to operational impact. Hence the operation impact has the great impact on
the project and the software development. Due to operational impact an organization follow the rules
and regulation so that the organization can operate and work

Social criteria
The social impact is another impact of the feasibility criteria in Software Impact investigation. The
social means the people, users which uses the software. so social impact is also the most important.
Because the software that only advantageous to the society, users and people can only be applicable
in daily lives. We can take an example of Facebook which has great social impact. Without social
impact, Facebook cannot be made. The Facebook only transfers information from one person to
another person. Due to social impact, we even cannot make the software which are promoting bad
impacts to the society. So, we must be careful while developing the software in terms of the society
because at the end the society is deciding whether the software is right or not. Hence the social
impact is best impact of feasibility criteria on the software investigation

Management criteria
It helps to evaluate whether the Chun Devi Suppliers (CDS) has qualified human impact: resources
to execute the new system or not. If the workers lack knowledge in operating the new system
smoothly, it helps to manage the trainings. Focusing on the prime factor whether the new system
developed will manage the daily activities of the Chun Devi Suppliers (CDS) or not, it measures the
capabilities of the employees.

Name (HND/ Second Semester)


Conclusion
Feasibility study is the essential activity in the system analysis phase that helps to analyze the
proposed system and develop the software keeping in mind the various factors for not only short
term but also even for future prospective. The various factors can be used to compare the technical
solutions. Similarly, while generating the feasibility report the essential components of the feasibility
study must be well addressed. The impacts of the various feasibility criteria on software investigation
must be assessed well that provide information about the new system that are aimed to be developed
by the Chun Devi Suppliers (CDS). Thus, it is the matter of paramount importance to carry out the
feasibility study, generate a feasible report the meets the requirements of users, and provide a huge
benefit for the organization.

Name (HND/ Second Semester)


Assignment Task – 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

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

Name (HND/ Second Semester)


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.

Report

on

Software Investigation

Name (HND/ Second Semester)


Introduction
In this task, I have undertaken a software investigation to meet a business need and used various
software analysis tools such as DFDs and ER diagrams and techniques such as interviews,
questionnaires, surveys etc. to carry out the investigation. Similarly, how software requirements can
be traced throughout the software lifecycle has been analyzed. Various constraints like costs,
organizational policies, legacy systems, hardware requirements have been identified. Moreover, two
effective approaches that can be applied to improve the software quality are discussed and the use of
the function design paradigm in the software development lifecycle have been critically evaluated.

Name (HND/ Second Semester)


Identification of Requirements
By reading the scenario and by using various investigation techniques such as interviews, studying
the current documentation, observation, etc. We have tried to identify the requirements of
stakeholders and system requirement specification which I discussed below.

Identification of Stakeholders Requirements


Stakeholders are people who are invested in the project and who will be affected by the project at
any point along the way, and their input can directly influence the outcome. The organizations
actions, plans and policies affect the stakeholders and the company is affected by the stakeholder’s
actions.

Other requirements of stakeholders are listed below:

1. Clients should able to see the present status and different offers given from the system.
2. Operational requirements, such as software maintenance capabilities.
3. User requirements consist of ease of use and quality in addition to system security.
4. Developer and designer requirements include the cost, resources, and time required to build
the software.

Name (HND/ Second Semester)


Internal Stakeholders
Internal stakeholders are the group of individuals that have direct relationship to the company such
as employment, ownership and investment. The internal stakeholders of the Chun Devi Suppliers
(CDS) are:

i. Owner of the Chun Devi Suppliers (CDS)

ii. CEO

iii. Employees

iv. Manager

External Stakeholders
External Stakeholders are the group of individuals that do not have direct relationship to the
company. They do not operate inside the organization but care about the organization welfare and are
affected by the company’s actions. The external stakeholders of the Chun Devi Suppliers (CDS) are:

1. Regulatory authorities
2. Sponsor
3. Government agencies

Stakeholder requirements identification


For the development of the new system, it is the essential to identify the stakeholders of the
company. Before the development of the system, all the stakeholders of the Chun Devi Suppliers
(CDS) were identified. Stakeholders are the primary source of information for the requirements of
the system. some of the important stakeholders and their requirements are described below:

 CEO:

CEO is the head of the system that has responsibility to govern the entire activities. They administer
all the functioning of the system, actions of the employees and other activities of the system. They
are responsible for installing and handling the workstations. They require as secure login system to
access all the records of the customers, employees, products and services.

 Customers:

Customers are the important stakeholders that utilize the services of the system. They require a
separate login panel to choose the services as provided by the Chun Devi Suppliers (CDS). They

Name (HND/ Second Semester)


have to view the new products and services that are upgraded by the Chun Devi Suppliers (CDS).
Furthermore, they need to interrogate regarding any issues and provide feedback.

 Employees:

The employees work to carry out the objectives of the company. They require a separate login panel
to log on into their information. They can only add the records of the customers and update
information as per the rights provided by the head members of the company.

 Regulatory authorities:

The regulatory authorities are responsible for maintaining and troubleshooting problems. They also
modify the systems configurations and make appropriate updates. They require a login panel to
regulate the activities of the company and make necessary updates.

Identification of System Requirements


System investigation is the way of handling the user’s request in order to change, improve or
enhance the existing system. System investigation is a crucial phase where the system is thoroughly
researched to explore what is being built to do and provides a stable source for the design of the new
system. It examines whether the newly proposed system is feasible or not considering various
feasibility factors. The system investigation helps to determine the scope of the project evaluating the
complexity of the problems and efforts essential to solve them. This helps in proper planning of the
project and allocation vital resources for the completion of the project. Similarly, it is carried for
increasing user confidence, by reassuring users that the analyst fully understands the nature of the
problem, and the business operations that the system must carry out.

Product Description

The proposed system by the Chun Devi Suppliers (CDS) operating in Nepal helps to keep track of
customer enquiry about information and purchase of its products and services and making claims
allowing fluctuating currency exchange rates. The system provides a wider range of products and
services to accommodate the needs of the international market. It reduces the risks of the previous
system such as slow performance, difficulty in searching of employee’s records, time consuming and
minimal security so that records of the customer can be safeguarded and maintained efficiently
saving time and enhancing productivity.

Problem Statement

Name (HND/ Second Semester)


The current system used by the Chun Devi Suppliers (CDS) is predominantly operating in Nepal
only. The Chun Devi Suppliers (CDS) wants to extend its services in international markets.
However, in order to extend its product and services to international countries, the old system cannot
operate smoothly. The current system cannot keep the records of the international customers. Since,
the international customers can use a range of currencies to purchase the products; the Chun Devi
Suppliers (CDS) must allow the fluctuating currency exchange rates. The existing system lack this
facility and there is no enough security to safeguard the records of the customers from various
intentional and unintentional harms.

Some of the problems faced by the current system are described below:

i. Difficult to search record:

It is difficult to search records using the existing system if international customers use the services of
the Chun Devi Suppliers (CDS). The services used and products purchased cannot be find out using
the current system.

ii. Lack of space:

A large amount of space is required in order to keep the records of the international customers,
services used and products purchased. There is no enough space in the existing to track such records.

iii. Difficult to view reports:

The existing cannot managed the records of the customers if the services are extended in global
markets. A report cannot be generated properly if the records could not be maintained well.

iv. Minimal security:

The existing system does not have enough security to safeguard the records of the customers from
various intentional and unintentional harms.

Objective of the proposed system


The proposed system aims to eliminate all the hindrances of the existing system and keep track of
the international customers. With the availability of the current system, the services of the Chun
Devi Suppliers (CDS) cannot be extended in international countries. There are problems in keeping
the records of the customers and services utilized by them. The current system is a traditional
framework software. The records of the customers cannot be accessed online and in order to find the
specific record, we have to go through all names. The proposed system overcomes all the limitations,

Name (HND/ Second Semester)


is capable of validating users, storing records safely, and generate reports easily. The objectives of
the proposed system are described below:

i. Improvement in control and performance:

The proposed system provides multiple functions that help to control the activities of the entire
system and excel the performance in tracking the records of the customers.

ii. Save time:

The records of international customers can be stored easily. Similarly, it is easier to search the
products utilized by the customers that saves considerable amount of time.

iii. Security:

The new system has implemented various security measures. Various users’ validation measures
have been adapted. Similarly, tools are used for protecting the customer records maintaining privacy.

iv. Generate report:

With the availability of various measures to keep the records of the customers, the information can
be monitored easily. This helps in appropriate generation of report that help to review the entire
activities.

Fact finding techniques

Fact finding technique is the information gathering technique that involves research, interviews,
questionnaires and other methods to collect information about system requirements and preferences.
It is very crucial in system investigation that helps system analyst to develop and implement the
current existing system and apply appropriate tools in software development lifecycle. Various fact-
finding techniques have been used in order to explore about the current system used by the Chun
Devi Suppliers (CDS) that are described below:

1. Interview:

It is the most frequently used data collection technique to gather information from individuals or
groups through face-to-face interrogation. It is a commonly used technique and is an internal part of
research. A group of people related to system of the Chun Devi Suppliers (CDS) were selected and

Name (HND/ Second Semester)


their responses were recorded. Similarly, different stakeholders of the Chun Devi Suppliers (CDS)
were interview presenting different questions before them

2. On-site observation:

It is technique where system analysts participate in organization activities and understand the flow of
documents, working of the existing system and the users of the system etc. It is used to validate the
data collected from other methods and used when complexity of the system prevents clear
explanation by the end users. It helps to gain reliable data and allows practical experience. Being a
system analyst, I went to observe the operational system of the Chun Devi Suppliers (CDS). I
noticed that the company is using traditional information system software to keep records of the
customers, employees, services used and products purchased. All the records have to be entered
manually and required a portable device to transfer data from one computer to another. For any
issues, the customers have to visit to the company for interaction. The online services where not
accessed by the software and there were minimal security measures to safeguard the information of
the company. The employees had the knowledge of traditional technologies only and were not fully
aware of agile methodologies.

After observing the operational activities of the Chun Devi Suppliers (CDS), I concluded that the old
system could not be used to keep records of the international customers and need to be changed if the
company wants to extend its services and facilities in global market.

3. Questionnaires:

Questionnaires is one of the effective methods for collecting and gathering data and information
about the framework of the existing system. It helps to acquire information about the current
situation including various problems that are needed to be solved and changes that are needed in it.
Various inquiries and questions are provided to the Chun Devi Suppliers (CDS) members that are
working for the existing system related to its framework, restrictions and implementation. In order to
get reasonable report, we surveyed about the current framework respecting the current process and
creating polls among the members working there. We then gathered the views and perception of the
members through the sample of questionnaires provided to them. The sample of questions given for
the members to pour down their thoughts are listed below:

I have to collect all the stakeholders’ requirements. There are three main stakeholders; the first
stakeholder is the owner of the Company. My requirements are to get profit and as well to give good
product to the customers. So, the technique I’m using to get profit is, in direct profit by this

Name (HND/ Second Semester)


technique I can attract more customers and will get my profit as well. My requirements are also to
keep some workers for online shopping system. I’m going to keep one person as a supervisor to
check that everything is going prefect in the software.

Then I will keep 2 persons as the admins and will update the record of the products on the software.
What do the customers want and what do the like? So, to know that I’m going to use different
technique like I will give questionnaires to people so that I will get their feedback that what are their
needs, and I will observation to know how is the market going. There are some constraints which we
have to follow it means that we have set some limitation for something. Cost, we have limited our
cost so that we don’t spend the money in some other place and we have to do every work by looking
at the budget we have. By limiting our cost, it is useful so that we don’t exceed the budget, n It won’t
cause us a problem in future.

Goals and Objectives of the software


The primary goal of our project is to improve and mitigate issues currently faced by Chun Devi
Suppliers (CDS) in maintaining and updating the needs online. Thus, we will enhance all the needs
of the Chun Devi Suppliers (CDS).

Identification of Scope
Defining the scope outlines the concept of what and what does not consist of the project. Company
will upgrade the traditional System that manages the records to a software which facilitates record
management, making enquiry about information and purchase of products and services, making
claims etc.

Inputs, Outputs and Process of the System


The table demonstrates some of the Chun Devi Suppliers (CDS) significant fresh system process.

Process Input Output Process Descriptors


Verification Username along By checking in databases if those Allow users to access the panel if
with password is users exist or not access is given username and password is
entered. or denied to the user. correct.
Notification Click on notification Verify the notification for Allow user to see information on
icon important message or information notification icon
Upload Files such as excel is It is posted on system where Allow users to upload file in
uploaded. admin can track employees excel format
record.
Payment Enter the account Payment receipt is shown in the Allow users to pay if the payment

Name (HND/ Second Semester)


details and amount registered id of software. method is verified
of money to pay
Save Data to be backup Save or backup data Allow users to save the data

All users can access publicly accessible pages such as about Chun Devi Suppliers (CDS), topics
without logging in. However, you need to log in to use services such as fee payment, admission form
entry, contact the Chun Devi Suppliers (CDS). Firstly, the user enters into the site by entering the
URL or being redirected from some other pages. Any user can see the public made contents but if the
user is the member of the system, then they will have more features such as an admin has admin
panel where are normal user have normal panel and if the login information is current then they can
surf as user but with admin permission they can manage employee’s attendance, stock management
and more in the Chun Devi Suppliers (CDS) which the requirements.

Name (HND/ Second Semester)


Flowchart of Office Management System

Alternate Solutions
We can run into problems anywhere while developing the system, such as during the design phase,
development, testing, and so on, so we want to be prepared with a variety of budget-friendly
solutions in case problems arise during development or other stages. Though there are many
advantages of having the new Chun Devi Suppliers (CDS), there are also some of the disadvantages

Name (HND/ Second Semester)


due to which there should be to have the alternative solutions somewhat than the having the new
Chun Devi Suppliers software. As we all known it will need a lot of budgets to develop the software
application of the Chun Devi Suppliers. We have to give the yearly budget for the maintenance of the
software. So due to this type of problems we have to use the alternatives solution to solve the
problems. In the alternatives of this, we can use the websites instead of the software. In the website,
we can consist of all the employee accounting system, management system and the work tracking
system which are been covered in the software. Also, it helps in all the devices such as mobile, tab,
laptop, etc. and everyone can study it in very quick duration of time. We can also update the data of
the website of the office management system. So, the first-class choice answer would be use of the
websites in its place of creating a software application.

Quality Assurance
Firstly, quality assurance is defined as the process of evaluating the software to meets the needs of
the customers. We can use the quality assurance as reliability, efficiency and flexibility to complete
the task on a time. We have used the quality assurance while developing our software application of
the office management system. While collecting requirements, we have checked the software twice
so that there would be no error in collecting requirements. We have also talked nearly every hour
with the group leader for the discussion. We generally speak about the current features and the
included features of the software with the group people. While coding in the software we have
followed best preparation. We have use each of the coding standard while developing the software of
the college management system. We have also tested the software on time to time so that further we
don’t have to face the problems or any issues. We have no longer compromise in the maintenance of
the software. In this way, we have use quality assurance for the college management system
software.

Identification of major Constraints


Constraints are any restrictions that are defined to set the boundary of the project, they limit the
activities and freedom of the project manager and team that gets while developing a project. They are
the limiting conditions, circumstances or events that are defined in early stage of project

Name (HND/ Second Semester)


development. The constraints that must be considered while developing a newly proposed system of
the Chun Devi Suppliers (CDS) are described below.

Costs
Cost is the very important things that can be needed in anytime. So, while developing the software
first we need the budget and it will be cost according which types of software we want to develop.
Cost constraint involves the limitation of the sum that can be used while developing the system.

In this the estimation of money that is required to complete the project is done as it encompasses
various things, such as resources, labor fees, bills, etc. Almost all aspects of the project that have a
monetary component which are made part of overall cost structure. The system cannot go across the
estimated budget that help to limit the criteria and acts as a constraint. The software that we have
develop for the office management system is the big which cost almost 5 lakh. Before developing the
software, we have planned the things then we have gathered all the information which helps to save
some amount of money. Here, the cost constraints have played the important role while developing
our software. The technologies and services are to be used as per the monetary allowance provided
by the Chun Devi Suppliers (CDS):

Price factors Cost


Planning and Gathering data Rs. 50,000
Database design Rs. 50,000
Hardware requirements Rs. 50,000
Tools for development system Rs. 1,00,000
Design and evaluation of the system Rs. 50,000
Development of project Rs. 50,000
Testing of the system Rs. 60,000
Implementation and installation of the system Rs. 70,000
Miscellaneous Rs. 20,000
Total Rs.5,00,000
We can use other remained money to register your product, purchase a domain name, and publish
product. The remaining money can be used to service the product after distribution and release.

Organizational Policies
An organizational policy is a collection of rules and best practices developed to safeguard the
corporation, its staff, and its customers. Job processes, employee behavior, administrative actions,
and Internet and e-mail use can all be covered by organizational policy. Customer policies define
how to deal with consumers and what they should demand from the company. In general,

Name (HND/ Second Semester)


organizational policies define what is or is not permitted within the organization. By doing this, they
establish expectations and limitations related to behavior. The key objective of our organizational
policies is to identify well defined or limited working conditions, to define reasonable and
unacceptable conduct, and to provide guidance and consumer preferences. Chun Devi Suppliers
(CDS) has its own policies and strategies that must be followed sincerely. The newly proposed
system must be designed in such a way that no any rules and regulations of the company are
violated. The company does not accept the system that violates the company rules and sink the
company image.

Legacy System
A legacy system is a tool, technology, operating system, or application software that is referring to,
or being an older or obsolete computer system. 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. We've added private sector developers to our implementation team so
that they can educate us about the old system so that we can make the current system compliant with
it [ CITATION Leg19 \l 1033 ]. When we use the legacy system there will be no problem while
updating and maintaining the software. There will be less chance of losing the important information
and we can maintenance it in a low cost.

Hardware Platform
The newly system works smoothly only if there is proper coordination with the hardware used in the
company system. If the hardware does not support the system and is compatible with the software
developed, then it is useless to develop a new software. The insurance may not change the current
hardware used in the system as it may increase the cost but it may bring compatible issues. Thus,
hardware requirements act as constraint since software must be developed based on hardware
compatibility.

The hardware and software requirements of the Chun Devi Suppliers (CDS) are listed below:

Hardware requirements:

 Requires a 64-bit processor and operating system

 Processor: Intel i5-7400/AMD Ryzen 1300X or better

 Storage: 10 GB available space

 Memory: 8 GB RAM

Name (HND/ Second Semester)


Software requirements:

 .NET framework 4 or higher

 Xampp server

 OS: Windows 10 64-bit

Conclusion
In this way we have undertaken the software investigation. System investigation identifies problems
and opportunities with existing systems, determines project size, assesses the complexity of the
problem and the effort required to solve the problem, and the user feels comfortable and fully
understands the nature. We also provided support to increase user trust by understanding the issue. It
also helped to identify the risks and responses associated with the availability of the solution.
Therefore, after conducting this survey, we came to the conclusion that the current insurer really
needs this new system.

Name (HND/ Second Semester)


Introduction
Software analysis is the dissection of the system into its components to study how those components
pieces interact and work.” Various system analysis tools are used during system analysis and design
phase of the system development. These tools offer way to create understanding of the complex
structures and achieving interoperability. Some of the system analysis tools used by the Chun Devi
Suppliers (CDS) are Data Flow Diagram (DFD), ER diagram and use case diagram.

Name (HND/ Second Semester)


Data Flow Diagram (DFD)
A graphical illustration of the flow of information via a data system is known as data flow diagram.
Data flow diagram helps to show how information is input to and output from the system, sources
and locations of that data and the place that records are stored. Whereas there is no control flow, no
loops and no decision rules. It is a section of the structured evaluation modelling tools. The part of
the data flow diagram is divided in logical and physical parts. Logical part of the data flow diagram
describes the float of data through a system to function certain performance of business whereas the
physical part describes the implementation of the logical data in the system. In the given below, I
have explained the data flow diagram level and DeMarco and Yourdon symbols and Gane and Sarson
symbols.

Name (HND/ Second Semester)


In system of Chun Devi Suppliers (CDS), every visitor has been distinguished into three types i.e.,
administrator, non-authenticated users who have not logged into the system, and normal users who
have logged in but, don’t have administrative power. Non-authenticated users can surf the system
and view all the public contents. If the user wants more facility such as what the faculty provides,
what course are available then they should register and login to the system. The administrator user
can manage the data records and manage permissions to the users and groups. All the information is
stored to the database and retrieve from the database after requesting to database.

The following symbols are mostly used in E-R diagram:

DeMarco and Yourdon symbols Symbol Names Gane and Sarson symbols
Process

Data Store

External Entity

Data flow

We have made the data flow diagram of my software up to level 2 which are given below:

1. Level 0 Data flow diagram


The diagram which helps to provide a broad view that is easily digestible but offers little detail is
known as data flow diagram of level 0. We have to include all the external entities and identify the
process while developing the level 0 data flow diagram. Level 0 data flow diagram which is also
known as context diagram are the most basic data flow diagrams which provide a broad view that is
easily digestible but offers little detail. It shows a single process node and its connections to external
entities. This is only one process in the system and all the data flows either into or out of this process.

Name (HND/ Second Semester)


Fig: Level 0 DFD of Office Management System

The level 0 DFD describes that there are two main entity admin and users. They give and takes data
to the new republic Chun Devi Suppliers (CDS) management system.

2. Level 1 Data flow diagram


First level Data flow diagram of college management system shows how the system is divided into
sub-system, each of the system will deals with one or more data flows. Level 1 data flow diagrams
are still a general overview but they go into more detail than a context diagram. The single process
node from the level 1 data flow diagram is broken down into sub processes in this data flow diagram.
As these processes are added, this level of data flow diagram needs additional data flow and data
stores to link them together. The main aims of this diagram are to give an overview of the full
system. While drawing a level 1 data flow diagram, firstly we have to start by examining the level 0
data flow diagram. In this level too, all entities, data stores and processes must be labelled properly.

Name (HND/ Second Semester)


Fig: Level 1 DFD of the Office Management System

3. Level 2 Data flow diagram


Second Level Data flow diagram goes one step deeper into parts Level 1 of Office Management
System. In the second level data flow diagram more detailed sub process is needed. A data flow
diagram Level 2 can be used to plan and record the data or specific makeup of a system. The Data
flow diagram which we have made of software system of Chun Devi Suppliers (CDS) is illustrated in
the figure shown below:

Name (HND/ Second Semester)


Fig: Level 2 DFD of the Office Management System

ER Diagram
E-R Diagram stands for Entity Relationship Diagram that represents attributes and the relationship
between entities. ER-Diagram is visual representations of data that describes how data is related to
relate to each other.

An entity relationship diagram (ERD), also known as an entity relationship model, is a graphical
representation of an information system that displays the relationships within that system among the

Name (HND/ Second Semester)


people, objects, places, concepts or events. It helps to give the visual beginning for to design the
database that is used for to control data system requirements for an organization. ER diagram is used
to develop the design of database. It helps to defines how to identify entities, attributes, relationship,
etc. There are the symbols of the ER diagram.

Names Geometric Shapes Description


Entity (Rectangle) It stores the information.

Attribute (Ellipse) It is the characteristics of an entity.

Relationship (Diamonds) Relationships are associations between or among


entities.
Partial Participation (Lines) It links Attributes to Entity Sets and Entity Sets
to Relationship Sets.

Name (HND/ Second Semester)


The Entity Relationship Diagram we created of the software for Chun Devi Suppliers (CDS) is
below:

Fig: ER Diagram of the Office Management System

Name (HND/ Second Semester)


Conclusion
Evaluations and explanations are made on the ideas presented. Some or all of these methods can be
used to study existing systems or new software, which leads to a series of data flow diagrams, the
logical data structures of the current system, and a list of initial issues. These tools and techniques are
very useful for evaluating the entire system in a very simple way.

Trace Software Requirements throughout the Software Lifecycle

Name (HND/ Second Semester)


Traceability can be considered as the important in terms of finding out the software requirements,
errors and etc. It is one of the parts of the good requirements management. It documents the life of
business. It can provide bi-directional traceability to capability or capabilities associated with that
concern. It helps to make sure that products are building right at each phase of the SDLC. It reduces
the effort of determining the impacts of changes. The project manager must have good knowledge
traceability. It tracks the relationship between product-level requirement and its source. And the
product requirement traces the business need, user request, business rule and an external interface
specification. It traces industry standard and regulation. It also traces the architectural elements,
detail design elements, objects/classes, code units, tests, user documentation topics.

Good traceability allows for bidirectional traceability. The traceability chains can be traced in both
the forwards and backwards directions as illustrated below.

The figure suggests that the forward traceability and backward traceability. This traceability flows
from sources of the requirement to requirements and to the work products that implements the
requirements. But the backward requirements follow reverse path that from work products that
implements the requirements to requirements and the to the source of the requirements.

In this way the software requirements are traced. One common task involved in this skill is
identifying the right tool for managing the solution under development. The tool should be able to
support establishing the bi-direction traceability between the various work-items produced during
the software development life cycle (SDLC) at various stages i.e., Requirements Analysis, Design,
Development, Test, Deploy, Operations.

Establishing traceability correctly gives a timely view of the current state of the ‘Solution under
development’ and thereby helps Architect assess the stability of the Solution and help provide inputs
to the stakeholders of the Solution in terms of triple constraints viz., Resource, Schedule, and Scope.

Name (HND/ Second Semester)


One of the daily activities during the SDLC is to generate a report of the forward traceability and
backwards traceability of the Project. The adopted tool should support providing the report to
facilitate an understanding of the current state of the Project.

A requirement can be traced in one of four distinct ways that are listed below:

1. Customer needs are traced forward to requirements, so that we can tell which requirements
will be affected if those needs change.
2. Conversely, we can trace backward from requirements to customer needs to identify the
origin of each software requirement.
3. We can trace forward from requirements by defining links between individual requirements
and specific product elements.
4. Specific product elements [may be traced] backward to requirements so that we know why
each item was created.”

Requirement’s traceability traces relationships between requirements in a set, between business


needs and corresponding requirements, and between requirements and the various deliverables of a
project.

Ways to trace software requirements throughout the software lifecycle


While tracing the software requirements throughout the software lifecycle, the minimum sets of
elements that are traced includes company’s objectives, solution requirements, test cases and
releases. In order to carry out the requirements traceability following aspects must be considered
appropriately that are described below:

1. Size, complexity and risk of the project:

The Chun Devi Suppliers (CDS) has been providing its services only in Nepal and wants to expand
its services in international countries. The old existing system is full of limitation as it cannot be used
to track records of international customers, products and services used. The newly proposed system
is greater in size and complex than the previous, as many functions are needed to be added in it.
Although, the proposed project is large in size and complex, there is minimal risk as proper planning,
coordination and team members have been formed to develop the project addressing the
requirements of the both customers and Chun Devi Suppliers (CDS).

2. General constraints:

Name (HND/ Second Semester)


Constraints are any restrictions that are defined to set the boundary of the project, they limit the
activities and freedom of the project manager and team that gets while developing a project. They are
the limiting conditions, circumstances or events that are defined in early stage of project
development. Various constraints such as cost, hardware platforms, legacy system and organizational
constraints acts as obstacle in proper execution of the project. However, the requirements of the
insurance can be addressed as the project is comically feasible, compatible with the hardware used in
Chun Devi Suppliers (CDS) and abide by all the organizational rules and regulations.

3. Experience of business analysis within the project and organization:

Traceability requirements require advanced tools and greater knowledge. The system analysts, team
members and developers are well acquainted with the tools available to analyze whether the
company’s objectives are associated with the objectives of the system developed or not. The in-house
team of the Chun Devi Suppliers (CDS) are experienced and possess good knowledge of system
analysis.

4. Knowledge and availability of requirements management tools:

The Chun Devi Suppliers (CDS) has used the requirements traceability matrix as a tool to visually
analyze how the requirements are traced. In traceability matrix, the features applied are mapped back
to the Chun Devi Suppliers (CDS) objectives and tabulated in a table

Business Module Applicable Roles Descriptors


Requirements
B_O1 Login Admin, user Separation of user panels according to user
(employees) permission
B_O2 Save Admin Admin can save the data with the requirements.

B_O3 Update Admin Admin can update the data with the requirements.

B_O4 View Data Admin Admin can view the employee’s data individually.

B_O5 Enquiry User (employees) Users can have or make a new enquiry about
anything which he/she is not clear about
The Benefits of Traceability
1. Avoid loss of information by capturing history.

Name (HND/ Second Semester)


For example, when a developer leaves your team, if you have no track of the work, you lose his/her
knowledge about the software creation. Tracing project items through the development process helps
future developers to understand the software life.

2. Facilitate process improvement.

Tracking software development helps to understand what has actually been done. Understanding how
you build software you can identify where your team is strong and where it has difficulties. So, we
can help to improve the way they work. To do so effectively and efficiently, we must choose a
reliable tool with relationships created as automated as possible. A simple Microsoft Excel table may
not be enough but a robust traceability tool is necessary [CITATION Man19 \l 1033 ] Different
stakeholders, including representatives of the user and developer, should review the documents.
Requirements documents are subject to the same configuration management practices as the other
deliverables of the software life cycle processes. When practical, the individual requirements are also
subject to configuration management, generally using a requirements management tool.

Technical Requirement Document


A technical specification document defines the requirements for a project, product, or system. A
specification is the information on technical design, development, and procedures related to the
requirements it outlines. This document provides information to developers and other stakeholders
on business requirements, internal standards, and best practices[ CITATION sma17 \l 1033 ]. Below
is a test case for the software of the Chun Devi Suppliers (CDS):

Test Case:
Test ID Test Area Test Steps Test Scenario Results Actual Output
L1 Login 1. First go to the Verify the User should be User is able to enter
login page entered able to enter required credentials
2. Enter user id username and required login
3. Enter password details
password
4. Click login
l2 Logout 1. Login to Verify the User must be User is able to logout and
system function of able to logout redirect to login panel
2. Click on the the logout and redirect to
logout button login panel
M1 Message 1. Login to Verify the User must be User is able to message

Name (HND/ Second Semester)


system function of able to send a and is notified if the
2. Click on the message message message was sent or not
message button
N1 Notificatio 1. Login to Verify the User must be User is able to click and
n system function of able to get the receive the important
2. Click on the notification for notice
notification icon notification important
notice

Approaches to improve the Software Quality


While developing the software we have done many research to identify the root cause of the poor
quality. We have found many of the reason due to which the software has poor quality. As we known,
when we start to develop the software, even small mistakes can cause problems and issues. So, while
developing the software we have to be very careful from first to end so that we don’t face any
problems. We have to follow the best practices to improve the software quality. Here are the two
approaches to improve software quality.

Different approaches and techniques such as testing early, implementing quality control form
beginning, communicating properly, encouraging innovations, having a risk register, reviewing and
revising. The newly proposed developed to meet the requirements of the Chun Devi Suppliers
(CDS).

1. Test more and often


To improve software quality, it is very essential to Test early and Test often. Early testing will ensure
that any defects do not get larger, more complicated issues. The bigger the defect, the more
expensive it becomes to detect out any issues. It is recommended to involve testers early in the
software design process to ensure that they remain on top of any problems or bugs as they crop up,
and before the issues grow exponentially which generally makes it harder to debug.

Testing often requires a focus on early adoption of the right automated testing discipline. Start by
automating non-UI tests initially then slowly increasing coverage to UI based tests when the product
stabilizes. If your application utilizes Webservices/APIs then automate these tests to ensure all your
business rules and logic are tested.

Name (HND/ Second Semester)


2. Plan for a changeable environment and have a risk register
Software contains so many variables and is in continuous evolution. It relies on several different
external factors such as web browsers, hardware, libraries, and operating systems. These external
factors mean that software development must be consistently monitored using checks and balances
to certify that it remains in stride with its immediate environment. It is important to acknowledge that
software is interdependent on these external factors. It allows you to have the software quality tested,
at each step of the process, against external variables, to see how it holds up. The end result is that
you will prevent software dissonance and maintain software quality.

A risk register is a tool to manage risks which will provide everybody aligned on a software project a
list of clearly identified risks and then assess them in regards to the importance of delivering the
project. A risk register works well for software quality because its creation actively leads to risk
mitigation.

3. Outline deliverables
From your project it is important that your team outline what they are going to deliver. A clear and
concise plan of what the project will deliver helps ensure there is an emphasis on quality from the
outset. It also ensures that budgets, resources, and time are aligned correctly to deliver quality.
Without clear deliverables it is likely shortcuts will be taken to meet budgets and deadlines.
Ultimately, this will compromise the quality of the software delivered at the end of the project.

4. Employ test-oriented software development management


Implementation of test-oriented software development management is one of the best approaches to
improve the software quality. We can achieve the test-oriented management by using an extreme
programming. An extreme programming can be defined as a software development methodology
which aims to produce higher quality software with the ability to adapt to changing requirements. If
we use extreme programming for implementing test-oriented software development management
then the quality of our software would be highly improved. An entremets programming has main
motive to provide iterative and frequent small releases throughout the project by allowing both team
members and users to examine and review the project’s progress throughout the entire software
development lifecycle. It is intended to improve the quality of software and also responsiveness to
changing user requirements.

Evaluating the use of function design paradigm in the SDLC

Name (HND/ Second Semester)


Functional design paradigm is an iterative process that repeatedly characterizes the environment, sets
appropriate goals, and chooses the process for achieving those goals. After setting proper
environment and goals, the paradigm proceeds with the execution and analytical phases where at
each iteration, it redefines and improve the characteristics that helps in development of quality
software. Functional Design is a paradigm for facilitating the design of computer and 3D models for
hardware and software devices. A functional design guarantees that each modular part is responsible
and carries out that responsibility with minimal side effects on other parts. Functional modules tend
to have low connectivity.

For example, while we were creating the new software for company the working environment of
company’s previous system was examined and requirements of company were gathered which
helped us in designing new software while maintaining quality and standard. It was also easier to
identify the goals of the CDS while utilizing the functional design paradigm, which helped us to
identify the reasons for creating software that meets the CDS objectives. The paradigm of functional
design also enables the sound implementation of design, methods and methods. It simplifies the
software design and ensures that every modular component performs its own task and has low
connectivity. The paradigm of function design allows us to analyze the results of the execution of the
modules and frames developed. We have also evaluated the performance, stability, robustness and
certain additional functions of software, in order to meet the software standards that have evolved,
leading to the development of the software which was required by CDS.

The functional design paradigm operates in two major cycles to improve the quality of the software:

• The control cycle:

This cycle involves feedback to the project during the execution phase that provides analytic
information about project performance at intermediate stages of development by comparing project
data with the nominal range for similar projects. The information achieved help to prevent and solve
problems, monitor and support the project and realign the process with the goals.

• The capitalization cycle:

This cycle involves feedback to the organization that help to understand the ways to devise
experience across application domains.

Improvement of software quality by functional design paradigm

Name (HND/ Second Semester)


Functional design paradigm helps to enhance the software quality by applying the quality
improvement process in an iterative manner. The newly proposed software aimed to be developed by
the Chun Devi Suppliers (CDS) quality can be improved by functional design paradigm in the
following ways:

• Set goals:

It is easier to acknowledge the goals of the Chun Devi Suppliers (CDS) easily functional paradigm.
The paradigm helps to associate the goals of the software with goals of the company. This helps to
develop quality software that fulfills the objectives of the company.

• Choose methods and techniques:

With the use of functional paradigm, effective methods, process and techniques can be used to
develop a quality software that is suitable to the current environment of the insurance meeting its
requirements. Best possible means and methodologies can be applied form early stages that prevents
bugs and defects in the software providing proper framework to the software. This helps to develop a
quality software that functions smoothly without any problems.

• Execute:

The sound execution of the designs, methods and techniques is possible using the functional
paradigm. The paradigm simplifies the design of software and assures that each modular part
performs their respective task and have low coupling. The newly proposed software of the Chun
Devi Suppliers (CDS) can be developed on the set deadline and estimated cost due to easier
execution of designed modules.

• Analyze results:

After the execution of the designed modules and framework, the functional paradigm helps to
analyze the results generated. It helps to examine whether the results generated satisfy the needs of
the Chun Devi Suppliers (CDS) or not. It evaluates the performance, usage, stability, functionality,
robustness, security and other key features of the quality software that maintain the standard of the
software so developed. This results in development of quality software that Chun Devi Suppliers
(CDS) wants.

• Generate feedback:

After the proper evaluation of all the factors that determine the quality of the software, the paradigm
even generate the feedback where necessary changes and improvements are needed to be carried out.

Name (HND/ Second Semester)


This helps to remove all the defects, bugs and weakness present in the software and improve the
quality.

• Packing and storage:

When all the defects and loopholes present in the software are removed, a quality software is formed.
Thus, proper packing and storage of all activities and functions that are carried during software
development is done. Proper documentation even helps to raise the software quality that help in ease
access of the software functions.

The functional design paradigm results in better models in terms of characterization of the software
business, a better articulation of goals, and a better understanding of the relationship between
processes and their effects in each cycle that ultimately helps to improve the software quality.

In-order to improve the software quality, the use of the function design paradigm is the most
important. Function design paradigm is the main part of the software development lifecycle. It is
available in each model.

It is the process of

 Design

 Maintenance

 Programming
It helps us to develop the software efficiently and easily. And it also improves the quality of the
software. Therefore, I have used the function design paradigm in-order to improve the quality of the
software. Every paradigm such as waterfall, agile, spiral, v-model etc. are different important for
improving the software quality.

Evaluation of different function design paradigm to improve software quality are given below

Defining:

After planning stage, the defining stage comes. The defining stage is based on the planning.
According to planning, we define the requirements. It is done through the software requirement
specification. It consists of all the products requirement. And that product requirements must be
designed and developed.

Name (HND/ Second Semester)


Example: we also define the requirements like IDE tools, programming language, Programmer, UI
Designer, Database Designer, etc. which is required for the development of the software for the
Chun Devi Suppliers (CDS).

Designing:

In this stage, the architecture of the software is designed. There is different model on which basis the
software can be designed according to the time, budget and requirements. It clearly defines all the
architectural modules of the product. The communication and the data flow representation with
external and third-party modules can be designed.

Example: we also use spiral architecture for the development of the software for Chun Devi
Suppliers (CDS).

Building:

In this stage, the work of building the software is started. In this stage we work on the coding, UI
designing, database designing.

Example: we use php for coding part, MySQL for database for the development of the software for
the Chun Devi Suppliers (CDS).

Testing:

It is the most important stage in which we can test the quality and the implementation of the
software. in this stage, if we got any defect in the software, the we can also easily remove the
defects. We have to hire the tester who test the software before deploying to the market.

Examples: likewise, we also hire the tester who test the software for Chun Devi Suppliers (CDS).
The software is used for the payment online from the home itself, throwing notification about
payment dates etc. and the software is very good and can be deployed to the market.

Deployment:

It is the last stage of the SDLC. In this stage, the software is deployed to the market, so the user and
customers can take the advantages of the software. The above steps of function design paradigm help

Name (HND/ Second Semester)


to improve the quality of the software. Now but the software quality is different in each paradigm of
software development. Further evaluation is given below.

Evaluation of Function Design paradigm in each model in improving the


development software quality
1. Waterfall mode

We can easily plan and schedule the project. The product can be developed early and easily. It has
Clearly defined stages. We can easily identify between phases and activities. There is easily control
of the departmentization. There are strict rules in each stage unlike the iterative. User can easily
understand the project and the product. It is easy to remove errors and flaws because there is control
at each stage. Due to these advantages the software quality gets improved.

2. V-model Development

Development and progress are done in organized and systematic way. It works well for smaller to
medium sized projects. Ambiguities are identified from the beginning because testing is done at early
stage. It is very easy to manage because each phase has good objective. Due to this advantage the
quality of the software gets improved.

3. Agile model Management

Management is easy. Developers becomes flexible to the work. The planning process is very little. It
enables the concurrent development and deployment of the products. There is very less rules and
regulation and documentations. Functionality is developed rapidly and demonstrated. It promotes the
team work and cross training. Realistic approach is provided. Due to these advantages, the quality of
the software becomes is improved

4. Spiral model

We can analyze risks in this model. It is very helpful in big projects. The early delivery of the
software is applicable. Required things can be added at the last stages also. It is controlled by the
strong documentation. Due to these things, the quality of the software used to improve.

In this way, each function design paradigm is important to improve the quality of the software in
their own way.

Name (HND/ Second Semester)


Conclusion
The system investigation tools and techniques help to investigate about the current existing system of
the Chun Devi Suppliers (CDS) and provide information about newly proposed system that the
company wants to develop. I have clarified about the stakeholders and how they can affect the
development of the product. I’ve also written and explained the different requirements of the clients
in the software of the new system of CDS, there I’ve also included the input, output and process

Name (HND/ Second Semester)


descriptor in the software development. I have also explained all the alternative solutions and others
along with security considerations, use of quality assurance and identified the constraints. I have also
clarified about the DFD and ER diagrams with examples and figures, finally I have also explained
about the requirement tracing with examples and also included approaches to improve software
quality.

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

Name (HND/ Second Semester)


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 finite state machines (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 this part of assignment, I will be documenting and explaining how the users and software
requirements will be addressed. I will also be tabulating the clients expected and actual outcome, I
will also talk about different software specification methods and also suggest two different software
behavioral specification methods. I will also be discussing some software specification techniques

Name (HND/ Second Semester)


using flowcharts, pseudo codes, etc. the differences between finite state machine and extended finite
stare machine were also highlighted. Similarly, I have discussed about two software behavioral
specification methods relevant to the newly proposed system of the Chun Devi Suppliers (CDS) and
also discuss about the different software specification methods and will be suggesting the two
different software behavioral specification methods and will be illustrating their use with an example
relevant to the project that needs to be constructed for the given context.

Scope of Work
Chun Devi Suppliers (CDS) has a traditional software system which will be upgraded to a software
that enables user to manages records to keep track of user enquiries about information and payment
of its services, and making claims etc.

Name (HND/ Second Semester)


Scope is the process of developing a detailed description of the project that outlines the objectives of
the project that must be addressed to produce suitable and satisfactory outcomes. The proposed
system by the Chun Devi Suppliers (CDS) operating in Nepal helps to keep track of customer
enquiries about information and purchase of its products and services and making claims allowing
fluctuating currency exchange rates. The system provides a wider range of products and services to
accommodate the needs of the international market. It reduces the risks of the previous system such
as slow performance, difficulty in searching of employee’s records, time consuming and minimal
security so that records of the customer can be safeguarded and maintained efficiently saving time
and enhancing productivity. Following are the system requirements which I addressed below:

Once the user is login s/he needs to get the following access if they have administrative privilege:

1. Employee with administrative login can create and manage accounts and systems.
2. User will be provided an ability to contact Chun Devi Suppliers support on any topic which is
relevant to that context.
3. They should be given ability to upload files, links, multimedia to discuss and collaborate.
4. System administrators should modify the system’s configuration and make appropriate
updates.

If the user login to the system as an employee and employee they will have the following ability
inside the system:

1. They can reply to enquires on a group level or a personal level.


2. Users and employee who are logged in to the system can share the content on a group level /
individual level.
3. Will be able to search the content and easily navigate to different pages.

User requirement includes the detailed requirement about an application which the client wants that
are undertaken by the developer for developing an application. A good and clear user requirement
plays a vital role while developing a successful application effectively without any bugs. If the
requirement of the users is not collected properly then a developer would always become fail to
develop a successful project. It must be understandable to the clients and all the stakeholders,
especially the people who support financially to the develop to develop the software so that they can
play smart by telling developer what to do in case if they want to. It is addressed or collected by the
clients who ordered to develop the application and by some users of an application.

Data Collection Process

Name (HND/ Second Semester)


Data collection is the method of collecting and evaluating data, information or any variables of
concern in a standardized and defined way that allows the collector to answer or test the hypothesis
and assess the results of the collection. It concerns precise data acquisition, although techniques may
vary depending on the sector, the emphasis stays the same on ensuring precision. It is a research
element in all areas of study, including physical, social, humanities, and company.

The primary objective of data collection is to capture quality evidence that enables analysis to
produce convincing and reliable responses to the issues posed. Before creating software for the
college, I correctly gathered information that helped to effectively finish the software. I had used
different data collection methods that are given below.

• Interviews:

An interview can be described as conservation between two or more people when an individual is
requested to obtain the answers or answers they require. The person who asks questions is called as
an interviewer in an interview and the person who answers the questions is called as an interviewee.
This is the most significant and efficient information collection method. I asked various questions
such as what software features, they want, software requirements, etc. Different company employees
and high-level individuals form Chun Devi Suppliers (CDS) were interviewed by the system analyst
about the existing system and changes that might be required in new system. Different stakeholders
were interviewed asking various questions useful for designing the new system.

• Questionnaires:

Questionnaire can be defined as a study tool that consists of a sequence of issues to collect data from
participants. The greatest benefit of the questionnaire over some other method of information
collection is that it is inexpensive, does not require as much effort as in the interview or other
method, and it often has standardized responses that make it easy to compile information. To gather
more information from the majority of the employee and customers, I asked questionnaires with
some significant issues and sent them to employee and some users so that they could understand
their views or suggestions that could be included in the software. I have some new characteristics
and requirements that were not discovered in the interview and that features were also included in
the college management software Various inquiries and questions are provided to the Chun Devi
Suppliers (CDS) members that are working for the existing system related to its framework,
restrictions and implementation. In order to get reasonable report, the current framework was
surveyed respecting the current process and creating polls among the members working there. We

Name (HND/ Second Semester)


then gathered the views and perception of the members through the sample of questionnaires
provided to them.

• Focus group:

Different stakeholders and trained offices personnel were gathered together for discussion about the
new system that was needed to be developed and requirements were prioritized.

• Investigation of document:

Different documents of the insurance such as framework of the existing system, working procedures
of the company, business plan, proposal and register of the company were investigated.

• Observation:

Direct observation was carried out to understand working mechanism of the company that provide
detail concept on how company and the existing system operate. Observation can be defined as the
act of recognizing from something seen or experienced something or a judgment or inference. An
individual can learn much stuff or enhance them by correctly watching others. I started to follow the
organization for a day after the interview and questionnaire, so I could add new features in the
college management software. I used to go to the college on a regular basis. I received some fresh
characteristics after a few days that the principal and the board of directors enjoyed too

After the deployment of the online purchasing system, the software is thrown to the market. After
some days the feedback is taken from the users that the users’ requirement is addressed by the
software or not.

S.N. Expected Client Requirements Actual Output


1. Adaptable memory limitations Adaptable system requirements with current technology, i.e., 10
with the client workplace GB of accessible space and minimum processor speed (i.e.,
Intel i5, 2.5 GHz)
2. Customer data backup and The data of all clients will be stored in the center server and can
recovery be backed up if needed.
3. Separate accounts by individual Available system with an account administrator and different
level user accounts for stakeholders, employees.
4. Update and Maintenance System updates agreement and periodic monitoring for proper
system operation.
5. Supported in any new operating Supports Operating Systems (i.e., higher than Windows XP
system version)
6. High Security Appropriate authentication, Strong coding standard

Name (HND/ Second Semester)


implemented
7. Online Service Can use internet emails and customer service to contact the
company.

From the above table, we can analyze the expectation of users and actual output of the users. After
analyzing, we can conclude that some expectations of the users are not met. But the other expectation
is met.

Recommendation
The new system developed is a praise worthy software and use friendly system that addresses all the
requirements of Chun Devi Suppliers (CDS) and customers. The software is designed in a way that
employees and customers of the Chun Devi Suppliers (CDS) can easily operate. However, for the
proper functioning of the system, maintenance must be carried out on routine basis. It is essential to
carry out upgradation with the changing environment. Many features can be added in the system and
can accessed from any devices. A proper documentation has been formed that help the technical and
non-technical users to utilize the system effectively.

Conclusion
Documentation consists of the product technical manuals and online information. In this task, I have
created a documentation discussing the background information, scope of project, data collection
process, and summary and some recommendations for the project to support a system investigation
and evaluated how user and system requirements have been addressed.

Different Software Specification Methods


A general review of the intended purpose and environment is a software specification for the
development of software. It describes fully how the mechanism is supposed to work. The main
benefit of the product specification is that it allows developers to minimize their time and effort to
achieve the goals and minimize expenses. The aim is to explain how software communicates with
system hardware, other applications and users in a wide range of real-life situations. It defines both
functional and non-functional specific requirements and has a series of use scenarios explaining the
relationship between the user and the application.

Name (HND/ Second Semester)


This helps to provide a premise for how the tech product can operate between staff and service users.
The software evaluation documents necessary and sufficient venture improvement criteria. A product
specification further helps customers because developers also charge the customers less costs
because the production costs are lower. Some important benefits of software specification are as
follows:

a) It helps in minimizing developers' time and effort.

b) It minimizes development costs.

c) It helps integrate with the instruments for development and testing.

d) It defines what is going to be done by the software and how it is supposed to conduct.

e) It automatically produces records.

Flow chart
A flowchart is a diagram representing an algorithm of a method, system or computer. It is used for
studying, recording, improving and planning in clear and simple to understand the topics in different
areas. It's also a strong tool for company. A businessman can improve his company with the help of
appropriate use of the flow chart. In company, flow chart can be helpful for marketing, engineering,
students, production etc. It has various types such as document flowchart, system flowchart, data
flowchart etc.[ CITATION min \l 1033 ].

The most frequently used flowchart symbols compared to others are as follows:

S.N. Symbol Explanation


1. Any Processing function
Process

2. Data that can be read by people (such as printed


Document output)

3. It allows the program for branching and looping.


Decision

Name (HND/ Second Semester)


4. Indicates the input and output operation.
Data

5. Method of computer storage

Database

6. Indicates the sequence of operation


Flow Arrow

7. Marker for another process step or series of


Pre-defined process flow steps that are formally defined
process elsewhere

8. On-page connector/reference The on-page connector uses letters inside the


circle to indicate where the adjoining connector is
located.

9. Off-page connector/reference The off-page connectors use the page number


where the next part or the previous part of the
flowchart is located.

The basic flow of the system is as shown in the flowchart below. Firstly, the user enters into the site
by entering the URL or being redirected from some other pages. Any users can get the public access
such as Chun Devi Suppliers (CDS) news. But if any users are the member of system S/he can login
as administrator or normal user. And if the login information is correct then they can surf the
software as user where admin can make many changes within the system such as manage stock,
attendance and more to the Chun Devi Suppliers (CDS).

Name (HND/ Second Semester)


Flowchart for Login Module:

Fig: Flowchart of login module

Name (HND/ Second Semester)


Flowchart for Attendance Module:

Fig: Flowchart of attendance module

Flowchart for Delete Module:

Fig: Flowchart of delete module

Name (HND/ Second Semester)


Flowchart for Logout Module:

Fig: Flowchart of logout module

Pseudocode
Pseudo code is a famous programming analysis tool which is very close to the program. Pseudo
means ‘false’ and code mean ‘command or instructions. Therefore, pseudo code means a false code.
Here false does not mean wrong. The code which is exactly not real code in a particular
programming language but looks like a program is the real meaning of pseudo code. Pseudo codes
are phrases written in ordinary natural language[CITATION wha \l 1033 ]. The pseudocode also
helps to create an outline or a rough draft of a program.

Advantages of pseudocode

1. Converting a pseudo code to a programming language is much easier.

2. Easier to modify.

3. Involves much less time and effort.

Name (HND/ Second Semester)


Disadvantage of pseudo code

1. Complex to understand for beginners.

2. No common standard.

The pseudo code for the Chun Devi Suppliers (CDS) software according to our scenario is given
below:

1. For Log in

DO UNTIL n==0

CALL login page

CALL INPUT Enter username

CALL INPUT Enter password

IF Username==TRUE & password==TRUE THEN

DO

DISPLAY you are successfully logged in

ENDDO

ENDIF

ELSE
DO

DISPLAY username and password is incorrect

n--

ENDDO

2. For new enrollment of employee in Chun Devi Suppliers (CDS)


CALL generate ID

CALL input string for employee’s first name

CALL input string for employee’s last name

Name (HND/ Second Semester)


CALL input string for employee’s post

DO

DISPLAY “Record added successfully.”

ENDDO

3. For modifying the record into the system

If Name equals name, THEN

DO

CALL Modify

ENDDO

ENDIF

ELSE

DISPLAY “Record not found”

4. For deleting the record in the system

IF name equals name, THEN

DO

CALL Delete

ENDDO

ENDIF

ELSE

DISPLAY “Record Not Found”

5. For searching the record in the system

IF name equals name, THEN

Name (HND/ Second Semester)


DO

CALL display

ENDDO

ENDIF

ELSE

DISPLAY “Record Not Found”

Here, we made the pseudo code of the Chun Devi Suppliers (CDS) software according to our
scenario for login, log out, changing policy, fee payment and seat booking. We have shown the work
flow of software in the pseudo code when the user uses software of Chun Devi Suppliers (CDS).

Formal Specification Methods


It uses languages with mathematically defined syntax and semantics, and offer methods to describe
systems and their properties. The functional aspects of a specification must describe a system's
interface and its performance. Interface specification includes the source/destination, type, range and
format of inputs/outputs, whereas performance specification may include dynamic response
characteristics, system response to external disturbances and exception conditions such as failures of
power, hardware, software, and so on. The strength of a formal method rests on the level of formality
and expressiveness afforded by its specification language, and availability of tools that support the
method for developing the system in strict conformance to the system specification. So, a formal
method may be placed in its category depending upon its strength and practical use, which in turn
depend on the four pillars mathematical basis, type of systems, level of formality, and tools support.
Formal system specification complements informal specification techniques. Formal specifications
are precise and unambiguous. They remove areas of doubt in a specification. Formal specification
forces an analysis of the system requirements at an early stage. Correcting errors at this stage is
cheaper than modifying a delivered system[ CITATION unf \l 1033 ].

Behavior Specification
The behavior specification describes the behavioral relations between classes, i.e., the methods. By
specifying the behavior separately from the structure, you can program adaptively, so that your
program is easier to evolve. By convention, behavior is defined in files with the extension. Each of

Name (HND/ Second Semester)


these files may have several sets of methods, grouped according to some criteria, but even methods
for the same class may be spread across multiple behavior files[ CITATION Dou00 \l 1033 ].

A technique for software system behavior specification appropriate for use in designing systems with
concurrency is presented. The technique is based upon a generalized ability to define events, or
significant occurrences in a software system, and then indicate whatever constraints the designer
might wish to see imposed upon the ordering or simultaneity of those events. Constructs
implementing this technique in the DREAM software design system are presented and illustrated.
The relationship of this technique to other behavior specification techniques is also discussed.

Types of Behavioral Specification Method


The behavior specification describes the behavioral relations between classes, i.e., the methods. By
specifying the behavior separately from the structure, you can program adaptively, so that your
program is easier to evolve. The types are as follows:

Algebraic Specification:

It is a software engineering technique for formally specifying system behavior. Algebraic


specification can be cumbersome when the object operations are not independent of the object
state[ CITATION ccs \l 1033 ]. An algebraic specification achieves these goals by defining one or
more data types, and specifying a collection of functions that operate on those data types.

Model-based Specification
It is an approach to formal specification where the system specification is expressed as a system state
model. This state model is constructed using well-understood mathematical entities such as sets
and functions. System operations are specified by defining how they affect the state of the system
model. The most widely used notations for developing model-based specifications are VDM
and Z (pronounced Zed, not Zee). These notations are based on typed set theory. Systems are
therefore modelled using sets and relations between sets. The Z notation is a mature technique for
model-based specification. It combines formal and informal description and uses graphical
highlighting when presenting specifications[ CITATION csm \l 1033 ].

Finite State Machine and Extended Finite State

Name (HND/ Second Semester)


Finite State Machine
A finite state machine (sometimes called a finite state automaton) is a computation model that can be
implemented with hardware or software and can be used to simulate sequential logic and some
computer programs. Finite State Machine is used for the problems of models such as math, sports,
etc. it is also used in technologies. As a control, each machine command is entered on the status
machine which changes one or more states and may lead to other activities. The small number of
possible states can only be used as implementation methods to tackle and resolve issues in the finite
state machinery. It also serves to define the format for the developer and the company responsible for
structured solutions. It's usually quick, effective and convenient. Finite State Machine has the phase
in which each transition is related to and shown by inputs[ CITATION Mih96 \l 1033 ].

For example, in the case of a parking ticket machine, it will not print a ticket when you press the
button unless you have already inserted some money. Thus, the response to the print button depends
on the previous history of the use of the system.

Applications of Finite State Machine


Following are the different application of FSM:

1. They are easy to design, implement and execute.


2. It helps to illustrate the designer’s sight with FSM’s execution components.
3. Modeling the finite state machine lowers the equipment.
4. FSM can be predicted considering a collection of outputs.

Advantages of Finite State Machine


The advantages of Finite State Machine include the following.

1. Finite state machines are flexible


2. Easy to move from a significant abstract to a code execution
3. Low processor overhead
4. Easy determination of reachability of a state

Disadvantages of Finite State Machine


The disadvantages of the finite state machine include the following

1. The expected character of deterministic finite state machines can be not needed in some areas
like computer games

Name (HND/ Second Semester)


2. The implementation of huge systems using FSM is hard for managing without any idea of
design.
3. Not applicable for all domains
4. The orders of state conversions are inflexible.

There are two types of Finite State Machine which are explained given below:

1. Deterministic finite automation

2. Non-determine finite automation

Deterministic finite automation

Deterministic finite automation is a finite state machine which receives and discard the string of
symbols and helps to produce the unique computation for each of the input string of the automation.
It is also used for to solving the various problems that has implemented in the hardware and
software. It is one type of abstract mathematical thought. Deterministic finite machine is usually
represented through five tuple and that five tuples are given below:

Q = set of finite state

∑= finite state, nonempty input letters

∂ = a number of transitional tasks

q₀ = the beginning point

F= Set of accepting final state

Non deterministic finite automation

In non-deterministic finite automation, each of the state could be zero and two or more transition
corresponding to a specific symbol. As each of the state is zero, so it can use null transition which is
indicated as є. The null value of the non-deterministic finite automation of the machine can allow to
jump from to state to another directly without need to read a symbol. In this automation we cannot
determined the exact state machine. The non-deterministic finite automation represented through five
which are given below:

Q = a finite set of states

Name (HND/ Second Semester)


∑= a finite set of symbols called the alphabets

∂ = a series of transition functions

q₀ = an initial state from where any input is processed

F= a set of final state

Extended Finite State Machine (EFSM) Model


The transition can be expressed by a 'if statement' on an extended end-state machine by a number of
trigger conditions. If all activation requirements are met, the transfer will be activated, from the
current status to the next state, and the data transactions will be performed. Extended state machines
are models and are also employed in a wide array of structures. By inserting the local variables in the
extended finite state machine, the state number can be decreased. They reduce the number of states
by stored less important data. In general, data that does not have a strong effect on conduct is shown
as a variable on the extended final machine[CITATION Kha16 \l 1033 ]. In general, in the extended
finite machine, data that does not have a powerful effect on conduct is depicted as a variable. It is
mostly represented through 7 elements tuple and they are given below:

I = a range of entry words

O = a range of output words

S = a range of figurative statement

D = a linear n-dimensional space

F = a range of allowing features

U = a range of allowing functions

T = a transfer relationship

Application of Extended Finite State Machine


The following are some applications of E-FSM:

1. It can be controlled in different instruments such as clock, sensors, etc.


2. It stores less data to decrease the number of states.
3. Because extended finite machine is a modeling strategy, it has been used for a wide range of
organizations.

Name (HND/ Second Semester)


Difference between Extended Finite State Machines and Finite State Machines
An FSM always performs a transition on a given input from one state to another an EFSM however
only performs a transition when a given set of conditions have been satisfied. An EFSM allows you
to also use variables for example you could implement a for loop. This allows you to easily model
algorithms that would otherwise require a combinatorial explosion of states.

Finite state machine Extended finite state machine


1 It is a compositional model that is implemented It is the composition of the model in which a
using hardware or software that is used to model system transaction is expressed in if statement,
sequential logic and some computer programs. which consists of a set of conditions that trigger
a system operation.
2 They are used in many fields, such as mathematics, They are widely used in computer science and
artificial intelligence, games, and linguistics. software development, especially in software
analysis and testing.
3 They are easy to use when specific, simple input Depending on the start condition, the transaction
can cause a state change from one to the other. is started, and then the machine is transferred to
the next state and performs the operation.
4 It is an abstract machine that can be in exactly one In an extended finite state machine model, the
of a finite number of states at any given time transition can be expressed by an “if statement”
consisting of a set of trigger conditions.

Justifications on Data Driven Software to improve reliability & effectiveness of


software
Data driven software is one that automates process, problems and opportunities. In data driven
software, data is the centric part of the architecture and all the remaining parts are designed around
this. Data driven applications are more communicative and exploratory allowing the user to perform
a variety of task quickly and easily. They help in exploring data relationships, exporting or importing
files, browsing and filtering large sets of data and interacting with other systems. The data driven
software helps to establish patterns between operational and business activities. It helps to make
rational decisions that are more suitable and productive.

Improvement of reliability and effectiveness by data driven software


The use of data driven software allows the users to easily access, improve, analyze and share their
data in seamless, unified environment. The traditional software used by the Chun Devi Suppliers
(CDS) created problems in capturing analytical insights, making decisions and taking appropriate

Name (HND/ Second Semester)


actions on the users. With the use of data driven software all the difficulties and issues present due to
the old traditional system can be eliminated completely and help to make reliable and rational
decisions. Similarly, the availability of data driven testing help to enhance the reliability and
effectiveness of the software. The data driven testing test methods, describes increased capability in
identifying bugs, and can effectively ensure product quality with legitimate inputs that further
assures thriving deployment.

The data driven software is one of the best characteristics which can improve the reliability of the
software. So, I have also used in my software. so further justification is given below.

Essentially, there are two types of data:

1. Quantitative data is numerical data (such as analytics or statistics) that tells us things like how
many visitors your site received, how long they stayed, and how they got there
2. Qualitative data is non-numerical data that helps to tell you about the how or why of our users’
behavior
There’s a common misconception that quantitative data is more important or reliable than qualitative
data. Sure, quantitative data is easier to gather and analyze (and numbers seem more ‘scientific’), but
it’s essentially meaningless without qualitative data. So, what is good quality data in this context?
Empirical data. Empirical data is data that’s been gathered through intentional and rigorous
observation and experimentation. The best empirical data sets out to answer a specific question or to
address particular problem. Aimless data collection that doesn’t focus on specifics is basically
useless: it’s hard to sort through and even harder to turn into something productive.

The data driven software can improve the software by following ways:

1. By informing about Design decision

Data -driven design is the best thing in the software world. It gives us more information about
what works and what falls. Sometimes in the design process there become more priority for gut
feeling and personal references than rational design decision making. It gives the decision to
collect better data. The better data helps to make better decision. It helps us to collect the
qualitative and quantitative data which helps to make the software effective

2. By changing track over the time

It helps us to make changes in the software. The great changes are made with the help of it. Then it
helps to collect data after making some changes in the software. Then if the data are collected then

Name (HND/ Second Semester)


the it says that the software is working. It helps us to make good decision if we are collecting data
for long time. It also helps us to know that what users are liking and what they are not liking. After
actually knowing the likes and dislikes, we can make changes in the software according to the
user’s choices.

3. By finding problems with their solutions


The data- driven character helps us to find the problems in the software. It also helps to find the
solutions of the problems. It helps us to collect robust data which helps us to solve the problems.
Sometime some unsatisfied customers are leaving the software and we are unknow about that. So, it
helps us to find out the reasons the customers un-satisfaction. So, it helps us to collect data which
helps to find the solution of the problems by knowing that what type of data customers are liking. So
that type of data is used to make the software.

4. By knowing about the users better

It helps us to know more about the users which are using the data. it gives us the information like
age, profession, work, gender, likes dislikes of the users. No user wants to use the bad experience in
his/her life. No user wants to use the bad experience in his/her life. The satisfaction of the users must
be the ultimate goal of the software otherwise the users would fail to use the software. so sometimes
we cannot know about the users. So, we have to collect the qualitative as well as the quantitative data
which helps us to know much better about the users. The good data provides information, behavior
about the users which helps us to know what the users exactly wants. Then we make changes in the
software and then we make the software effective.

5. Test automation

The data driven software automates various business process, problems and opportunities. It helps to
store the information like data inputs or outputs, expected outcomes get stored in the form of suitably
managed text records. In case of any changes in functionality of the software, the business
functioning scripts can be changed that reduces the unnecessary duplication of automated testing
scripts. This results in better error handling that help to improve the software effectiveness and
reliability.

6. End to end optimization

Name (HND/ Second Semester)


The data driven software allows end to end optimization where unnecessary steps and process can be
eliminated to optimize performance and efficiency in any process. It also helps in logistics storage
and distribution that excel the performance of the software and ultimately enhance its effectiveness.

7. Real time actionable analytics

The data driven testing process involve in data driven software helps to analyze the inputs, methods
and produce quality output that improve the reliability of the software. The customers rely on the
software that produces the quality and desire outputs.

8. Split optimization

The data driven software operates on diverse data from many multichannel data sources and makes
information universally available within a single application. This reduces redundancy and help in
faster execution that automatically improve the effectiveness and reliability of software.

9. Correlation of data entities

The data driven software seamlessly combines operational and analytic capabilities and
automatically generates master data, meta data, models, schema, and graphs as the user searches,
queries, and collects data. It helps to correlate various data entities such as customers, products and
services that can be pivoted from any perspective[ CITATION inf \l 1033 ].

At last, in this way we can make the software much more effective by using data-driven software.

Conclusion
At last, I have discussed about the user and system requirements that are essential in software
development like problem statement of the Office Management solution, and why either new or
remake of the old system is needed, background information which was required before the software
development. I’ve also addressed the software behavior definitions and how it is important for the

Name (HND/ Second Semester)


system to run and work. Here flowchart diagram and pseudo code were also used and demonstrate
the system operation method of monitoring information, also FSM and E-FSM were described in the
assignment. The use of data driven software to improve the software reliability and effectiveness of
the Chun Devi Suppliers (CDS) software are clearly described that ultimately enhanced the
productivity of the Chun Devi Suppliers (CDS) addressing its requirements.

References
(n.d.). Retrieved from tutorialspoint: https://www.tutorialspoint.com/sdlc/sdlc_v_model.htm

(n.d.). Retrieved from csm.ornl: https://www.csm.ornl.gov/~sheldon/cs330/PDF/SLIDES/c11.pdf

(n.d.). Retrieved from ccs.neu:


http://www.ccs.neu.edu/home/lieber/com3205/f02/lectures/sommerville/ch09.ppt

Name (HND/ Second Semester)


(n.d.). Retrieved from unf: https://www.unf.edu/~ncoulter/cen6070/handouts/specifications.pdf

(n.d.). Retrieved from mindtools: https://www.mindtools.com/pages/article/newTMC_97.htm

(n.d.). Retrieved from tutorialspoint: https://www.tutorialspoint.com/sdlc/sdlc_iterative_model.htm

(n.d.). Retrieved from infoq: https://www.infoq.com/minibooks/data-driven-decision-making/

(n.d.). Retrieved from techtarget: https://whatis.techtarget.com/definition/pseudocode

(n.d.). Retrieved from lumenlearning: https://courses.lumenlearning.com/alamo-


technicalandbusinesswriting/chapter/unit-4-b_feasibility-report_readings-2

(2017, Aug 25). Retrieved from smartsheet: https://www.smartsheet.com/free-technical-


specification-templates

Agarwal, R. (2020, April 17). Retrieved from towardsdatascience:


https://towardsdatascience.com/predictive-vs-adaptive-sdlc-what-is-the-difference-
463596add74b

Atchuta, K. (n.d.). Retrieved from k-state: https://krex.k-state.edu/dspace/handle/2097/17640

gupta, d. (2020, March 02). Retrieved from geeksforgeeks: https://www.geeksforgeeks.org/software-


development-life-cycle-sdlc/

Hijazi, H. (2012, May). Retrieved from researchgate:


https://www.researchgate.net/publication/266144516_A_Review_of_Risk_Management_in_
Different_Software_Development_Methodologies

Jevtic, G. (2019, May 15). Retrieved from phoenixnap: https://phoenixnap.com/blog/software-


development-life-cycle

Legacy System. (n.d.). Retrieved 01 19, 2019, from


https://www.techopedia.com/definition/635/legacy-system

MIDY, M. (n.d.). blog.tuleap.org. Retrieved June 2019, from https://blog.tuleap.org/how-


traceability-requirements-tests-hits-compliance-and-quality-software-development

Naeem, M. R. (2014, December). Retrieved from researchgate:


https://www.researchgate.net/figure/Risk-Assessment-V-Model-and-its-phases-showing-
identification-and-evaluation-of-risks_fig3_273768615

Name (HND/ Second Semester)


Orleans, D. (2000, September 21). Retrieved from ccs.neu:
https://www2.ccs.neu.edu/research/demeter/software/docs/UserManual/node3.html

Yannakakis, M. (1996, September). Retrieved from researchgate:


https://www.researchgate.net/publication/2985061_Principles_and_Methods_of_Testing_Fini
te_State_Machines-a_Survey

Name (HND/ Second Semester)

You might also like