You are on page 1of 49

ASSIGNMENT

SOFTWARE DEVELOPMENT LIFE CYCLE


Table of Contents
Task 01 (P1, P2, M1, D1) ............................................................................................................................ 5
Introduction: ............................................................................................................................................... 5
SDLC ............................................................................................................................................................ 5
The stages of SDLC: ................................................................................................................................... 5
Planning ....................................................................................................................................................... 6
Defining ........................................................................................................................................................ 6
Designing...................................................................................................................................................... 6
Building ........................................................................................................................................................ 6
Testing .......................................................................................................................................................... 6
Development ................................................................................................................................................ 7
P1 Describe two iterative and two sequential software lifecycle models. ............................................... 7
Iterative Models .......................................................................................................................................... 7
Principles of Agile model: .......................................................................................................................... 7
Software Development Life Cycle Individual Assignment: .................................................................... 7
Advantages: ................................................................................................................................................. 8
Disadvantages:............................................................................................................................................. 8
Prototype Model: ........................................................................................................................................ 8
There are four types of models available: ................................................................................................. 8
When to use the model ................................................................................................................................ 8
Advantages: ................................................................................................................................................. 8
Disadvantages:............................................................................................................................................. 9
Sequential Models: ...................................................................................................................................... 9
Waterfall Model: ......................................................................................................................................... 9
The use of the Waterfall model is most suited in the following situations: .......................................... 10
Advantages: ............................................................................................................................................... 11
Disadvantages:........................................................................................................................................... 11
Model V: .................................................................................................................................................... 11
The V-Model contains numerous Verification steps .............................................................................. 12
Advantages: ............................................................................................................................................... 13
Disadvantages:........................................................................................................................................... 13
How risk is managed................................................................................................................................. 13
Risks involved in Agile Model: ................................................................................................................ 13

1
Risks involved in Prototype Model: ........................................................................................................ 14
Risk involved in Waterfall model: ........................................................................................................... 14
Risk involved in V-model: ........................................................................................................................ 14
M1 Describe with an example why a particular lifecycle model........................................................... 15
Agile model: ............................................................................................................................................... 15
Definition: .................................................................................................................................................. 15
Such as: - .................................................................................................................................................... 16
As a result: ................................................................................................................................................. 16
D1 Assess the merits of applying the waterfall model ........................................................... 17
Conclusion: ................................................................................................................................................ 19
Task 02 (P3, P4, M2, D2) .......................................................................................................................... 20
Report on Feasibility Analysis ................................................................................................................. 20
Introduction: ............................................................................................................................................. 20
Types of Feasibility Analysis:................................................................................................................... 20
Purpose of feasibility analysis: ................................................................................................................. 21
Importance of feasibility analysis ............................................................................................................ 21
Recommendations:.................................................................................................................................... 22
Components of Feasibility Report: .......................................................................................................... 22
Introduction: ............................................................................................................................................. 23
Business or Project Description: .............................................................................................................. 23
Purpose: ..................................................................................................................................................... 23
Methodologies: .......................................................................................................................................... 23
Background History.................................................................................................................................. 24
Intended Audience .................................................................................................................................... 24
Feasibility Criteria .................................................................................................................................... 24
Outcome ..................................................................................................................................................... 24
Conclusion and Recommendation ........................................................................................................... 24
Evaluate Criteria....................................................................................................................................... 24
Review: ....................................................................................................................................................... 25
Feasibility analysis in bank: ..................................................................................................................... 25
My feasibility study’s report for given project: ..................................................................................... 25
Impact on software investigation: ........................................................................................................... 25
Legal Criteria: ....................................................................................................................................... 25

2
Social Criteria: .......................................................................................................................................... 26
Schedule Criteria: ..................................................................................................................................... 26
Conclusion: ................................................................................................................................................ 27
Task 03(P5, P6, M3, M4, D3) ................................................................................................................... 28
Undertaking a software development to meet a business need: ........................................................... 28
Introduction: ............................................................................................................................................. 28
Identify stakeholders: ............................................................................................................................... 28
Identification of requirement of stakeholder: ........................................................................................ 28
Specification of scopes: ............................................................................................................................. 28
Program that tracks the student progress and assignment: ................................................................. 29
Input:.......................................................................................................................................................... 29
Process: ...................................................................................................................................................... 29
Output: ....................................................................................................................................................... 30
Generating the report of transactions done in the system: ................................................................... 30
Consideration of alternative solutions: ................................................................................................... 30
Use of quality assurance: .......................................................................................................................... 30
Identification of different constraints: .................................................................................................... 30
Cost: ........................................................................................................................................................... 31
Organizational policy................................................................................................................................ 31
Hardware requirements ........................................................................................................................... 31
Problem statements: ................................................................................................................................. 31
Data collection process: ............................................................................................................................ 32
Questionnaire: ........................................................................................................................................... 32
Data flow diagram: ................................................................................................................................... 32
There are two types of Data flow diagram: ............................................................................................ 32
Data flow diagram level 0: ....................................................................................................................... 32
Data flow diagram level 1: ....................................................................................................................... 33
Data flow diagram level 2: ....................................................................................................................... 33
Entity Relationship diagram:................................................................................................................... 34
Employ test-oriented software development management: .................................................................. 36
The following are some examples of extreme programming practices: ............................................... 37
Report bugs effectively ............................................................................................................................. 37
Have a clearly defined number of bugs ................................................................................................... 37

3
Be specific: ................................................................................................................................................. 37
Expected result and actual result: ........................................................................................................... 37
Critical evaluation: ................................................................................................................................... 38
Conclusion: ................................................................................................................................................ 39
TASK 4(P7, M5, M6, D4) ......................................................................................................................... 40
Introduction: ............................................................................................................................................. 40
User requirements: ................................................................................................................................... 40
Software requirements: ............................................................................................................................ 40
Software specification techniques: .......................................................................................................... 41
Flowchart:.................................................................................................................................................. 41
Pseudo code: .............................................................................................................................................. 42
Pseudo code example: ............................................................................................................................... 42
FMS: ........................................................................................................................................................... 42
Application of FSM: ............................................................................................................................. 43
An example of the Finite State Machine: ................................................................................................ 43
Extended – FSM:....................................................................................................................................... 43
An example of Extended -FSM:............................................................................................................... 43
Application of EFSM: ............................................................................................................................... 44
Data driven software with its reliability and effectiveness: .................................................................. 44
A Data driven software: ........................................................................................................................... 45
Conclusion: ................................................................................................................................................ 46

4
Task 01 (P1, P2, M1, D1)
Introduction:
Software Development Life Cycle (SDLC) is a development process which is used to develop a
high-quality software. SDLC is one of the fundamental procedures which is Used to developing
software in a step-by-step manner. People from different professions require software. It is widely
used in different Industries like banking, finance, and aviation. SDLC also acts like a framework
that holds some specific tasks to be achieved at every step during the software development
Process.
In above scenario they mentioned that I’m a trainee software engineer in newly Established bank.
So, in this we need to develop a banking system within 7 months. In This assignment we need to
show what we going to develop and how the work we done. Software is often developed for
specific purposes. It includes various applications such As web surfing, email services, security,
and various other applications
1.1 Explain what sequential and iterative SDLC models are, and describe
Minimum two SDLC models for each by further explaining how risk is managed
In the models you mentioned.

SDLC
Software Development Life Cycle is a process which is used to develop a high-quality software.
SDLC is one of the fundamental Procedures which is used to developing software in a step-by-step
manner.

The stages of SDLC:


SDLC is one of the fundamental procedures which is used to developing software in a step-by-
step manner. This process is divided into some stages such as:

5
PLANING DEFINE

DEVELOPMENT SDLC
DESIGNING

TESTING DUILDING

Planning
Planning is focus in to gather essential requirements from the customer. In the Planning phase,
project leaders evaluate the terms of the project. This includes Calculating labor and material costs,
creating a timetable with target goals, and creating the project’s teams and leadership structure.
Planning should clearly define the scope and purpose of the application.

Defining
Defining requirements is considered part of planning to determine what the Application
is supposed to do and its requirements. Those requirements also include defining the
resources needed to build the project.

Designing
This phase contributes to the next phase for development. When the design Specification is
organized from the essential document when the project is approved to go further.

Building
This is the phase with developers start writing codes or prepare for the
Engineering.

Testing
When the program is finished, it is forwarded to the testing department, where it is rigorously
tested for various flaws by the testing team. They either manually Test the program or use
automated testing tools, depending on the STLC (Software Testing Life Cycle)

6
procedure, to guarantee that each and every Component of the software functions
properly. Following the QA step, which ensures that the program is error-free, the software
moves on to the next stage, Implementation. The Quality Product and the Testing Artifacts are the
end results of this process. After the application has been successfully tested, we must
integrate the various modules such as login, signup, upload, claim, and services.

Development
The product is delivered/deployed to the customer for usage after successful Testing. The
Deployment/Implementation engineers are in charge of deployment. When clients begin to use the
established system, real problems will arise that must be addressed on a regular basis. In the
maintenance phase, the customer's Concerns are resolved. It is impossible to test a product
completely since the way Testers test it differs from the way customers use it.

P1 Describe two iterative and two sequential software lifecycle


models.
Iterative Models
Iterative models are a type of software development lifecycle that focuses on a simple, System
introduction that gradually increases in complexity and feature set until the final Solution is
implemented. Improvements in this sort of model may be seen fast as they are implemented during
each cycle. Agile and prototype models are the two optimization Approaches that I will discuss.
[CITATION Ite16 \l 1033]

Principles of Agile model:

Software Development Life Cycle Individual Assignment:


 It is suggested that the development team be maintained small (5 to 9
Persons) to allow team members to participate in meaningful face-to-face
Communication and work in a collaborative setting.

 Pair Programming is commonly used in agile development processes. Two Programmers


collaborate at a single workstation in Pair programming. While one is coding, the other is
reviewing the code as it is entered. Every hour or so, the two programmers trade duties.
 Rather of thorough documentation, the agile strategy depends on the release of
functioning software.
 Regular delivery to the customer representative of incremental versions of the Program at
intervals of a few weeks.

7
Advantages:
 When compared to programmers working alone, pair programming produces Well-
written compact programs with fewer mistakes.
 It cuts the project's total development time in half.
 After each iteration, customer service personnel gain the notion of new
Software goods. As a result, he can easily adjust any need if necessary.

Disadvantages:
 Because there are no official records, there is misunderstanding, and crucial
Decisions made throughout different phases might be misconstrued by different Team
members at any moment.
 -When the project is completed and the developers are assigned to another
Project, maintenance of the produced project might become an issue due to a lack of
sufficient documentation.

Prototype Model:
The prototype model is used when customers do not know the exact project
Requirements beforehand. In this approach, an end-product prototype is first created, Then tested
and improved based on user input until a final acceptable Prototype is Established,
which serves as the foundation for building the final product.

There are four types of models available:


I Rapid Throwaway Prototyping
Ii Evolutionary Prototyping
Iii Incremental Prototyping
IV Extreme Prototyping

When to use the model


When the product's requirements aren't obvious or aren't stable, the Prototyping Model Should be
employed. It can also be employed if the requirements are constantly changing. This
paradigm works well for creating user interfaces, high-tech software- Intensive systems, and
systems with complicated algorithms and interfaces. It is also an excellent alternative for
demonstrating the product's technical viability.

Advantages:
 Early in the life cycle, clients get to see a portion of the product. Customers will
be more satisfied and comfortable as a result of this.
 There is room for improvement, so new requirements may be readily met.
Missing features are simple to find.

8
 Errors may be discovered considerably sooner, saving time and money while also
improving the quality of the product.
 The produced prototype can be utilized by the developer in the future for more
Complex applications.
 Design flexibility.

Disadvantages:
 Expensive in terms of both time and money.
 There may be an excessive amount of fluctuation in requirements each time the
Client evaluates the prototype.
 Inadequate documentation as a result of constantly changing client needs.
 It's quite tough for engineers to satisfy all of the customer's requests.
 Determining the number of iterations necessary before the prototype is eventually
accepted by the customer is a risky proposition.
 After witnessing an early prototype, consumers may request that the genuine
Product be provided as quickly as possible.
 - In a rush to produce prototypes, developers may come up with
sub-optimal Solutions.

Sequential Models:
In this sort of paradigm, the developer must adhere to a set of rules, regulations, and Instructions
in order to complete the project. The waterfall model and the V model are two sequential
software development models that I will present here.

Waterfall Model:
It is quite simple to learn and utilize in this approach. In a waterfall model, each phase must be
completed before moving on to the next, and the stages must not overlap. The Waterfall model
depicts the software development process as a sequential flow of Events. This
indicates that any step of the development process may start only after the Preceding one has
finished. The stages in this waterfall model do not overlap. The entire Software development
process is separated into several phases in "The Waterfall “Technique. Typically, the
output of one phase serves as the input for the following step in This Waterfall approach. The
several phases of the Waterfall Model are depicted in the

9
Following diagram.

Requirement

Analysis

Design

Implementation

Development

Maintenance

The use of the Waterfall model is most suited in the following


situations:
 Requirements are very well documented, clear and fixed.
 Product definition is stable.
 Technology is understood and is not dynamic.
 There are no ambiguous requirements.
 Ample resources with required expertise are available to support the
product.
 The project is short

10
Advantages:
 Simple and straightforward to comprehend and apply.
 Because of the model's rigidity, it's simple to manage.
There are specified Deliverables and a review mechanism for
each step. One phase at a time is processed and completed.
 For smaller projects with well-defined needs, this method works
effectively.
 Stages that are well defined.
 Milestones that are well understood.
 Tasks are simple to organize.
 Both the process and the outcomes are thoroughly recorded.

Disadvantages:
 Until the end of the life cycle, no functioning software is
developed.
 There is a lot of danger and uncertainty.
 For sophisticated and object-oriented applications,
this is not an appropriate Paradigm.
 For long-term projects, this paradigm is inadequate.
 Not appropriate for projects with a moderate to
high risk of change in Requirements. As a result,
this process model has a high level of risk and
uncertainty.

Model V:
The V-model is an SDLC paradigm in which processes are executed sequentially in a V-Shape.
The Verification and Validation model is another name for it. The V-Model plans the testing
phase of the development phase in tandem with the development phase. On One side of the
'V,' there are Verification stages, and on the other side, there are Validation phases.
The Coding Phase connects the V-two Model's halves. The phases of A V-Model of the SDLC
are depicted in the diagram below:

11
Requirement Acceptance
Analysis Testing

System
Design Integration
Testing

Integration test design

Architecture
System Testing
Design

Unit testing
Module Unit Testing
Design
Coding

The V-Model contains numerous Verification steps, each of which is


described in detail:
Following.
I System Design
Ii Architectural Design
Iii Module Design
IV Coding Phase
V Validation Phases
VI Unit Testing
Vii Integration Testing
Viii System Testing
Ix Acceptance Testing

12
Advantages:
 Phases are performed one at a time in this highly disciplined methodology.
 For smaller projects with well-defined needs, this method works effectively.
 Simple and straightforward to comprehend and apply Software Development Life Cycle
Individual Assignment
 - Because of the model's rigidity, it's simple to manage. There are specified
Deliverables and a review mechanism for each step.

Disadvantages:
 Uncertainty and high risk.
 For sophisticated and object-oriented applications, this is not an appropriate
Paradigm.
 For long-term projects, this paradigm is inadequate.
 - Not appropriate for projects with a moderate to high risk of change in
Requirements.
 It's tough to update a functionality in an application once it's in the testing stage.
 Until the end of the life cycle, no functioning software is developed.

How risk is managed in the models?


Risks involved in Agile Model:
The agile paradigm comes with a number of hazards, which we must be aware of before we begin
producing software. Among the several hazards, the first is a lack of Specificity in work
descriptions. We need to make sure that all of the details are Available and clear for the team so
that they understand precisely what they're working on, and the easiest way to do this is to write
them down as user stories or Technical requirements. Another danger that often arises while using
the agile Paradigm is the shift in priorities or directions.
Occasionally, the project's objectives shift, and features that were not initially envisaged take
precedence over others. When this occurs, it's critical to ensure that Customers are aware of the
adjustments' impact on the growing system, as well as the project's timeframe and budget, as
discussed in previous meetings. Another Danger that many firms experience when implementing
an agile approach in their Software development process is a lack of documentation, which can
lead to Miscommunication among engineers. Because of the lack of documentation.
In this Scenario because there will be less documentation and he will be unable to keep up with
the other members. If the customer representative is unclear about the project's conclusion, the
team can quickly fall off course. This risk should not be overlooked while establishing the team,
and the client representative should be well-versed in the features that the client wants in the
system. As a result, The Agile Method has both advantages and disadvantages.

13
Risks involved in Prototype Model:
Apart from the benefits, employing the prototyping approach reduces the likelihood of software
development project failure. However, this methodology comes with its own set of hazards. The
greatest danger is that everybody who is interested in the project will judge whether the final
product is almost ready or not after seeing a functional prototype.
Another danger of employing the prototype approach is that end users expect Delivery of the
genuine system after seeing the early prototype, even if he is Dissatisfied with the original
created prototype, and he may lose interest in the Project. When utilizing this paradigm in the
software development process, iterative Prototype refinement can take a long time if not well
managed, and developers Rushing to construct prototypes may wind up with sub-optimal
solutions.
In practice, utilizing this strategy may raise the system's complexity since the System’s scope
may go beyond the initial software development plans. As this Strategy leads to adopting and
then correcting the software development process, there are a number of hazards to be aware of.

Risk involved in Waterfall model:


Because software development involves relatively few client interactions and Products can only
be demoed after they are ready, the expense of resolving faults Arises quickly after the software is
built, and we must change everything from the Documents to the logic. Another concern is that if
software development
Documentation isn't done properly, there's a good possibility you'll get off course when working
on it. When needs are at a moderate to high risk of altering, there is Always a lack of project
appropriateness utilizing this paradigm. If this paradigm is used for complicated and object-
oriented projects, there is a high risk of project Failure.

Risk involved in V-model:


Because it is too simplistic to correctly reflect the software development process, it Might lull
managers into complacency. The V-Model is based on a project Management approach to software
development, and it is designed for project Managers, accountants, and attorneys, not software
developers or users.
Although Novices can grasp it quickly, such understanding is only beneficial if the beginner Goes
on to learn more about the development process and how the V-Model must be Developed and
expanded in reality. If practitioners continue to hold a naïve Perspective of the V-Model, they will
have a tough time successfully using it.

14
1.2 Discuss, by giving examples as appropriate, why a particular
lifecycle Model is selected for a development environment.
M1 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.

Agile model:
It goes without saying that selecting the right Software Development Life Cycle (SDLC)
Methodology is a difficult challenge for any business or project management. Each
Model is not universal; thus, we must select the most appropriate model depending on the scenario
requirements. Every software engineer must be aware of their technical Capabilities,
technological restrictions, scenario needs and features, as well as the Benefits and
drawbacks of the projects selected model. We may utilize several models.
Linked to various scenarios and criteria, such as the RAD model for quick and rapid Software
development, the waterfall model based on requirements, the spiral model Based on risk and
mitigation, and so on. In this scenario, I was tasked with developing a Banking system for a newly
established Bank. After studying the provided case and Client requirements, I chose the agile
model above the others.

Definition:
I’m the trainee software engineer, and I was hired to develop a banking system for a newly
established bank. And it will have a new bank account, cash withdrawal from the Account, cash
deposit into the account, check account balance, and be capable of efficient data search.
And also, it will have the system users need to be able to print the Annual reports as well.
Every project is handled differently under this approach, and current procedures are adjusted to
the project's needs. All jobs are broken down into short time limits in order to Offer specific
features in a timely manner. Working software and customer participation Take precedence over
detailed documentation and contract negotiations.
This model also provides for a better responsiveness to change rather than sticking to the project
Plan, and each iteration comprises a cross-functional team working at the same time. Each
iteration requires a cross-functional team to work on many areas at the same time.

15
Such as: -
I. Planning
II. Requirement Analysis
III. Design
IV. Coding
V. Unit testing
VI. Acceptance testing

As a result:
As a result, I chose the agile methodology for software development based on these Criteria. There
are several reasons why this model was chosen over others such as RAD, Spiral, Waterfall,
Prototype, and so on. Because company management provided I with clarity on the elements that
they need in the application, there was no need for Detailed preparation. Because our development
team was in the same geographical Region and we frequently worked in our office, it was also
very easy for me to keep track of their progress. This paradigm allows for speedier software
development because we were likewise limited by the time allotted by the corporation.
We were able to collect input from real clients because to the agile methodology. There was never
a way that we could devote all of our effort to developing an application that the client didn't want,
so with this approach, the administration could provide us with Feedback on our work, allowing
us to stay on track. This approach includes incremental Delivery, which allowed us to construct
software according to the client's specifications.
We could send them in smaller chunks whenever the firm wanted to hear about the continuing
project, giving them the opportunity to observe the evolving product and even comment to it. As
a result, this model may be able to assist us and the customer in achieving the best potential
result. Another motivation for selecting the agile Methodology was to decrease early risk.
By giving software to the organization early and receiving feedback, we could lower the chance
of developing incorrect software.
We might lower the danger of generating incorrect software before providing the
final product to the client by continually integrating and developing bug-free software. This model
also assisted us in determining cost, time, and quality while providing us with the capabilities to
handle a variety of commercial and technical scenarios. So, when we finished developing our
program and handed it over to the firm, we were certain that we had supplied exactly what they
required. Agile also aided us in producing higher-quality Software in this way. Along with those
factors, another factor that influenced our decision was the agile model's premise of focusing on
customer happiness with the product we produced.
By upgrading the software at regular intervals and introducing new features based on their input,
we will be able to improve our relationship with clients. Developing a stronger connection with
the administration of such a large corporation would benefit us in a variety of ways. In today's

16
competitive environment, gaining their trust by satisfying them may help us land future projects
with them. Because of its suitability for all contexts, this model is used by the majority of
businesses currently.

1.3 Assess the merits of applying the Waterfall lifecycle model to develop a
Large-scale software.
D1 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.
In Large Projects, Using the Waterfall Model This is the very first SDLC technique to software
development. It is quite simple to use and comprehend. This operates on the assumption that each
phase must be finished in its entirety before the next phase of development can begin, and that
there will be no overlap between phases. The entire Software development process is separated
into discrete stages using a top-down method, and the result of one phase is used
as input for the following step in a sequential manner. Any step of the development
process can begin only after the Preceding phase has been finished. Despite the fact that this
approach is no longer employed in major software development projects, I will discuss the benefits
of using the Waterfall lifecycle model in this work.

The waterfall model was perhaps the most widely used SDLC approach. This paradigm was
utilized to handle projects by all teams and companies throughout the world. It was heavily
criticized with the advent of other models such as agile, prototype, RAD, and so on, and the agile
model gradually supplanted it due to its numerous flaws. Despite its shortcomings and
replacement, it can still be utilized in software companies for massive software development due
to its unique capabilities.
There were always significant projects that the water fall model managed before the invention of
other models. This paradigm offers developers a number of benefits during the development
process. It prioritizes the job in well-defined and obvious segments during the development
process, making the task easier to complete. This model covers the basic steps of development,
such as obtaining requirements and properly documenting them, system design,
implementation, testing, deployment, and Maintenance. Various phases are involved in
major projects, and employing this Approach allows us to properly finish each step of
development. After we finish the previous step, we don't need to glance back. This will relieve the
stress of returning to a Prior stage and making changes to the code and design. Another merits
waterfall model provides us is that the requirement is already documented on the project beginning.

17
There are numerous features to be implemented in software in large software projects, which leads
to a variety of problems. At this point, the developer can employ verification to ensure that no
features are left out of the product. Furthermore, with this approach, the team collaborates at every
stage, making it easier to detect and fix flaws and errors in the system. All of the team's and
developer's efforts will eventually contribute to the creation of a standard free program. In terms
of cost efficiency and convenience, it is ideal for large projects.

. This paradigm makes it simple for the software engineer to keep track of and make the software.
After everyone on the team has a good knowledge of the project, it may be distributed fairly among
them. They can complete their own work while waiting for their turn because this model
follows a linear sequential pattern. For example, in the development process, coding
comes last, so the programmer can work on his own while waiting for his turn, and then finish his
job once his turn arrives. This will also assist the team in obtaining their results in a timely
manner, as well as completing large development projects on schedule. We may still utilize
this paradigm in huge projects by combining its many aspects. Creation of a standard, error-free
program. In terms of cost efficiency and convenience, it is ideal for large projects.

This paradigm makes it simple for the software engineer to keep track of and make the software.
After everyone on the team has a good knowledge of the project, it may be distributed fairly among
them. They can complete their own work while waiting for their turn because this model
follows a linear sequential pattern. For example, in the development process, coding
comes last, so the programmer can work on his own while waiting for his turn, and then finish his
job once his turn arrives. This will also assist the team in obtaining their results in a timely
manner, as well as completing large development projects on schedule. We may still utilize
this paradigm in huge projects by combining its many aspects.

18
Conclusion:
The SDLC process enables us to adhere to customer orders in a more effective and systematic
manner, while also improving delivery time and efficiency. It also involves a strategy for creating,
modifying, maintaining, and replacing software systems. The spiral model shows us the different
actions we may take to remove current and potential dangers and effectively finish the
development process. It has a risk assessment function that assists us in identifying
risks, understanding their repercussions and impacts, and prioritizing risks to remove them.
Another element was risk control, which allowed us to plan and develop multiple ways for
resolving the risk and gaining full control of the system. Despite the fact that the agile
approach has significant disadvantages, I prefer it over all others I was given some criteria to
design the program, and I chose this model based on many criteria such as technical capabilities,
technological limits, and scenario needs. The agile Paradigm aided us in a variety of ways,
including developing software more quickly, Receiving user input, improving quality, and
ensuring customer happiness, among other Things.
As a result, it's critical to pick a model properly based on its characteristics, as well as its benefits
and drawbacks, so that we don't end up with a problem later. This Approach has several aspects
that benefit both developers and customers, such as Producing correct documentation and
addressing user requirements early on lowering cost and effort by making changes in the design
phase, and overall assisting in the development of a standard and effective program.

So, we've come to the conclusion That Systems Analysis and Design are critical to understand
lowering cost and effort by making changes in the design phase, and overall assisting in the
development of a standard and effective program. So, we've come to the conclusion that Systems
Analysis and Design are critical to understand.

19
Task 02 (P3, P4, M2, D2)
Report on Feasibility Analysis

Introduction:
A feasibility study tries to A feasibility report is a report that evaluates a set of proposed
project paths or solutions to determine if they are viable Objectively and logically discover
The strengths and weaknesses Of a current firm or new Enterprise, as well as the
Possibilities and risks that exist In the environment, the Resources needed to carry out
The project, and the likelihood of Success. In its most basic form, the two factors for
determining Feasibility are the needed cost And the value to be obtain.
A well-designed feasibility study should include information on the company's or project's history,
a description of the product or service, accounting statements, operational and managerial details,
marketing research and policies, financial statistics, legal needs, and tax duties. Feasibility
studies are usually conducted before technological development and project implementation.
A feasibility study evaluates alternative solutions to a business problem or opportunity
and concludes which are viable for future investigation. Its primary value is that it aids in the
presentation of project parameters and the definition of prospective outcomes for the identified
issue, need, or opportunity. The report comprises significant data relating to financial and
operational effect, as well as benefits and drawbacks of both the present state and the suggested
plan.
It is a study of various solutions to a problem and a suggestion on the best approach to employ.
Following the feasibility assessment, a report is prepared that explains and examines different
options or strategies to achieve project success. It aids in narrowing the scope of the project in
order to discover the optimal scenario for completion. We must do a feasibility study at the
planning phase of any project, and the report provided will assist us determine if the project is
worthwhile or not. It boosts our confidence and can be pricey at times, but it is preferable to know
whether a project will succeed or not by doing a feasibility study.
A feasibility study enables businesses to assess and arrange all of the facts necessary to run a
successful business. It aids in the identification of logistical and business issues, as well as their
remedies. It can also lead to the creation of numerous methods so that we can devote our time
and resources to the most appropriate project.

Types of Feasibility Analysis:

 Technical feasibility
 Economic feasibility
 Legal feasibility
 Operational feasibility
 Scheduling feasibility

20
Purpose of feasibility analysis:
A feasibility study is used to determine if a proposed project or concept should be pursued by
assessing whether it is practical and feasible. A feasibility study can reveal the plan's advantages
and disadvantages the importance of a feasibility study stems from the goal of the organization to
“get it right" before investing resources, cash, and time in a project. It might lead to the discovery
of fresh ideas that fundamentally alter the scope of a project. It's always better to make those
decisions ahead of time rather than starting a project that won't function.
The feasibility study's findings provide us and our stakeholders with a clear image
of the planned project, which is always advantageous. When working on a project or developing
software, the feasibility study is the second document produced after the business case,
and it assists us in determining the elements that will decide the success of the business
opportunity given in the project.

The importance of a feasibility study stems from the goal of the organization to “get it right" before
investing resources, cash, and time in a project. It might lead to the discovery of fresh ideas that
fundamentally alter the scope of a project. It's always better to make those decisions ahead
of time rather than starting a project that won't function.

The feasibility study's findings provide us and our stakeholders with a clear image
of the planned project, which is always advantageous. When working on a project or developing
software, the feasibility study is the second document produced after the business case,
and it assists us in determining the elements that will decide the success of the business opportunity
given in the project.

Importance of feasibility analysis


The value of a feasibility study stems from the goal of an organization to "get it right" before
investing resources, time, or money. A feasibility study may unearth fresh ideas that totally alter
the scope of a project. It's preferable to make these decisions ahead of time rather than rushing into
a project only to discover that it won't work. A feasibility study is usually advantageous to
a project since it provides you and other stakeholders with a clear picture of what
is being proposed. In addition, there are some key benefits,
 Narrows the business alternatives
 Identifies a valid reason to undertake the project
 Enhances the success rate by evaluating multiple parameters
 Aids decision-making on the project
 Identifies reasons not to proceed

21
Recommendations:
In this approach, doing a feasibility study is usually beneficial while working on a project. The
major goal of a feasibility study is to determine whether or not a project is worthwhile, and if the
report yields a negative result, it provides one chance to correct the problem before investing time
and money in the project. It informs us about the many possible hazards in that project so that we
may reduce them early on before they become a major issue. Not only does it urge us to get rid of
project ideas, but it also highlights the reasons for not moving on with the project so that we can
be aware of those reasons in the future. It assisted our firm in deciding to extend current services,
build or remodel buildings, modify methods of operation, introduce new items, and so on when
developing insurance business software.
In this way, by doing a feasibility study while working on our insurance company project, we were
able to gain a better understanding of our project, and I would advise others to do the same
Comparison of technical solutions Current technologies evaluate current resources such as
efficiency, performance, legacy systems, and technology in order to meet user needs in
The system within the time and budget constraints. The technological solution in the project can
be implemented either before or after the project is started, similar to the feasibility study. A
technical solution may be compared to a feasibility analysis since a feasibility study is performed
in order to make a better decision, but a technical solution is a solution that results in a good
decision that allows the organization to be profitable.
We may compare technological solutions based on factors such as human error removal,
performance, budget, legacy system performance, efficiency, and so on. During the lifespan of a
project, technical solution includes designing and executing solutions to technical challenges such
as finance problems, equipment problems, and so on.

Components of Feasibility Report:


A feasibility analysis evaluates alternative solutions to a business problem or opportunity and
concludes which are viable for future investigation. Its primary value is that it aids in the
presentation of project parameters and the definition of prospective outcomes for the identified
issue, need, or opportunity. Following the feasibility assessment, a report is prepared that explains
and examines different options or strategies to achieve project success. It aids in narrowing the
scope of the project in order to discover the optimal scenario for completion. It is preliminary
research conducted before the project's actual work begins in order to determine the project's
chances of success.
The report comprises significant data relating to financial and operational effect, as well as benefits
and drawbacks of both the present state and the suggested plan. It is a study of various solutions
to a problem and a suggestion on the best approach to employ. We must do a feasibility study at
the planning phase of any project, and the report provided will assist us determine if the project is
worthwhile or not. I've listed the components of a feasibility study below feasibility assessment, a
report is prepared that explains and examines different options or strategies to achieve project
success. It aids in narrowing the scope of the project in order to discover the optimal scenario for

22
completion. It is preliminary research conducted before the project's actual work begins in order
to determine the project's chances of success.
The report comprises significant data relating to financial and operational effect, as well as benefits
and drawbacks of both the present state and the suggested plan. It is a study of various solutions
to a problem and a suggestion on the best Approach to employ. We must do a feasibility study at
the planning phase of any Project, and the report provided will assist us determine if the project is
Worthwhile or not. I've listed the components of a feasibility study below,

D2 Assess the impact of different feasibility criteria on a software


investigation:

Introduction:
The proposed business or project's background information, such as the Intended name and
objective of the business, will be detailed. It also takes into account the company investors'
abilities and expertise. When we consider doing a feasibility study, we must consider who will
get the Findings of the analysis, research, and evaluation of a proposed project in Order to
evaluate whether it is technically viable, cost-effective, and lucrative. The basic summary of the
report that we are going to publish must be shown in the feasibility studies introductory section.
When I did a Feasibility study for an insurance firm, we had to show the company's Background
information, what its features are, where it operates, and so On in the report.

Business or Project Description:


This part contains information on the company or project, as well as the Nature of the industry or
project. This section requires us to provide an Outline of the project and how we plan to conduct
a feasibility study for a Specific project.

Purpose:
It is the most important aspect of a feasibility study; first and foremost, the Researcher must
comprehend the aim of doing a feasibility study in order to accomplish the intended outcome. The
major goal of the feasibility Study might be based on the desire of the organization to "get it right"
Before investing resources, cash, and time in a project. The objective of a Feasibility assessment
is to find fresh ideas that might fundamentally alter the scope of a project.

Methodologies:
Methodologies describe how to do or conduct a feasibility study correctly. It aids in the selection
of the most appropriate approach for data Collecting, data organization, and project execution. We
must use a Variety of approaches to gather data and facts about the project in order to conduct the
feasibility assessment. Questionnaires, interviews, Surveys, and face-to-face meetings are some of
the approaches used in Feasibility studies. We may learn more about the scope of a project in a
Specific place and for a certain audience by interacting with individuals.

23
Background History
A part of a feasibility study's background history is also taken into account. Gathering background
information for any project will ensure that it runs well. These elements of a feasibility study show
us the projects Background and why a feasibility study was needed for this project.

Intended Audience
These elements allude to the target audience for the software after it is completed. To do so, we
must do a feasibility study on them and determine whether or not the target population need such
software. The Success rate of software launch will be high if the produced software assists the
intended audience in making their work easier

Feasibility Criteria
The feasibility criteria are the factors that must be considered while doing a feasibility study.
Technical, social, legal, operational, economic, and Timetable requirements are among the
viability criteria. We must do Research based on those criteria when conducting a feasibility study
in a Chosen audience. For example, in schedule criteria, we must determine if the proposed project
will be completed on time, and in economic criteria, we must determine whether the money allotted
will be sufficient to complete the program.

Outcome
This component is also known as the feasibility study's final outcome. Following the feasibility
study among the intended audience, the Published report must be examined. Following the system
analyst's Analysis of the report, we may ultimately determine if the project should be begun or not.
These elements give us with the final feasibility result, and after assessing it, we may determine
whether or not to proceed with the project.

Conclusion and Recommendation


Following the publication of the feasibility study's findings, system Analysts and other project
stakeholders must collaborate to reach a final Decision. These elements offer an overview of the
project and feasibility Study to other people. After the report's conclusion has been drawn, we must
also suggest it to other projects. We must propose it to project managers so that, in the future, we
will have another opportunity to get it perfect before beginning any project.

Evaluate Criteria
It's important to remember that a feasibility study is more of a style of thinking than a formal
procedure. For example, the procedure I just described is much the same one we all go through
when purchasing a car or a home. As the scope of the project expands, it becomes increasingly
vital to record the feasibility assessment, especially if big quantities of money are involved and/or
timely delivery is critical.

24
Review:
The feasibility study should not only provide enough information to move on with the project, but
it should also be utilized to perform a comparative analysis when compiling a final project review
that compares what was delivered to what was recommended in the feasibility study.

Feasibility analysis in bank:


A feasibility study evaluates the viability of an idea, a project, or a new system that the bank
intends to implement. It is preliminary research conducted before the project's actual work begins
in order to determine the project's chances of success. The major goal of a feasibility study in a
bank's new system is to highlight potential difficulties that may arise if the project is pursued, and
to assess whether the project is a good concept after considering all relevant elements. A feasibility
study assesses the likelihood of our new system's success, therefore perceived objectives are
critical to the research's credibility with insurance companies, possible investors, and other clients.
The goal of doing a feasibility study for a new insurance company system is to determine if the
proposed system is worth implementing or whether some of its functions should be reconsidered
since they may impact us in the future.

My feasibility study’s report for given project:


My firm ordered me to undertake a feasibility study in this project after the project was offered to
us and before signing the final agreement contract. So, based on the numerous feasibility study
requirements, I began my investigation and eventually completed the project job. My feasibility
analysis was based on a variety of variables connected to the company's environment, such as
technical, economic, social, legal, operational, timetable, and so on. The documentation of my
research effort on the offered scenario project is supplied below.

Impact on software investigation:


The above-mentioned facts are merely planned while doing a feasibility study, and for such huge
projects, further technological needs such as additional computers, additional features, and
additional staff might be added as needed. All of the technological needs listed above can be met
by our company's present staff and requirements, allowing us to employ and manage those
technologies in a way that benefits system development.

Legal Criteria:
The legal criteria look at if any component of the proposed system violates any laws, such as
zoning rules, data protection laws, or social media laws. We must ensure that our system complies
with all legal requirements, such as data processing system compliance with local data protection
legislation, and so on. If these criteria are not evaluated at this point, our project may face legal
concerns after completion, and by executing these criteria, we may save time and effort by
understanding that the project was not possible from the start.
While researching the viability of our insurance firm system, we discovered whether or not the
proposed project will conflict with any country's legal act. If our project has an impact on any

25
country laws or actions, we will need to identify alternative solutions for those laws. We
discovered that our proposed system has no impact on any country's cyber laws or Data Protection
Acts, so we can proceed to the next step, which is to follow the rules and regulations in each
country where the company has a branch and implement the proposed system, which will have a
positive impact.

Economic Criteria:
Economic criteria are at the heart of many undertakings. It entails a project's cost/benefit analysis,
which aids us in determining the project's feasibility and cost/benefit analysis before allocating
financial resources. This criterion takes into account the costs of hardware, software, and user
training, as well as the necessity to plan ahead of time for the project budget after studying the
requirements. Economic analysis may also be used to assess the effectiveness of the proposed
system. Once the exact needs and solutions have been defined, the project analyst may undertake
a cost-benefit analysis to determine the costs and advantages of each possibility. During the
feasibility study, I determined if the amount allotted would be sufficient for the system's
development. The allocated budget for system development is 30 lacs, hence we must split the
funds as needed for each step of software development. I've divided the overall funding granted
by the firm into several stages of system development in the table below.

Social Criteria:
This criterion assesses whether or not the proposed project will be acceptable to the public. At this
step, we must assess the likelihood that the proposed system will be approved by the group of
individuals who would be directly affected by it. If the planned system has an impact on
individuals, we must either address those difficulties or risk creating major problems in the future
if we proceed with the project without doing so. We also determined what skills the target
population will need to learn on the job and how they will learn them whether the occupations
would fit their demands using this criterion. It includes a plan for incorporating a diverse group of
stakeholders and assesses if the organization is likely to succeed in bringing about social change.

Schedule Criteria:
This is the most crucial factor for project success; after all, a project will fail if it is not completed
on time, and the organization predicts how long it will take to complete the project. We must also
decide whether the project deadlines are realistic and whether the project schedule limits can be
reached. Some projects have particular deadlines, and we must decide whether these deadlines are
required or desired, and whether it is preferable to provide a perfectly operating information system
two months late rather than an error-prone, worthless information system on time.
Stages of system development Time taken

Planning 35 days

Feasibility study 20 days


Designing 40 days
Development 90 days

26
Testing 10 days
total 6 month 25 days

Conclusion:
In this section of my project, I've given material that discusses the purpose of a feasibility study
and how technological solutions may be compared. I've mentioned how the main goal of a
feasibility study is to highlight the potential difficulties that might arise if a project is pursued and
to assess whether the project is a good idea after considering all relevant elements. The feasibility
report is an examination of various solutions to a problem and a suggestion for the best option to
employ. It includes thorough data on financial and operational effect, as well as the benefits and
drawbacks of both the present state and the proposed plan.
I've also discussed how technological solutions may be compared using several factors such as
efficiency, performance, legacy system, and human error removal. Because a feasibility study
assesses a project's chances of success, perceived objectives are critical to the research's credibility
with possible funders or other clients. Various criteria must be met while conducting the feasibility
study, including economic, technical, timetable, legal, and social considerations. My firm ordered
me to undertake a feasibility study in this project after the project was offered to us and before
signing the final agreement contract.

27
Task 03(P5, P6, M3, M4, D3)
Undertaking a software development to meet a business need:
Introduction:
Identifying the stakeholder and knowing the client needs from the project is a vital duty for me
when working as a trainee software engineer on an ongoing project. In this section of my project,
I'll conduct a software investigation to address a business need, utilizing relevant software analysis
tools to conduct the investigation and generate supporting documentation. I'll also identify
stakeholders, determine client needs, define scopes such as inputs, outputs, processes, and process
descriptors, examine alternative solutions, and apply quality assurance.

Identify stakeholders:
Understanding the role of stake holder is the key to develop the different kind of application and
its features. Stakeholders are the people who are going to be affected directly or indirectly
to the product that we are going to develop. So, it is necessary to develop the application or a
system by considering the requirement of the stakeholders. Since I am a system analyst for the
development of the Apex institute office management system, I must be aware about the
stakeholder of this project and I need to collect all the possible information out of them so we
are easily analysis what kind of application they want us to build, there requirement and
their proposal for this development of the system. There might be the several stakeholders in a
single project. They might be institute owner, principle, institute manager, faulty member that
use the software and other who have rights to name as the stakeholder. So, I have prepared
a chart that helps us to find the higher-powered stakeholder

Identification of requirement of stakeholder:


Identifying the requirement is the main key to analysis the type of system. So, whenever
the stakeholder wants us to build the application or a system, we ask them the requirement that
they want to put in their system. to gather the requirement, we have to do proper
communication with stakeholders. There may be list of requirements that they want us to
consider and a system analysis we have to list out all the requirement that they want in the initial
phase. In the apex education institute, we are expecting the attendance features, adding
the information about the student, teacher, and management team of different branches.

Specification of scopes:
Scopes is the field that the system covers. Scope provides the outline and the design for the
project and necessary guide line for the developers. It is also known as the primary data
regarding the project for the stakeholders for developing the system. Since I am the system
analysis for building the Apex Education Institute, our specification of the scopes is as
follows:

28
Program that tracks the student progress and assignment:
 Secure and reliable.
 Accounting system underneath the whole system.
 Keeps track of attendance of student, staff.
 Generating the report and documentation.
 View the student’s information.
 Easy to understand and user-friendly design.
 Library management system.
Input, output and process:

Input:
Input is the raw data that are provided by the user to the system. it can be also defined as the raw
data that needs to be processed to turn it into the meaningful information. In our case the
input is; attendance, students’ certificate, student information, result, assignments etc.
 Email and username
 Enter the account details and paid amount
 Enter the credentials of student
 Enter the student’s name
 Enter biometric finger prints

Process:
Processing is the converting the raw data into the meaningful information. For example,
if the student submitted the information into the system then these system process and
placed in the appropriate database and shows the student has submitted the assignment.
Likewise, it is also used in the accounting system like keep track of profit and loss, and other
calculation like adding subtracting the values.
 Check authentication
 Check the student’s name in database
 Check the student assignment status
 If the student borrowed book same it in the student’s database
 Save it in the database

29
Output:
Output is the information that we get after process the raw data. Here in our project our output
might me the current profit, shown in the accounting section, information of submitted
assignments.

Generating the report of transactions done in the system:


 Login to the authorized users
 Payment is successful and marks as paid and provide paid amount.
 If the assignment is submitted it is marked if not it shows blank.
 Shows book is successfully borrowed. Shows the student information and book information.
 You are present

Consideration of alternative solutions:


Consideration of alternative solution is means to build or think alternative solutions for
the development of the project that is used when the any task of the software development failed.
The solutions proposed could help the college accomplish what they want with their new system,
such as online management of apex school. The system may not satisfy the client, so some other
solution should be considered as well.
Consideration of the alternative solutions.

Use of quality assurance:


Quality Assurance is the method of ensuring that a product meets the requirements and
expectations of the customer. It is a process-driven approach that promotes and identifies
product. Design, development and manufacturing goals. The main objective is to monitor and fix
defects before the product is released.
In general term, quality assurance means weather the developed software has met the requirements
of the client or not. It is necessary to know whether the product is ready to release or not. It helps
us in finding the lacked features or requirements of the client in the system and helps to fulfill it.
The quality assurance deals mainly expectations of the customer with three things.

Identification of different constraints:


Any limitation that specifies a project's limitations is known as a constraint. The three most
important project limitations are schedule, cost, and scope. If we impose any constraints on the
Project or development, they cannot be modified across the board. If we had a financial limitation,
the money we assigned could not be changed during the development process since it was
constrained. The different constraints in the system are as follows:

30
Cost:
We all know that the most important component of any project is its cost estimate. It is important
to estimate the costs that may be spent in the development of any software project, no matter how
little or large. During the development of the apex educational instituted management system,
the projected cost constraint was four lakhs.

Organizational policy:
Organizational policy is the set of rules and regulations that an organization must follow. There
may be some limitations we must conform when developing the system. Each member and
college stakeholder should conform to the rules and regulations so that the college's
policy cannot be changed.

Hardware requirements:
The equipment that we utilize to develop the system is known as hardware. The hardware
requirement is a limitation while building any software project since the framework will operate
well if the hardware requirements allow it. There are several hardware requirements for using the
apex educational institute management system

Background information: Apex Educational Institute (AEI) which is predominantly operating


in Nepal is offering an Apex Educational Institute (AEI) which is predominantly operating in
Nepal is offering an With over 4000 students, 75 faculty members, and 40 non-teaching staff
members spread among four departments (IT, Business, Hospitality Management, and ACCA)
and seven centers, AEI is one of the major research and academic institutes. AEI is looking
for a more advanced system that can automate a variety of academic and administrative tasks.
Attendance, record management, and accounting will all be handled by the proposed system. The
AEI's CEO is looking outside enough, and he wants a new strategy for the suggested system.

Problem statements:
A problem statement is an analysis of the existing system's problem that the college or business is
experiencing. The main problem of the apex educational instituted is that their system is very old
and cannot be manage problem. They are using the traditional types of system to record the
data and manage the college system. There is an issue with misplacing the administration's,
library's, and other records. Not only that, but if the system's worker is replaced, there's a
possibility that the information may be misinterpreted. The data is then confined to one register.
Also, there is a difficulty with registering the books as well as the names of the students who
borrowed books from the library. The apex educational instituted uses the tradition way of
recording the attendance and the accountant records. The bring the problem of the losing of
the record, there is more change of stealing the records and corruption on the college.

31
Data collection process:
The process of gathering and evaluating data, information, or any other variables of interest
in a systematic and defined manner is known as data collection. The data collecting procedure
is important for gathering the client's requirements, which we utilized to create the system. With
the help of various data collecting processes, we may collect data from the client's company.
Interview An interview is a conversation between two or more individuals in which one person is
asked to collect the answers or responses. In an interview, the person who asks the questions
is known as the interviewer, and the person who answers the questions is known as the
interviewee. An interview is one of the most used methods for obtaining customer needs.
One-on-one interviews and group interviews are the two forms of interviews. I used both
techniques for gathering requirements from clients when developing the AEIMS software. I
conducted interviews with many employees, including the principal, librarian, and accountant.
I questioned what features and specifications they would want me to add in the AEIMS software.
I gathered the interviewee's needs, which I used to develop AEIMS software.

Questionnaire:
A questionnaire is a research instrument that consists of a collection of questions or other
sorts of instructions that are used to collect information from a client. A questionnaire is a
collection of questions that can be qualitative or quantitative in nature and is usually used for
research. Data and information from users, stakeholders, and other members can be quite
beneficial. We also created several surveys for AEIMS stakeholders and requested their
feedback. I also learned several new features and requirements as a result of that process,
which were not discovered during an interview with AEIMS stakeholders.

Data flow diagram:


Data flow diagram is the is a kind of design that is used to represent the flow of data
in an organization or an operation. Here in this diagram, the head of arrow shows the
where data is flowing with what kind of information. It uses arrow, rectangular box, text label to
representation the flow of diagram. (Guthrie, 2019)

There are two types of Data flow diagram:


1. Logical data flow diagram these flow diagrams are very simple and easy to understand and
mainly focuses on aspect of flow of information.
2. Physical data flow diagram these flow diagrams are a complex pictorial representation that
shows how it is done. Here are the data flow diagram levels 0, 1, 2 for apex educational instituted
management system context diagram.

Data flow diagram level 0:


Here, in this level 0 data flow diagram we have a simple diagram of apex school and
students showing what and how information is exchange between these two parties

32
School Student

Fig: level 1 data flow diagram

Data flow diagram level 1:


In this level, the given level 0 diagram is further divided and brings the more detail
information. Here apex school is divided into two parties’ school administrator and teacher/ staff.
And provide the flow of data between them.

School
Teacher/staff Student
management

Figure: level 1 data flow diagram.

Data flow diagram level 2:


Here in level 2 diagram the apex school administrator is further divide into different operation
office like course, class, section, administrator and department head. And all the data flow in
between them as shown in figure below:

33
MANAGEMENT SCHOOL
ACCOUNTANT STUDENT
BOARD

SUBJECT
SUBJECT
CLASS/SECTION
DEPARTMENT TEACHER

Entity Relationship diagram:


entity is anything that exists independently, while a relationship is how several things are
linked together. As a result, the ER-model was born. The ER-model is a database model that is
built on the concept of real-world entities and their relationships. This approach is best suited for
database conceptual design. It also helps us in displaying data connections during the program
development process. It may also be described as a graphical representation of various
objects, views, tables, schemas, and other data. The symbols and cardinality used in the ER-
diagram are given below:

34
35
PASWORD
ADMIN ID ADMIN NAME

ADD Administrato ENTER


r
STU_ID C NAME

S NAME C NAME
Student ENROL Course
ADRESS L QUALIFICATION
DEPT ID
Contact No EXPERIENCE
PAYS
DEPARMENT

NAME REG NO
CONDUCT
RECEPIT NO FEES COURSE

TUITION FEE EXAM SUB NAME

DATE OF RECIPENT MARKS

Approaches to improving software quality:


The methods for improving software quality refer to how we can produce high-quality
software. Coding and designing cannot only produce high-quality software for the
development of AEIMS software. We must also introduce additional features to achieve the
highest level of quality. There are many ways to improve software quality. The best two
approaches to software quality improvement are as follows:

Employ test-oriented software development management:


The use of test-oriented software development management requires using various types of testing
processes after the system has been completed. One of the most effective ways to improve software
quality is to implement test-oriented software development management. Extreme programming
is required to achieve test-oriented management.
Extreme Programming (XP) is an agile software development approach that enables a
development team to generate higher-quality software and a better quality of life by adapting
to changing needs. The quality of our product would be much enhanced if we used extreme
programming to build test-oriented software development management.

36
The following are some examples of extreme programming practices:

 Test driven development


 Pair programming

Report bugs effectively


Testing is required to improve the quality of software by identifying flaws. A bug in an application
can be characterized as a code fault or problem. It can be discovered at any point during the
software development lifecycle. To identify faults and mistakes in software, we must debug it. If
we uncover any faults or mistakes, there's a good possibility we'll get unexpected results. A
detailed bug report will help to determine the issue and guiding the developer through the process
of resolving it while testing software more efficiently. The following are some principles for
efficient bug reporting:

Have a clearly defined number of bugs


When creating the bug report, we must be very clear about all of the bugs. All software defects
must be properly documented and understandable by all developers; otherwise, developers
will have difficulty solving the problem. Each bug report requires a unique number to make
bug reporting more understandable.
the steps for producing reporting bugs should be made clear. A bug that is documented in
detail makes it simple to verify and repair.
This instructs the reader on how to answer the question. Developers will not repeat the issue if the
methods to reproduce are properly defined. The procedures to replicate must be detailed enough
to show the tester's activities in response to the problem. As a result, before reporting an issue, it
is required to recreate it.

Be specific:
We should not write a report on the topic. We need to be really particular about this issue and focus
on it. We must attempt to explain the situation in the fewest possible terms while yet being
effective. Even though the problems appear to be similar. For each problem we must write different
reports so, it is also an important guideline for effective bugs reporting.

Expected result and actual result:


If there is no outcome in the report, a solid bug report is still incomplete. It is required to state the
expected and actual outcomes. What should be the users expected outcome, and what was the test
result? These are some of the questions that must be answered in a bug report. In order to make
the bug report more effective, we need also explain each and every piece of important information.

37
Critical evaluation:
Critical evaluation on the use of the function design paradigm in the software development
lifecycle that improve the software quality The development of requirement analysis, functional
design, information design, unit and system testing, documentation and implementation are
some of the designs we use to build Apex Educational Instituted Management System
(AEIMS) software. The data flow and process in the system are represented in the function design
paradigm. The data flow and process in the system are depicted in the function design paradigm.
The system input and output that we create in the AEIMS software are also shown in the function
design paradigm. We'll also include the processing rules for the system.
The function design model can also be used to create a design to solve the problem. We can solve
the problem by using the abstraction method and explaining the task. The function design paradigm
can also be used to define system behavior in a way that stakeholders (users, sponsors
etc.), developers, and others can understand. The function design paradigm is widely used to create
high-quality software.
When we follow the function design paradigm, the quality improves immediately because all
development processes are followed to the letter. We can do the best testing, as well as the best
tracing and analysis of requirements, thanks to the functional design paradigm, which makes the
software qualitative. Furthermore, the function design paradigm benefits from the various styles
that are used to develop software in the best programming. The function design is one of the most
important aspects of creating high-quality software I chose the spiral model for developing the
apex educational institute management system (AEIMS) software because I believe it is the best
model for AEIMS software development. The spiral model has more potential for risk
assessment, finalization, and risk monitoring and mitigation planning. Because of risk
management, software and system quality is automatically improved, resulting in software
quality assurance. To create the AEIMS software, I used a variety of methods and tools. Some of
the tools and resources.
The data flow diagram (DFD), entity-relationship diagram (ER-diagram), and flow chart were
utilized to create the AEIMS software. I demonstrated many degrees of this in data flow diagram.
The relationship between the college management system (AEIMS) and several departments is
shown in the diagram. We connected the college management system to library management,
accounting management, and assignment tracking, for example. Following that, we created a
flowchart for AEIMS software as well as some of its components, which shows the data flow from
system login to system logout.
All of these designs contribute to the system's development flexibility and efficiency. This helps
in the development of high-quality software. We used the function design paradigm to several

Software development processes in this way. This is critical to the system's completion and the
acquisition of high-quality software. The system we created for the college will be one of
the most effective and high-quality software because of the function design paradigm.

38
Conclusion:
In this part, I have identified and discuss about the stake holders in the apex educational instituted
management system. Then I have mentioned and list the different requirement of the clients
that should be in the apex educational instituted management system. And I have explained
about the specification of scope. I have also explained the consideration of security, use of quality
assurance, identification of the different constraints such as organizational policies, cost, and
legacy system. Iey are used in this way to improve software quality.
I have also explained about the background information and problem statement of Apex
management system software. I have also discussed about the data collection process. After that
I have shown entity relationship diagram and data flow diagram of the apex educational
instituted management system software. Then I went into detail about the many approaches to
increasing software quality. Finally, I've discussed the function design paradigm and how it
may aid in the development of software quality.

39
TASK 4(P7, M5, M6, D4)

Introduction:
Finite state machine is a computational model that can be implemented with hardware or
software and can be used to simulate sequential logic whereas extended finite state machine
is a modelling approach that provides a powerful model for the derivation of functional test for
software system and protocols. Data driven software is a software model where data itself
controls the flow of the program but not the program logic. In this task, I have analyzed
the software requirements then documented with expected client requirements and actual
output of the product with discussion of the software specification. FSM and E-FSM with the
application is differentiated and given justification for the data driven software.

User requirements:
A user requirement is a process to specify what the user expects the software to be able
to do. It collected from the user and after collecting all the user requirements. All the
requirements are now converted into the graphical representation like flow-chart, pseudo code
and others. After collecting all the requirements, developers are informed about the user’s
requirement and they start to develop the system as requested. Developer’s job is to fulfill the
needs and requirements of the users or client.

Software requirements:
A software requirement is a description of a software system to be developed which has
both functional and non-functional requirements. It also includes a set of use cases that
describe user interaction that the software must provide. It is one of the process of determining
user expectation for a new product or modified version. Here, all the requirements are gathered
together which is required to run the software. I have discussed about the client requirements
versus actual output in given table below:
Account management Accountant can easily manage the record the
Student bills, staff salary, paid and unpaid.
Records.

Library management Librarian can manage the books in the


system
like registration of books; keep record of
issuing
Of books and returning of the books.
assignment tracking The assignment head can manage the
assignment
Of the student. They can keep record and
assignment can be review by the assignment
Head.
Attendance tracking The system can track the student and staff /

40
Teacher attendance and generate report as the
Users command.

Software specification techniques:


Software specification techniques are the tools which are used for developing the software and it
is used for developing the graphical represented of the user requirements and it includes
all the functional requirements and non-functional requirements of the software. I have used two
different software specification techniques which is described below

Flowchart:

41
A flowchart is a formalized graphical representation of a logic sequence, work or manufacturing
process, organization chart, or similar formalized structure (techtarget; techtarget). the purpose of
the flowchart is to give knowledge about system in an ordinary way so that client can
understand about the software or any other product. It is helpful not only client it is
heavily used by the programmer as well to gain the better idea. Flowcharts are simple and uses
geometric symbols and arrow to define the relationship. I have used this flowchart in order to
visualize the activities of the new system and to determine the behavior of the system
function. A purposed system by the insurance company with some operation is shown in the
figure: Flowchart. Some of the drawbacks of flowchart are complex program are not possible to
illustrate in this diagram. Every time if something has to be changed or modified then new one
should be built had it is time consuming task.

Pseudo code:
Pseudo code is an informal program description that does not contain code syntax or
underlying technology considerations. Pseudo code summarizes a program’s step (or flow) but
excludes underlying details (texhopedia). Pseudo means false code it helps in understanding the
code but it isn’t code. System designer writes the pseudo code to ensure that programmers
understand the requirements and can code accordingly. It is a starting point for development.
Pseudo code is easy to understand for client as well and can gain somehow knowledge about
the program. One basic example of pseudo code is given below:

Pseudo code example:


START program
READ two numbers A, B
ADD A and B
PRINT sum of A and B
END program
Some of the drawbacks of the pseudo code is it doesn’t provide us effective map. It doesn’t have
logic so it is just readable only. It lacks standard which is unstructured in nature and even readers
should learn about this before starting pseudo code. It is not standard and varies from company
to company.

FMS:
“A Finite State Machine (FSM) is a model of behavior using states and state transitions. A
transition is a state change triggered by an input event, i.e. Transition maps some state-event
pairs to others states (ukessay). FSM consists of a set of input events, a set of outputs and a
function that maps states”. It has limited number of states and described by a collection of
state of variables. It is an abstract concept, it is implemented using variety of techniques
including digitals logics and even games etc. It has the control flow aspect. For example: let

42
us consider a system which is a set of states which often reacts to the events. If the event is
triggered it makes transition to same or another state.

Application of FSM:
Some of the application of the Finite State Machine is given below:
 It is used in the video game industry.
 It can be used to control the robots with different functionalities like moving,
walking, talking.
 It is used in the artificial intelligence (AI) to control complex function in machines.
 It is even used in the automotive, robotics, computers, and even in websites.
 It is used in various communication protocol such as USB and digital circuit

An example of the Finite State Machine:


In the given figure of Finite State Machine shows the traffic danger sign where the traffic danger
sign can be one of four states. For example: if external input is 0 then we immediately move
to the next state named all off and remain in the same state until the external input changes back
to 1. On the other hand, if the external inputs are 1 the lights should flash.

Extended – FSM:
It is the Extended version of the classical Finite State Machine (FSM), which is more
powerful model for the derivation of functional test for the software system and protocols. It is
widely used in the computer science and reactive systems. It is used in the automata-based
programming where EFSM is the core component. The transition in the EFSM can be expressed
using the IF Statement consisting of a set of trigger conditions where conditions meets to change
the state while performing the specified data operation.

An example of Extended -FSM:


In the given figure, a simple flight system is given where temperature is of integer type,
however, the required value to test transition T1 must be in [Tmin, Tmax]. There are many
approaches that study these two problems (path feasibility and path test data generation)

43
by converting EFSM to FSM for which many test techniques are available. The conservation
is conducted by either abstracting the data away from an EFSM so it is FSM or expanding the
EFSM is to become FSM. While the first approach doesn’t guarantee that the paths taken from the
FSM will be feasible in the corresponding EFSM, the other approach can easily lead to the number
of the states in the resultant FSM being prohibitively large.

Application of EFSM:
Some of the application of the Extended Finite State Machine is given below:
 It is used in the field of computer science and software engineering for analysis and
testing.
 It is used in various devices such as heater system, metro passage way, alarm, home
garage, air conditioning system, temperature-controlled room, and so on.
Finite State Machine Extended Finite Machine
Limited number of possible states Number of states increases exponentially
It is used in the digital circuits It is used in the various devices
such as heater, alarm, garage, etc
Only single state is active Many States can be active during multitasking

Data driven software with its reliability and effectiveness:


A software is a set of programs used in the computer to do certain task. Mostly software is not
driven by the data but now the concept of the data driven is little different. Software now a days
have been automated and driven by the data. Data driven refers to the process or activity that helps
the software to automate. The decisions and processes are dictated by the data. This is most evident
in the field of big data, where data and information are the basis of all actions and it is gathered
and analyzed for predicting the future. Data are cheaper to store and easy to gather so big data
analytics are gaining more grounds as the best tool for decision making in business. This is used
in the application like Facebook, LinkedIn to improve and analyze the data and make business
value huge. This helps us to predict and prescribe what to do next by providing reliable data,
relevant insights and recommended actions.

44
A Data driven software:
 Automates processes, problems and opportunities
 Operates on diverse data from many multichannel data sources
 Makes information universally available within a single application
 Seamlessly combines operational and analytic capabilities
 Automatically generates master data, metadata, models, schema, and graphs as the
user
 Searches, queries and collects data
 Continuously co-relates data entities
 Depends on customers
Data driven software are the application where application flow is totally depends upon the data it
processes. Input data set can trigger the behavior of the application. Programming logic will remain
same all the time but it will be coded in such a way that data are driven but the code remains always
same. To develop this type of software it requires lots of testing as it produces error when data
issues are encountered. This type of software is tested in variety of data samples.
The data driven software can improve the reliability and effectiveness of the software by
various means like test automation which helps to automate the software to store the information
like data inputs and outputs. It helps to optimize the software by optimizing end to end as it
eliminates the unnecessary steps and process and keeps the software performance high and
enhance effectiveness. It is used for collecting real time analytics and helps to predict the upcoming
requirements. Customers heavily rely on the software that produce the quality and desire
output. It makes the information universally available within the application. Ultimately after
having the data driven software it is much more helpful in big data to predict and come to the
universal market. One of the best examples of the data driven software is Facebook and it has huge
data source in the world. It is the main reason for the growing business is data driven software.
Hence, Rastriya Beema Sansthan now can automate the data and can have much more benefits in
the future. It will help the company to predict the future need and requirements for the client and
can provide services as per the required and unwanted services can be removed. For example:
insurance company is using data driven software then it can easily know that which services is
heavily used and which one not used. Now company can neglect the services which is not used
frequently and focus on the software which is heavily used by the users and can add now
more schemes to the services and gain more popularity.

45
Conclusion:
Documentation helps in software development to maintain the software in future as well
in the development phase it helps developers in many conditions. It seems to be not useable but it
is most helpful document that developers can get knowledge about the software easily. It
helped the insurance company to make the system efficient. Various software behavioral
specification methods help to understand the software behavior including functional and non-
functional requirements and stakeholders’ requirements. Software behavioral techniques like
flowchart and pseudo code have been used to understand the system. FSM and EFSM is clearly
differentiated with their applications. Software quality can be maintained using the data driven
software along with the reliability and effectiveness was shown in the requested software of
insurance company.

46
References:

Ellis, S. R. (2013, April 04). Sequential model. Retrieved from science direct:
https://www.sciencedirect.com/topics/computer-science/sequential-
model#:~:text=A%20traditional%20SDLC%20is%20a,developing%20a%20final%20operational
%20system.

Feasibility Analysis: Meaning, Importance, Report, Types, Process, Objectives and Advantages |
Business. (2020, march 25). Retrieved from business man agreement ideas:
https://www.businessmanagementideas.com/feasibility-analysis/feasibility-analysis-meaning-
importance-report-types-process-objectives-and-advantages-business/18196

Feasibility study. (2021, november 05). Retrieved from corporatefinanceinstitute:


https://corporatefinanceinstitute.com/resources/knowledge/other/feasibility-study/

Indeed Editorial Team. (2021). 5 Motivation Theories for Management Teams (With Tips).
Retrieved August 28, 2021, from https://www.indeed.com/career-advice/career-
development/motivation-theories

Iterative Model: What Is It And When Should You Use It? (2016, December 15). Retrieved from
airbrake: https://airbrake.io/blog/sdlc/iterative-
model#:~:text=The%20iterative%20model%20is%20a,the%20final%20system%20is%20comple
te

Lewis, s. (2021, December 05). Waterfall model. Retrieved from search software equality:
https://searchsoftwarequality.techtarget.com/definition/waterfall-mode
Pal, s. k. (2021, July 07). Software Engineering | Agile Development Models. Retrieved from
geeksforgeeks: https://www.geeksforgeeks.org/software-engineering-agile-development-
models/#:~:text=The%20Agile%20model%20adopts%20Iterative,and%20deployed%20to%20th
e%20customers

Prototype Model. (2021, may 05). Retrieved from java point:


https://www.javatpoint.com/software-engineering-prototype-model

47
Shiklo, B. (2018, January 8). Software development life cycle examples. Retrieved from scnsoft:
https://www.scnsoft.com/blog/software-development-life-cycle-examples

V-model. (2020, January 22). Retrieved from tutorials point:


https://www.tutorialspoint.com/sdlc/sdlc_v_model.htm

48

You might also like