SDCL Assignment 2ns Sem
SDCL Assignment 2ns Sem
Assessor Feedback
Grade:
1
Assessor Signature: Date:
Resubmission Feedback:
* Please note that grade decisions are provisional. They are only confirmed once internal and external moderation has
taken place and grades decisions have been agreed at the assessment board.
2
Important Points:
1. It is strictly prohibited to use textboxes to add texts in the assignments, except for the
compulsory information. eg: Figures, tables of comparison etc. Adding text boxes in the
body except for the before mentioned compulsory information will result in rejection
of your work.
2. Avoid using page borders in your assignment body.
3. Carefully check the hand in date and the instructions given in the assignment. Late
submissions will not be accepted.
4. Ensure that you give yourself enough time to complete the assignment by the due date.
5. Excuses of any nature will not be accepted for failure to hand in the work on time.
6. You must take responsibility for managing your own time effectively.
7. If you are unable to hand in your assignment on time and have valid reasons such as
illness, you may apply (in writing) for an extension.
8. Failure to achieve at least PASS criteria will result in a REFERRAL grade .
9. Non-submission of work without valid reasons will lead to an automatic RE FERRAL.
You will then be asked to complete an alternative assignment.
10. If you use other people’s work or ideas in your assignment, reference them properly
using HARVARD referencing system to avoid plagiarism. You have to provide both in-
text citation and a reference list.
11. If you are proven to be guilty of plagiarism or any academic misconduct, your grade
could be reduced to A REFERRAL or at worst you could be expelled from the course
12. Use word processing application spell check and grammar check function to help
editing your assignment.
13. Use footer function in the word processor to insert Your Name, Subject, Assignment
No, and Page Number on each page. This is useful if individual sheets become
detached for any reason.
3
STUDENT ASSESSMENT SUBMISSION AND
DECLARATION
When submitting evidence for assessment, each student must sign a declaration
confirming that the work is their own.
Student name: Assessor name:
Thanoj
Programme:
HND in Computing
Plagiarism
Plagiarism is a particular form of cheating. Plagiarism must be avoided at all costs and
students who break the rules, however innocently, may be penalised. It is your
responsibility to ensure that you understand correct referencing practices. As a
university level student, you are expected to use appropriate references throughout
and keep carefully detailed notes of all your sources of materials for material you have
used in your work, including any material downloaded from the Internet. Please consult
the relevant unit lecturer or your course tutor if you need any further advice.
Student Declaration
Student declaration
I certify that the assignment submission is entirely my own work and I fully
understand the consequences of plagiarism. I understand that making a false
declaration is a form of malpractice.
4
Assignment Brief
Unit Tutor
Issue Date
Submission Date
Submission Format
5
The submission is in the form of the following.
• Planning documentation produced to define and scope the problem and intended
solution, including a requirements analysis and functional and non-functional
requirements.
• The recommended word limit is 2,000–2,500 words, although you will not be penalised
for exceeding the total word limit.
6
• Solution design documents produced to meet the requirements of a given problem,
including logical, algorithmic and data designs. produced in a suitable format (e.g.
flowchart, pseudocode, DFDs ).
• The recommended word limit is 1,500–2,000 words, although you will not be
penalised for exceeding the total word limit.
• Development documentation, including records of testing and review processes and
refinements made to the application throughout development.
• The recommended word limit is 1,500–2,000 words, although you will not be
penalised for exceeding the total word limit.
• Support documentation, including user and technical manuals.
• The recommended word limit is 1,500–2,000 words, although you will not be
penalised for exceeding the total word limit.
• Implemented application (final working version) in a format suitable to be run and
assessed for functionality.
You are required to make use of headings, paragraphs and subsections as appropriate,
and all work must be supported with research and referenced using the Harvard
referencing system.
Note: The report, Speaker notes, design portfolio, and evaluative report should be
attached together and submitted as one copy.
VII
LO1 Describe different software development lifecycles
VIII
Computing-related cognitive skills
• Demonstrate knowledge and understanding of essential facts, concepts, principles and
theories relating to computing and computer applications.
• Use such knowledge and understanding in the modelling and design of computer-based
systems for the purposes of comprehension, communication, prediction and the
understanding of trade-offs.
• Recognise and analyse criteria and specifications appropriate to specific problems, and plan
strategies for their solutions.
• Analyse the extent to which a computer-based system meets the criteria defined for its current
use and future development.
• Deploy appropriate theory, practices and tools for the design, implementation and evaluation
of computer-based systems.
• Contextual awareness, e.g. the ability to understand and meet the needs of individuals,
business and the community, and to understand how workplaces and organisations are
governed.
IX
Vocational scenario.
X
You work as a junior software developer at Phonyt Digital Solutions(PDS), an independent software
development company that specializes in designing bespoke computer systems to meet client needs.
Enomy-Finances is an organisation in the financial sector that provides advice and services related to
mortgages, savings and investments. Enomy-Finances has recently seen an increase in demand for its
services and is expanding to meet this demand. They would like a new computer system to support both
staff and clients.
The project client – the Enomy-Finances Chief Technical Officer – has asked PDS if they would be
interested in designing and implementing the new computer system. The client has specified that the
new system must be deployed on an upgraded infrastructure. The CEO has asked you to carry out a
preliminary software investigation on the new system to be developed prior to taking on the project.
You are to identify the appropriate software methodology to be used should PDS agree to take on the
project. You have also been asked to carry out a basic investigation into the project to determine scope,
requirements and constraints, and to identify core system processes.
You are also required to generate some simple software designs to present to the project client to make
sure that you have understood their requirements correctly. PDS has a range of in-house expertise using
a range of software development paradigms – Event, Object Oriented, Procedural and Functional
Programming. You have been given the freedom to select the most appropriate development approach
and the appropriate project lifecycle methodology.
The requirements of the Enomy-Finances project are listed in Appendix 1. It contains further information
about the application you are required to investigate. Ensure that you read the information carefully
before you attempt this assignment. The current system is a networked application, but the project
client has expressed an interest in possibly moving to a web-based system. The project client has agreed
that, if required, they can be available throughout the project to answer any questions.
XI
Assignment activity and guidance:
XII
Activity 1 and 2– Report
Activity 1
Write a report that explores how the needs of Economy-Finance can be met, through the development
of a computer application. Your report should include the following.
• A definition of the problem that needs to be solved, including user and system requirements that
need to be met,
• An overview of different lifecycle models that could be applied to solving the problem. Your
overview should contain, as a minimum, coverage of two iterative and two sequential software
lifecycle models
• Consideration of different risks to this software project and to software lifecycle models in general,
and how these risks can be managed.
• Recommendation of an appropriate SDLC model that could be implemented, supported by:
▪ a discussion of the benefits and drawbacks of your chosen SDLC mode
▪ supported judgements as to the appropriateness of your chosen SDLC model for the
EnomyFinances project.
▪ a discussion of which design and development tools would be suitable to implement the
solution.
▪ supported judgements as to which design and development tools will be used and the
preferred methodology undertaken.
Activity
2
Conduct research that explores the importance of feasibility studies in large-scale computer projects.
Your research should include:
● consideration of the contents and purpose of a feasibility report, which includes:
▪ an explanation of the purpose of a feasibility study
▪ an overview of how different technical solutions, for an identified set of problems, can be
compared.
▪ a discussion of the different components of a feasibility report.
● An assessment of the impact, a feasibility study would have on the Enomy-Finances project, with
reference to specific identified feasibility criteria.
You should support the points you make in the report with well-chosen examples from the
information booklet and other relevant examples from any research you have carried out on
related sectors or projects.
XIII
Activity 3 – presentation with speaker notes
Design a solution that could be implemented, and which communicates effectively understanding of
the program, including:
o algorithmic software designs, for example, flowcharts, pseudocode
o logical software design, including a finite state machine (FSM) and an extended FSM
o data designs, e.g. DFDs, ERDs data dictionaries.
• You should ensure that you review your designs with others, recording the feedback received and
actioning it to refine your proposed solution.
Use your improved designs to implement a functional business application to meet the requirements
of the Enomy-Finances project. You should:
• interpret and implement a given design while remaining compliant with security and
maintainability requirements
• apply an appropriate software development methodology/SDLC to manage the development
process
• apply appropriate algorithms, logic and data structures
• build, manage and deploy code for the business application into a relevant environment and link
code to data sets
• document the testing and refinement process, including creation of test plans and other quality
assurance documents
• produce user and technical manuals to support the use and implementation of the application.
XIV
XV
XVI
Activity 5 -Evaluative report
Produce an evaluative report that communicates an evaluation of your solution to your manager. The
report should include the following.
• An analysis of how software requirements for the management were traced throughout the entire
software lifecycle
• A discussion of at least two approaches to improving software quality within a software lifecycle
• Evaluation of the suitability of your solution in relation to the needs of Enomy-Finances, to include:
▪ a discussion, using examples, of how the design and implementation of your solution
meets the needs of the Enomy-Finances project
▪ an analysis of the suitability of your chosen design and development tools and
techniques for solving the given problem in comparison to other tools and techniques
that could be used, ensuring coverage of algorithmic, logical and data designs
▪ a critical review of undertaking a systems investigation which led to the design,
development and testing of the solution and how it ensured improved reliability and
effectiveness of the solution, including consideration of how risks were addressed
▪ a critical review of how data driven software would improve the reliability and
effectiveness of the solution
▪ a review of the performance of the application against identified requirements.
• An assessment of how feedback was acted on to improve the solution, including justification of
actions taken and any feedback that was not acted on.
• Recommendations for future improvements to the solution, including a supported rationale for
these suggested improvements.
You should support the points you make in the report with well-chosen examples from the
information booklet, and other relevant examples from any research you have carried out on
related sectors or projects.
Note: Reports, Speaker notes, design portfolio, and presentation slides should be attached together
and submitted as one copy.
XVII
Recommended resources.
Textbooks
Dennis, A. and Haley, W. (2009) Systems Analysis and Design. John Wiley & Sons Ltd.
Lejk, M. and Deeks, D. (2002) An Introduction to System Analysis Techniques. 2nd Ed. Addison-Wesley.
Murch, R. (2012) The Software Development Lifecycle: A Complete Guide. Kindle. Smart,
J. F. (2014) BDD in Action: Behavior-driven development for the whole software lifecycle.
Manning.
Web
www.freetutes.com-
FreeTutes
Systems Analysis and Design – Complete Introductory
Tutorial for Software Engineering (Tutorial)
www.ijcsi.org-
IJCSI International Journal of Computer Science Vol. 7, Issue 5, September 2010 A Comparison Between
Five Models Of Software Engineering (Research)
IJCSI International Journal of Computer Science Vol. 6, Issue 1, 2015 Software Development Life Cycle
Models – Comparison, Consequences (Research)
XVIII
Learning Outcomes and Assessment Criteria
XX Thanoj (E127966)
Appendix 1 – Enomy-Finances Client Project Information
Organisation overview
Enomy-Finances is an organisation in the financial sector that provides advice and services
related to mortgages, savings and investments. Its work includes:
Enomy-Finances has recently seen an increase in demand for its services and is expanding
to meet this demand. As part of the expansion, Enomy-Finances would like to commission a
new computer system to support both staff and clients.
The new system will consist of a new software platform that should be deployed on an
upgraded infrastructure.
The owner of the company has provided you with a list of some of the key requirements for
the application that you have been tasked with creating. These requirements are as follows.
● Providing tools to calculate the cost to clients of purchasing different currencies
● Providing quotes on potential earnings on savings and investment plans
● Simple to use user interface
● Support users through appropriate use of textual, numeric and graphical data
representation
● Store user information such as contact information, records of transactions and saved
quotes
● Keep user data secure
● The current system consists of a client application deployed on each staff computer, and
a set of servers that currently handles all business logic and processing as well as acting
as database servers. These act to load current exchange, market and currency data into a
data warehouse as well as storing any local company or client data required for
processing
● The client would like to explore moving to a web-based application.
Additional information
The program will be used to calculate the cost of buying and selling different currencies.
The system must be able to convert between different currencies, including:
● pounds sterling (GBP)
● American dollars (USD)
● Euro (EUR)
● Brazilian real (BRL) ● Japanese yen (JPY)
● Turkish lira (TRY).
It should allow the user to enter a value in one currency and calculate the amount in
another currency that it is worth.
The application should make use of current, up-to date currency values to calculate the
conversions.
There are limitations on the values of a single transitions These are:
● minimum transaction = 300 of the initial currency to be converted ● maximum
transaction = 5000 of the initial currency to be converted.
The company charges a fee for each transaction. The fees are:
Types of investment
Option 2 – Savings Plan Plus Maximum investment per year: £30 000
Minimum monthly investment: £50
Minimum initial investment lump sum:
£300
Predicted returns per year:
● 3% to 5.5%.
Estimated tax:
● 10% on profits above £12 000.
RBSX group fees per month:
● 0.3%.
XXIII Thanoj
(E127966)
Option 3 – Managed Stock Investments Maximum investment per year:
Unlimited
Minimum monthly investment: £150
Minimum initial investment lump sum:
£1000
Predicted returns per year:
● 4% to 23%.
Estimated tax:
● 10% on profits above £12 000 ●
20% on profits above £40 000. RBSX
group fees per month:
● 1.3%.
XXIV Thanoj
(E127966)
25 Thanoj (E127966)
Table of Contents
Activity 01 ............................................................................................................................... 30
1.1 Introduction .................................................................................................................. 30
1.1 Problem of Economy-finance company and requirements .......................................... 39
1.2 lifecycle models that could be suitable to solve the problem ...................................... 40
1.3 How the Risks managed in SDLC models................................................................... 45
1.4 Recommendation of an appropriate SDLC model for the Economy-Finance system, 51
1.4.1 The suitable Model is Agile Model .............................................................................. 51
1.4.2 Appropriateness of the Agile Model for the Economy-Finances Project .................... 54
1.4.3 Suitable Design and Development Tools for Economy Finance project ..................... 56
1.4.4 judgements as to which design and development tools will be used and the preferred
methodology undertaken. ......................................................................................................... 68
1.5 Waterfall lifecycle model to a large software development project ............................. 69
Activity 2 ................................................................................................................................. 75
2.1 Definition for Feasibility Study (What is Feasibility Study?) ..................................... 75
2.2 What is the purpose of a feasibility report? ................................................................. 77
2.3 How Technical solutions can be compared. ....................................................................... 79
2.4 Assess the impacts of different feasibility criteria on a software investigation. .......... 83
Activity 03 ............................................................................................................................... 89
3.1 Presentation .................................................................................................................. 89
Activity 04 ............................................................................................................................... 98
4.1 Design a solution that could be implemented, and which communicates effectively
understanding of the program .................................................................................................. 98
4.1.1 What is the Algorithmic software design? ...................................................................... 98
4.1.1.1 Flowcharts, ............................................................................................................... 98
4.1.1.2 pseudo codes .............................................................................................................. 101
4.1.2 What are the Logic Software Designs? ......................................................................... 102
4.1.2.1 Finite state machine (FSM), ....................................................................................... 102
4.1.2.2 Extended Finite Sate machine, ................................................................................... 105
4.1.3 Data designs .................................................................................................................. 108
4.1.3.1 Use case Diagrams – Unified Modelling language (UML), ...................................... 108
4.1.3.2 DFD diagrams (Data Flow Diagrams) ....................................................................... 110
4.1.3.3 Activity diagram......................................................................................................... 112
26 Thanoj (E127966)
4.1.3.4 Entity Relationship Diagrams (ERD) ........................................................................ 114
4.1.3.5 Wireframes. ................................................................................................................ 118
4.2 Feedbacks from other about the designs, ......................................................................... 126
4.3 interpret and implement a given design while remaining compliant with security and
maintainability requirements ................................................................................................. 133
4.4 apply an appropriate software development methodology/SDLC to manage the
development process .............................................................................................................. 135
Activity 5 ............................................................................................................................... 148
5.1 Analyse how software requirements can be traced throughout the software lifecycle. ... 148
5.2 Approaches to Improving Software Quality .................................................................... 151
5.3 Application in Economy Finances project, ...................................................................... 153
5.3.1 discussion, using examples, of how the design and implementation of your solution
meets the needs of the Economy-Finances project ................................................................ 154
5.3.2 Examples of designs, .................................................................................................... 157
5.3.3 a critical review of undertaking a systems investigation which led to the design,
development and testing of the solution and how it ensured improved reliability and
effectiveness of the solution, including consideration of how risks were addressed ............. 160
5.3.4 a critical review of how data driven software would improve the reliability and
effectiveness of the solution................................................................................................... 161
5.3.5 a review of the performance of the application against identified requirements. ......... 161
5.4 An assessment of how feedback was acted on to improve the solution, including
justification of actions taken and any feedback that was not acted on. ................................. 162
5.5 Benefits of Data Driven Software, ................................................................................... 163
5.6 Evaluation of Performance in Relation to Requirements, ............................................... 164
5.7 According to Feedbacks the things should be improved, ................................................ 165
5.8 Suggestions for the Future, .............................................................................................. 166
References ................................................................................ Error! Bookmark not defined.
27 Thanoj (E127966)
Table of Figures
Figure 1.Types of Software ...................................................................................................... 30
Figure 2.SDLC ......................................................................................................................... 31
Figure 3.Stages in SDLC ......................................................................................................... 32
Figure 4.Planning stage. (Stage 01) ......................................................................................... 32
Figure 5.Defining Requirements. (Stage 02) ........................................................................... 33
Figure 6.Designing Architecture. (Stage 03) ........................................................................... 34
Figure 7.Developing Product. (Stage 04) ................................................................................ 34
Figure 8.Product testing. (Stage 05) ........................................................................................ 35
Figure 9.Deployment stage. (Stage 06).................................................................................... 36
Figure 10.Waterfall model. ...................................................................................................... 37
Figure 11.Agile model ............................................................................................................. 37
Figure 12.Iterative model ......................................................................................................... 38
Figure 13.Spiral model............................................................................................................. 38
Figure 14.SDLC models .......................................................................................................... 41
Figure 15.Waterfall model. ...................................................................................................... 42
Figure 16.V-shaped model. ...................................................................................................... 43
Figure 17.Agile model ............................................................................................................. 44
Figure 18.Spiral model............................................................................................................. 45
Figure 19.Types of Risks occur during SDLC ......................................................................... 46
Figure 20.Importance of Risk management in SDLC ............................................................. 47
Figure 21.Software Risk management ..................................................................................... 50
Figure 22.Pros and Cons of Agile model ................................................................................. 52
Figure 23.Elements of a Powerful Agile methodology. ........................................................... 55
Figure 24.Wireframe tools ....................................................................................................... 56
Figure 25.Example UML design .............................................................................................. 57
Figure 26.Python ...................................................................................................................... 59
Figure 27.Java Script ............................................................................................................... 60
Figure 28. .NET (C#) ............................................................................................................... 62
Figure 29.MySQL .................................................................................................................... 63
Figure 30.GitHub ..................................................................................................................... 66
Figure 31.Interface of Trello software ..................................................................................... 68
Figure 32.Stages of waterfall model ........................................................................................ 69
Figure 33.When do we need a feasibility study? ..................................................................... 76
Figure 34.Key components of a feasibility report ................................................................... 83
Figure 35.Feasibility in a project ............................................................................................. 88
Figure 36.Slide 01 .................................................................................................................... 89
Figure 37.Slide 02 .................................................................................................................... 90
Figure 38.Slide 03 .................................................................................................................... 91
Figure 39.Slide 04 .................................................................................................................... 92
Figure 40.Slide 05 .................................................................................................................... 93
Figure 41.Slide 06 .................................................................................................................... 95
Figure 42.Slide 07 .................................................................................................................... 96
Figure 43.Slide 08 .................................................................................................................... 97
28 Thanoj (E127966)
Figure 44.Flowchart of a Financial system .............................................................................. 99
Figure 45.Flowchart for the Economy Finance ..................................................................... 100
Figure 46.Sample pseudo code for making a cup of tea. ....................................................... 101
Figure 47.How FSM works.................................................................................................... 103
Figure 48.Sample Finite State Machine diagram ................................................................... 103
Figure 49.FSM of currency transaction task .......................................................................... 104
Figure 50.Extended FSM ....................................................................................................... 105
Figure 51.Extended FSM ....................................................................................................... 107
Figure 52.Use case diagram notations ................................................................................... 108
Figure 53.Use Case Diagram for Economy Finance System. ................................................ 109
Figure 54.Basic structure of DFD .......................................................................................... 110
Figure 55DFD of the Economy Finance ................................................................................ 111
Figure 56.Sample Activity diagram for order fulfilment process. ......................................... 112
Figure 57.Sample ERD .......................................................................................................... 115
Figure 58.Sample wireframe of a e-commerce website's product page................................. 119
Figure 59.Login page wireframe............................................................................................ 120
Figure 60.Dashboard wireframe ............................................................................................ 120
Figure 61.Currency and Investment page wireframe ............................................................. 121
Figure 62.Transaction History page wireframe ..................................................................... 121
Figure 63.Profile page wireframe. ......................................................................................... 122
Figure 64.Login page ............................................................................................................. 123
Figure 65.Dashboard .............................................................................................................. 123
Figure 66.Currency and Investment page .............................................................................. 124
Figure 67.Transaction history page ........................................................................................ 124
Figure 68.Profile page ............................................................................................................ 125
Figure 69.Feedback form ....................................................................................................... 128
Figure 70.Software development ........................................................................................... 137
Figure 71.Process of Behaviour driven development ............................................................ 141
Figure 72.BDD testing ........................................................................................................... 143
Table of Tables
Table 1.Full comparison between SDLC models .................................................................... 53
Table 2.Agile vs Waterfall........................................................................................................ 74
Table 3.Comparison between FSM and EFSM...................................................................... 106
29 Thanoj (E127966)
Activity 01
1.1 Introduction
What is a Software?
In essence, software is a set of directives or instructions that specify what a computer system
should accomplish. In other words, software is a computer program that instructs the computer
on how to execute commands from the user. For example, Microsoft power point, excel, and
so on.
30 Thanoj (E127966)
maintain, update, and replace a specific piece of software. The life cycle provides a plan for
improving the overall development process and software quality.
Figure 2.SDLC
Stages of SDLC,
The Software development Life Cycle (SDLC) outlines the tasks that a software engineer or
developer must perform at each level. It guarantees that the final product will satisfy the client’s
requirements withing a allocated budget. As a result, a software developer needs to be familiar
with this method beforehand. These six steps and the subsequent stages make up the SDLC;
1. Planning and Requirement Analysis.
2. Defining Requirements
3. Design
4. Development
5. Testing
31 Thanoj (E127966)
Figure 3.Stages in SDLC
The SDLC Model involves six phases or stages while developing any software
1. Planning and Requirement Analysis,
As with software development, planning is a crucial step in all procedures. During this time,
requirement analysis is also carried out by the organization’s developers. This is accomplished
through market/sales department surveys and customer feedback.
The information acquired from this study forms the basis of a straightforward project. The
quality of the project is due to the planning. As a result, at this point, the core project is designed
utilizing all accessible information.
32 Thanoj (E127966)
2. Defining Requirements
At this stage, every need for the target software is listed. These needs are approved by
stakeholders, market experts, and customers.
To do this, software requirement specifications, or SRSs, are utilized. This kind of document
describes all of the things that need to be created and established during the project.
3. Designing Architecture
SRS serves as a guidance for software designers as they develop the best possible software
architecture.
Consequently, a number of product architectural concepts based on the SRS criteria are
included in the Design Document Specification (DDS). This DDS is assessed by market
analysts and stakeholders. After all possible problems have been taken into account, the most
logical and feasible design is chosen for development.
33 Thanoj (E127966)
Figure 6.Designing Architecture. (Stage 03)
4. Developing Product
At this stage, the product’s basic development designs. According to the DDS design,
developers do this using a particular programming language. As a result, the coders must adhere
to the guidelines established by the association. Several traditional programming tools, like as
interpreters, compilers, and debuggers, are also used at this point. Several well-known
languages, including python, Java, C/C++, and others, are used in compliance with software
rules.
34 Thanoj (E127966)
5. Product Testing and Integration
After product development, software testing is necessary to ensure smooth operation. However,
very little testing is carried out at each step of the SDLC. As a result, all possible flaws are now
tracked, fixed, and retested. This ensures that the product satisfies the quality requirements set
by SRS.
Training, Support, and Documentation,
Software documentation is a crucial part of the software development life cycle. Understanding
software features, procedures, and maintenance requires knowledge that can be found in a well-
written document. The manual also includes instructions on how to use the product. In order to
improve an employee’s performance now or in the future, training attempts to raise his capacity
to work via learning, usually by changing his attitude and increasing his knowledge and talents.
35 Thanoj (E127966)
Figure 9.Deployment stage. (Stage 06)
Here we have the most popular SDLC models use in present world,
1. Waterfall model
It is the fundamental idea behind the software development life cycle. This is a very simple
model. The waterfall model is the basis for all subsequent SDLC models, notwithstanding its
discontinuation. Because of its simple structure, the waterfall approach is easier to use and
produces quantifiable outcomes. The waterfall model is no longer in use due to its less
adaptable nature, as once a phase seems to be completed, it cannot be changed.
36 Thanoj (E127966)
Figure 10.Waterfall model.
2. Agile model
The primary goal of the agile approach in the SDLC was to quickly adjust to shifting needs.
The Agile approach’s primary objectives are to expedite project completion. An agile model is
a collection of development procedures. These processes have some little variations in addition
to certain commonalities.
37 Thanoj (E127966)
3. Iterative model
According to the iterative model of the SDLC, each cycle results in a software version that is
partially finished but deployable; later cycles add requirements to the program, and the final
cycle creates software that satisfies all of the criteria.
4. Spiral model
The Spiral model is among the most significant SDLC models that aid in risk management.
The number of spirals in its diagrammatic representation varies based on the type of project.
Every loop in the spiral structure represents a phase of the spiral model.
(geeksforgeeks, 2024)
38 Thanoj (E127966)
Importance of SDLC in Large Scale Projects,
The techniques used in software development are complex. Despite the best efforts of project
managers, there is a considerable chance of poor planning, rash decisions, and deadline
violations. But you don’t want any of these. The software development life cycle outlines each
step and occasion in the software development process. Stockholders are aware of their
upcoming tasks, especially developers. Thus, an SDLC makes it possible for business to reap
the rewards of predictable software development.
Key benefits of Software development life cycle,
It enables to everyone involved in the software development project to see what is going on,
and to some degree, it puts the business owners in charge over the project. It reduces the risk
of being over budget and behind schedule at any part of the process (but completing tasks and
goals the same time each time). Likewise, its finalization in the process of software
development ensures the satisfaction of all objectives and expectation to arrive at the end.
One of the only methods to guarantee that end user’s and business owners’ needs and desires
are met is through an SDLC. It is the blueprint for achieving the intended software product.
40 Thanoj (E127966)
Figure 14.SDLC models
Sequential Models,
1. Waterfall Model,
One widely used SDLC paradigm is the waterfall. This approach separates the entire software
development process into different stages.
The waterfall model is a continuous software development approach that views the
requirements analysis, design, implementation, testing (validation), integration, and
maintenance phases as flowing continuously downward (like a waterfall).
There are some important repercussion when activities are ordered linearly. First, at the
conclusion of each step, certain certification mechanisms must be used to determine the end of
one phase and the start of the next. Verification and validation are typically performed in this
way to make sure that the stage’s output is consistent with its input, which is the output of the
previous phase, and that it complies with the system’s overall criteria.
(tpointtech, 2023)
41 Thanoj (E127966)
Figure 15.Waterfall model.
Pros:
The system organization is straightforward and simple for the users to interact with it. The
framework is neatly arranged and therefore, it is easier to plan as well as organize tasks.
Additionally, the system offers thorough documentation at each point, which brings
consistency and works for all as the process progresses.
Cons:
The Waterfall model is particularly rigid, with large changes into even completed phases being
rather difficult to accomplish. The Waterfall model is rigid in nature meaning that not much
allowance is available for changing strategies while the project is being carried out. Moreover,
because the users are only surveyed at the end of development, it limits collaboration and
complicates updating it at earlier stages.
2. V shaped model,
The V-shaped method incorporates testing into the evolutionary development process.
Verification activities happen on the one side with validation happening on the opposite side,
with both intersecting during the coding. Loading the software to testable sections allows the
early testing to begin. The correction of faults in the beginning of the cycle can help to trim the
time frame, reduce cost and increase the quality of the final product. Also, it seamlessly
conforms to continuous integration and deployment practices.
42 Thanoj (E127966)
Figure 16.V-shaped model.
Pros:
Testing and validation are paramount in this approach; all the stages of development are
attached to a unique test to ensure the system’s reliability and quality. This method also eases
the tracking of progress and enables teams to observe how milestones and accomplishment are
coming along more easily. This strategy is especially compatible in the case of small to medium
projects because it is able to provide for complete management and adaptation whenever the
project gets bigger.
Cons:
This strategy is also lacking in flexibility, as there is in the Waterfall model, confusing the
process of change management because development continues. With strict phases, changing
it in the development stage is practically not possible. One cannot start testing before each
development phase is complete, bringing the project timeline behind.
Iterative Models,
1. Agile model,
The Agile development model, a well-licked SDLC methodology, emphasizes flexibility
through early delivery, adaptive planning, iterative development and continuous improvement.
In contrast to long-term planning, agile divides work into smaller iterations, often lasting one
to four weeks, which lowers project risk and expedites delivery. Every iteration ensures that
the client receives a functional product at the end of each cycle by adhering to the full software
development life cycle, which comprises requirements analysis, design, coding, testing and
planning.
43 Thanoj (E127966)
Figure 17.Agile model
Pros:
The flexibility of the model provides teams with the opportunity to quickly respond to changing
situation or emerging changes. It is based on teamwork and responsive client needs to ensure
satisfaction. Further, the high velocity of turn around that is enabled by this model ensures
timely feature delivery, making it a good fit for constant update and launch.
Cons:
The process of setting up the budget and timeline of a project can be complicated because of
the need for very detailed planning. It is a complex process requiring continuous participation
on the part of both the team and the client, and full receptiveness to dialogue and input at each
phase.
2. Spiral model,
This approach combines the structural nature of the waterfall model with iterative cycles thus
positioning it as a perfect solution for large-scale complex and risky venture. Adding design,
prototyping and systematic forestall risk throughout each phase of the process through another
spiraling cycle. Using this approach, projects remain flexible, and constant improvements are
possible, which leaves a possibility for introducing new features or improvements in every
iteration.
44 Thanoj (E127966)
Figure 18.Spiral model
Pros:
The system is flexible, which assures high control and control project dynamics. It is especially
useful in large projects and projects involving a lot of risk to ensure early detection and solution
of the possible issues.
Cons:
There is a lot of administration and planning required in the system, and with it comes a lot of
time and resource intensive. Moreover, it is expensive due to some of extensive preparation
and management carried out throughout the project.
45 Thanoj (E127966)
Types of Risks that occur during the SDLC,
1. Technical Risks
2. Project Risks
46 Thanoj (E127966)
Figure 20.Importance of Risk management in SDLC
During SDLC the following are some efficient ways to identify risks,
1. Swot analysis
2. Protityping
4. Brainstorming sessions
5. Expert consultation
47 Thanoj (E127966)
Common risk factor – Poorly defined project scope
One of the causes of score creep is the appearance of new software requirements or
modifications to preexisting ones during development. This unplanned expansion of a project’s
scope may result in missed deadlines and development expenses overruns.
Mitigation tips,
By precisely identifying and recording stakeholders; requirements during requirement analysis,
developers can reduce the likelihood of requirement modifications and prevent scope creep
2. Design,
At this stage, technology architects and other decision-makers draft a software design
document (SSD) detailing the solution’s architecture, functionality, and user interface. Because
it helps determine the optimal stack and schedule for future software development, SDD is
essential. Typically, this stage also involves producing the wireframes and mock-ups required
to build the solution prototype.
Common risk factor – Misunderstood or misinterpreted software requirements
Developers may misunderstand the intended program functionality and architecture as a result
of outdates, erroneous, or inadequate documentation that fails to precisely specify
technological and functional software specifications. In addition to slowing down
development, this may result in serious functional problems or security flaws.
Mitigation tips,
Tech writers should assist decision-makers in producing through, organized, and
understandable software documentation. A product’s technological features, data model,
features and APIs should all be included. It should, however, also contain instructions on how
to resolve typical technical problems that arise during development, as here is where software
developers’ knowledge can be helpful.
3. Planning,
Since project managers establish a specific scope of work that must be completed and sketch
out the project’s roadmap during this phase, risk management is also crucial. Furthermore, this
phase entails determining the project’s budget, setting deadlines, assembling the development
team, and selecting the development methodology-all of which are essential to the project’s
success.
Common risk factor – Unrealistic project schedule
Effective project scheduling for a project’s success because an impractical timeline might
hinder the delivery of the solution and lengthen the time to market.
48 Thanoj (E127966)
Mitigation tips,
To make more realistic and useful schedules, project managers should divide all of the work
necessary to finish a project into smaller, sequential parts and tasks. On the other hand, exact
and through scheduling can be difficult, particularly for large-cale projects with several
development teams.
4. Development
Managing risks at this stage is especially important because code security plays a major role in
determining the overall safety of a system.
Common risk factor – Vulnerable software components
Any software elements, including files, frameworks, and libraries, have the potential to be
insecure and operate as entry points for malicious actors looking to compromise the code of a
solution.
Mitigation tips,
All software components utilized in the solution’s code base must be tracked by developers,
who must also routinely inspect them for vulnerabilities. A software bill of materials (SBOM),
which is a comprehensive list of every component found in the solution’s source, can be created
by developers to manage this work. All software component’s versions and licenses are listed
in SBOM, along with the dependencies between them, which makes component management
and traceability simple.
5. Testing
QA experts evaluate the newly developed solution’s quality through the testing phase while
removing errors and security flaws. This step is crucial to the success of the project because
they also fic UX problems and guarantee that user expectations are fulfilled.
Common risk factors – Voluminous test data
In a typical software development project, testers have to handle huge amounts of test data.
The failure to manage this data properly might lower testing performance, resulting to more
vulnerable software containing flaws and vulnerabilities.
Mitigation tips,
By centralizing and displaying test data using a strong test data management platform, an IT
team may avoid this problem. Teams can leverage AI-enabled solutions with advanced data
management feature, such data subsetting, test data visualization, and self-service data
provisioning, to increase testing efficiency.
49 Thanoj (E127966)
6. Deployment
Developers should deploy their solution to a production environment after quality assurance to
make it accessible to users. Since release management has a direct impact on software time to
market, it is one of the most important components of the deployment process.
Common risk factor – Slow-release cycles
The user experience may suffer if developers are unable to implement solutions effectively and
issue software updates on time to improve the program I response to user feedback.
Mitigation tips,
By creating an automated CI/CD pipeline and regularly assessing its performance, developers
may expedite the deployment of updates and the distribution of code to end users.
(Davydov, 2024)
50 Thanoj (E127966)
1.4 Recommendation of an appropriate SDLC model for the
Economy-Finance system,
The Agile approach is the best SDLC option for this project because it encourages flexibility,
iterative development, and ongoing stakeholder interaction-all of which are critical given how
often financial systems need to be updates and improved.
Agile Software Development’s Advantages for Financial systems,
51 Thanoj (E127966)
Agile Software Development’s Drawbacks for Financial systems,
Resistance to Change,
The adoption of agile software development approaches will be aided by controlling and
reducing internal opposition. Involve important stakeholders in your financial services
planning procedures, clearly explain the advantages of agile to your team, and offer ongoing
assistance to facilitate the shift. Developing a change management strategy may assist in
resolving issues and guaranteeing a more seamless adoption procedure.
Scaling Agile
It can be difficult scale agile approaches across big teams and projects. Use frameworks that
offer organized ways to scaling agile techniques, such as SAFe (Scaled Agile Framework) or
LeSS (Large Scale Scrum), to guarantee alignment and consistency.
Regulatory Compliance,
In the financial industry, it is crucial to strike a balance between agile techniques and regulatory
standards. Create procedures that integrate compliance checks without interfering with agile
work processes. Regulatory regulations may be smoothly included into the development
process with the assistance of compliance teams.
(Le, 2024)
52 Thanoj (E127966)
Table 1.Full comparison between SDLC models
53 Thanoj (E127966)
1.4.2 Appropriateness of the Agile Model for the Economy-Finances
Project
Working in a field that always evolving, the financial industry has seen a number of changes
in regulations, advancements in technology, and shifts in customer preferences that include
nearly limitless flexibility. Because financial projects move so quickly, traditional development
methods are unable to keep up, and Agile ends up being the ideal associated approach.
Agile approach helps to increase the adoption of financial applications and systems and makes
it possible to construct and upgrade them in small steps, which leads to ever better financial
software. Regularly adhering to standards ensures that safety, accuracy, standard adherence,
and the project’s whole lifetime remain constant. Agile reduces the security risks in financial
services and guarantees regulatory compliance by testing often and confirming the results.
Agile places a strong emphasis on ongoing coordination between the participants and the
development party. The feedback systems remove the risks associated with managing financial
data, including noncompliance, transaction inconsistencies, and reporting mistakes, and they
can be trusted for timely modifications. It maintains the client’s involvement at all times and
eventually produces results that meet the client’s needs and industry standards.
Second, Agile is so adaptable that it can respond quickly to user input, financial technology
advancements, and market shifts. Involved development teams may devide a complicated
financial application into tiny, incremental releases using Agile approaches like Scrum or
Kanban. This will shorten the time it takes to deploy new features and increase the system’s
flexibility to changes.
Ultimately, because it reduces risk promotes collaboration, and offers tracebility to operations,
the Agile Model is a great fit for the Economy Finances project. These elements help to create
a system that is so reliable, safe, user-focused, and flexible enough to adjust to a constantly
changing financial environment.
54 Thanoj (E127966)
Figure 23.Elements of a Powerful Agile methodology.
55 Thanoj (E127966)
1.4.3 Suitable Design and Development Tools for Economy Finance
project
Design Tools,
1. Wireframe design
A wireframe is a simple visual outline of a basic page or application webpage. It represents a
minimalistic description of the site layout, the location of the site, data organization, workflow,
functions it provides, and what sort of operations it is possible to perform relying on almost no
graphical, color, or design details.
Complexity of detail required determines whether to create wireframes digitally or using
manual means. To make all the players aligned concerning where information is to be placed,
UX designers can at times use wireframing as part of their process before developers start
coding.
What are the uses of wireframes?
Wireframes validate the potential of user needs by ensuring that the design caters to their
requirements and satisfy their users. They explain what system features are and how it will be
operated by users which makes the system’s operation clearer. Because of their ability and
efficiency value of wireframes early in the development process is quite high.
Examples – Figma, Adobe XD, Balsamiq
56 Thanoj (E127966)
2. UML (Unified Modelling Language)
A standardized visual language called Unified Modelling Language (UML) serves for a flexible
and instinctive modelling of system design. UML is employed so as to explain, create, deploy
and document the components of a software system.
1. By using UML diagrams it becomes possible to present both the structural and
behavioural aspects of system design.
2. UML facilitates the effective design, structuring and evaluation of a system by the
system architects, software developers and business professionals.
Why we need UML?
Add value to presenting and explaining complicated system designs visually through an aid
such as UML (Unified Modelling Language) and eventually improving the understanding and
commitment of stakeholders.
Examples – Lucid charts, Microsoft Visio, Draw.io
57 Thanoj (E127966)
Development Tools,
1. Programming languages
Python (Django/ Flask),
Having a popular user-friendly syntax and its practical uses, Python is an interpreted, high-
level, object-oriented language. Python is widely used in the software era for goals such as
creating software, creating the web, and competitive programming. Due to its ease of reading
and writing the code, Python is popular among amateur beginners in software engineering.
Python’s flexibilities in design and availability have led to its rising favorability with many and
has therefore kept it as one of the most talked about languages utilized by professionals.
Features of Python,
A number of key features in Python are the reasons for its popularity as a programming
language. It has a straightforward accessible language which makes it perfect for novice
programmers. As a line-by-line interpreter, the execution style of Python makes the
troubleshooting and the solving of problem a walk in the park. It further supports object
oriented programming with the inclusion of inheritance and polymorphism as the design
feature. Python is a free software for use, changes, and distribution. In addition, its
compatibility goes beyond different operating systems like the macOS, Windows, and Linux.
Other than its GUI building potential, Python has an array of libraries and frameworks that
immensely bolsters its capability.
Why python use for Web development?
The flexibility of Python is the reason behind its growing popularity in web development, in
that it easily support an array of project needs. It has strong database integration support, which
extends to smooth compatibility with MySQL, PostgreSQL, and SQLite. Python allows
developers to build web applications more efficiently with less efforts and within less time by
managing significant development activities such as debugging, deployment, and prototyping.
Django and Flask frameworks also mean that things like functionalities already exist which
makes the development process quicker and more streamlined. Moreover, the vibrant and
growing community of Python users presents developers with an array of resources and life-
long support, as well as a whole range of open-source testing applications to make their web
development projects stand out from the crowd.
58 Thanoj (E127966)
Figure 26.Python
59 Thanoj (E127966)
Why Java is popular among Software developers?
There are several reasons as to why Java is a popular language amongst software developers.
First of all, it brings high quality learning resources so that it is easier for newbies to learn the
language. In addition, it comes with a vast array of inbuilt functions and libraries that ensure
developers cut short on time and effort with prebuilt solutions for common duties. Active
community support gives developers an opportunity to ask for help, learn, and share and spread
knowledge without which the language might not have been able to grow. Java development is
extremely efficient and enjoyable because of its high quality development tools such as Eclipse
and IntelliJ IDEA. Its foremost strength lies in its platform independency since a Java program
can be run on any system having a Java Virtual Machine (JVM). Security is also a biggest point
of Java as the language provides solid security mechanisms for securing applications from
vulnerabilities and threats.
60 Thanoj (E127966)
.NET (C#),
The .NET programming language is C#. It has autonomous memory management, built-in
concurrency, and is strongly-typed and type-safe.
Microsoft created C# (C-sharp), contemporary object-oriented programming language, as a
component of the .NET framework. Since its first release in 2000, it has grown to become one
of the most popular programming languages for creating online services, Windows programs
and other projects. The ease of languages like java and Visual Basic is combined with the
strength of C and C+ in C#.
Key features of C#,
The key to C# is the many useful features it gives to you. This supports object oriented
programming (OOP) which means you can make reusable and badible code by classes and
objects. Simple, C# has a clean syntax which means it’s the easier language to learn and use
for other uses. It is robust language, meaning it has all of the built in characteristics of strong
typing, exception handling and built in garbage collector, to help guarantee correct and stable
behavior. Another important feature is security; C# has tools to develop secure applications
with access controls and code access security. C# is portable as it runs on any platform and
especially any platform with .NET Core, it’s cross platform. C# offers high performance lastly,
allowing developers to quickly craft strong, accomplish applications applicable across a vast
number of situations.
Advantages of C#,
There are multiple advantages C# offers to developers and it is a preferred choice. C# is
incredibly efficient at system management as the C# handles allocating memory to the program
and deleting memory as soon as it is no longer needed. Memory leaks aren’t a big problem due
to its high memory backup making it even very reliable. C# is also safe to use as most of other
languages with strong type safety and prevent many common errors. Minimal maintenance cost
is followed due to this feature as the features of the language helps in decreasing the bug fix
and the improvement of the applications, thus making the application easy to maintain in the
long run.
Disadvantages of C#
There are, however, some disadvantages in C# although it has many. The biggest disadvantage
is that it relies heavily on the .NET Framework and while this makes sense when using
Language Integrated Query, it does not translate as well if you do not need to rely on this .NET
based platform. C# is sometimes considered little slower than some other languages due to the
fact that any changes made require that the program is recompiled, thereby slowing the
development process. An other issue is the garbage collection which, unlike C++ automatic
memory management, can effect performance negatively especially in display and with certain
delays since the garbage collector will sometimes stop the program when it feels appropriate.
61 Thanoj (E127966)
Figure 28. .NET (C#)
62 Thanoj (E127966)
Advantages of MySQL,
One of the major reasons MySQL is so popular amongst developers is that there are many
upsides to it. Users can use it free of cost and without paying any license fees for source code.
It is thus beneficial for businesses of all sizes. It has a huge community which, together with a
lot of documentation, forums and contributions to make the MySQL software better. MySQL
is known for its high performance, scalability, and flexibility and as such can be used in
handling large databases and high traffic applications. Moreover, MySQL is platform based as
it can be installed on different operating system platforms like Windows, Linux and macOS,
which makes it quite flexible in different environments.
Disadvantages of MySQL,
However, MySQL has some drawbacks. Since it can’t scale on high volumes of data or complex
databases, managing a large database can result in stability issues, even slowdowns and crashes
under heavy use. As an added note, MySQL may not perform well if there are high loads or
complicated queries where there is a lot of data to process or many transactions having to take
place to execute; it may not respond as quickly or be as efficient in terms of the overall system.
Figure 29.MySQL
63 Thanoj (E127966)
MongoDB,
MongoDB is a document database with a configurable schema for data storage that was
constructed using a horizontal scale-out design. Since its establishment in 2007, MongoDB has
gained popularity among developers all around the world.
Each record in a MongoDB database is a document that is specified in BSON, a binary
representation of the data, as opposed to SQL databases, which store data in tables of rows or
columns. This data may then be retrieved by applications in a JSON format.
Why use MongoDB?
The scale-out architecture upon which MongoDB is based has gained popularity among
developers of all stripes for creating scalable systems with changing data formats.
MongoDB is a document database that facilitates developer’ ability to store both structured and
unstructured data. It stores document in a format similar to JSON. Since developers don’t have
to worry about normalization data, this format is a logical choice because it translates directly
to native objects in the majority of contemporary programming languages. In order to support
massive data loads, MongoDB can expand both vertically and horizontally and manage huge
volumes.
Advantages of MongoDB,
The advantages of MongoDB as a NoSQL database are quite a few and many people prefer
this database over the rest. With this dynamic schema design, it has the flexibility that the data
structure can change over time with no predefined schema. It is extremely scalable and capable
of handling the growth in data and traffic without any problem. Additionally, MongoDB offers
high performance and fast data retrieval to meet high loads. Replication and the distribution of
the workload help preserve data availability and reliability by creating multiple copies of the
data that is located at different servers. This makes MongoDB suitable for many data models,
having complex ones like arrays and embedded documents. It also does superb in real time data
handling so you can have the updates or response in real time. It provides easy maintenance or
its features like automatic sharding, backups, and user friendly management tools so that
management of large database becomes easy.
Disadvantages of MongoDB,
However, MongoDB has its dfd ehema and ena bndemerits. Though there’s a strong push for
supporting ACID transactions itself, this is one limited ACID transactions and thers isn’t a
guarantee that you’ll get a the same level of consistency and reliability plastic multi-document
transaction support than the relational really. To be honest, MongoDB can result in large
memory usage too, particularly when working on big datasets, so heavily depending on
memory for performance. The drawback here being no support for joins is going to mean it
becomes more difficult to perform such complex queries using multiple collections. In
addition, there is a limit to the document size, i.e. the size of each document may not exceed a
limit, which can be constraining for those applications that require storing large quantities of
data in a single document. Moreover, when you need to scale MongoDB for large application,
it may present complex sharding, high resource consumption and needs to manage and more
infrastructure to distribute and store data.
64 Thanoj (E127966)
3. Version control and Collaboration
What is version control,
Version control, also know as source control revision control, is a system that records changes
made to a file or collection of files over time so that specific versions may be retrieved later. It
is most commonly used in software development, but it may be used to any situation where
several versions of something are aerated and may need to be tracked and remembered.
GitHub,
Git, a version control system is used by the web-based platform GitHub to assist developers in
tracking and managing code changes. From any location around the world, it enables numerous
individuals to work together on a project, monitor changes, and contribute to the code. GitHub
caters to both individuals and large enterprises with its free and paid options.
Key features of GitHub,
Among the major features of GitHub, it is a platform that offers powerful version control and
collaboration development. The version control lets the developers track changes made on code
so that where they want they can revert back to the previous version. With repositories, the way
to store and organize the code, it’s easy to work on different projects, separately. In other words,
it lets developers work on new features and fixes on branches in isolation without touching the
main codebase and then merge the changes to the main branch(s) when the job is complete.
Using pull requests help the team members collaborate by allowing them to provide feedback
and discuss the changes before merging them. Issues and project management tools are also
available from GitHub to track bugs, tasks, and a project’s progress on a few different fronts.
Actions and automation allow for the automation of actions, for instance running tests,
deploying code, to increase efficiency by reducing the manual work.
Advantages of GitHub,
There are many advantages that makes GitHub the perfect platform for developers and
organizations. Such tools simplify the open source contribution, and simplifies contributions
by developers with forking, cloning features and pull requests. In addition to that, GitHub
provides streamed documentation, where users can keep the documentation of the project in
place and update it as per the project code. It is a good resource to display your work, a great
way for developers to put their work together and present it to the community. GitHub, with it
available on a public repository, allows people to contribute to open source project, which helps
to foster collaboration and innovation. In addition, GitHub ensures strong integration options
through which users can link with several third party tools and services, including continuous
integration systems, project management tools, and code analysis platforms, among many
more, to enhance development procedures.
Disadvantages of GitHub,
On the one hand, GitHub has lots of advantages and on the other hand it has some
disadvantages. Learning curve is one thing, specifically when you are a beginner, and version
control concepts and the commands you use in Git can be very hard to learn. Another drawback
is the limited privacy free accounts offer, as public repositories are publicly accessible and
65 Thanoj (E127966)
private repositories fee. In addition to being a dependency on the service, you cannot depend
on GitHub always being perfectly available and functioning, as would be the case for a critical
project. There is also a lack of customization that cannot be dealt with within the limits of
customizing the site to the resource and personal needs and preferences due to such limitations
that the GitHub does not open up too many options on customizing the platform for the needs
or preferences. However, public repositories and discussions are potential for spam and abuse
can be exploited by malicious user or spammers. The final challenge that may trouble you can
be difficulties with large repositories: sometimes GitHub doesn’t work well with large
codebases or repositories with a lot of files, so operation can be slow, or even it can be
restricted.
Figure 30.GitHub
Trello,
Users may simplify their work with Trello, a very helpful project management application. It
does this with an intuitive and user-friendly design that makes task organizing easy.
Trello’s primary methos of representing individual projects is through boards. These boards
allow you to make lists that represent several phases providing you with a clear way forward.
After then, each job or concept is shown as a card, making it simple to see the many parts of
your project.
Features of Trello,
One great versatile and user friendly project management tool is Trello and it is complete with
good features. It helps you to visually group your tasks on the cards and lists which use boards
to organize tasks and have visual progression. Each card can allow subtasks and checklists, so
66 Thanoj (E127966)
that the task can be broken down into smaller, easier to achieve actions. It provides task
allocation and notifications to enable team members to assign tasks to certain employee; and
the system alerts keep everyone up to date with any such task updates and deadlines. Trello
also supports handling regarding deadline and lets users specify due dates for tasks and keep
project on track. Using the activity log, you get the complete list of all changes and done and
have the option to monitor progress easily. Pinned cards, gives full user access to view cards,
attachments can be added, and integrations can be added to make cards even more powerful by
allowing users to add files or use other tools. Power ups also include custom as well as
integration with other apps such as Slack, Google Drive, calendars, etc., to Trello.
Advantages of Trello,
Trello has a number of advantages that make it a popular choice for project management. It
provides just in time real time updates in which team members become aware of any change
on the project instantly. It is easy to add new team members, and that is easy to get more people
involved in a project without the tedious process. Trello offers its users a flexibility to use it on
a desktop or mobile, which is possible due to Trello’s adaptive responsive design that
guarantees the platform works well in different devices. It has an efficient kanban system to
organise the tasks in visual fashion with boards, lists, and cards to make the project
management intuitive. Finally, Trello has very simple and affordable pricing – free plan and
affordable upgrades so depending of the size of the team, it right fits both companies who need
a coworking tool and those who are large enough to consider a paid option.
Disadvantages of Trello,
Limiting for large or complex projects is that the item advanced features are not sufficient with
Trello. Finally, there are scalability issues (the scaling part does not usually take care of very
large teams nor efficient projects). It has a very small amount of customization options that
other tools won't have, or at least have at least 5x more. Sensitivity of the information may be
of concern for data security issues, a non-technical user may find it difficult to navigate the
site. Finally, the monitoring of Trello can become a source of information overflow, especially
in large projects, when there are too many tasks and notifications.
67 Thanoj (E127966)
Figure 31.Interface of Trello software
The tools that mentioned in above very fundamental in the design and development of an
efficient economic finance system. First, they have solid technical foundation to ensure the
scalability, security, and high performance. It is not just about the amount of data and
transactions involved; financial systems serve vast amounts of sensitive data and transactions
that should be processed without error and without overlooking any of the data. Effective
design and control functions associated with complex operations apply right tools in an
efficient fashion and enable management by lean or small inventory, reduced downtime and
increase in overall system reliability.
Second, these tools promote consolidation of all financial functions, i.e., accounting,
forecasting, transaction management and analytics. To develop such a finance system, you need
to have a well-functioning system for economic activities, financial reporting, and data analysis
in real time. Organizations can take advantage of advanced development tools to create an
interconnected systems to shorten financial operations and improve decision making and
consistency.
Finally, if you have the right tools, you are able to finally automate and improve user
experience. Repetitive financial tasks that are automated lessen human errors, accelerate
process and meet the compliance of the financial regulations. Furthermore, wonderfully
designed systems allow for a smooth and easy to use for business and stakeholder involving
financial management. In this sense, these tools have an important role in forming an efficient
and secure economic finance system in which these requirements are met through the
development of this economic finance system.
68 Thanoj (E127966)
1.5 Waterfall lifecycle model to a large software development project
69 Thanoj (E127966)
1. Requirements,
The foundation of the Waterfall technique is the idea that all project needs can be identified
and comprehended up front. The project manager makes every effort to fully comprehend the
needs of the project sponser. Each stage of the project, including the expenses, assumptions,
risks, dependencies, success indicators, and completion timeframes, are described in written
requirements, which are often presented in a single document.
2. Design,
Here, software engineers create scenarios, layouts and data models as well as a technological
solution to the issues outlined in the product requirements. In order to characterize the goal and
extent of the project, the overall traffic flow of each component, and the integration points, a
higher-level or logical design is first produced. After this is finished, particular hardware and
software technologies are used to turn it into physical design.
3. Implementation,
The technical implementation phase begins when the design is finished. Because meticulous
study and design have already been completed, this stage of the Waterfall process may be the
fastest. Programmers create applications at this phase using project requirements and
specifications, and some testing and implementation also take place. It could be necessary to
return to the design process if major adjustments are needed at this point.
4. Verification or testing,
A product must be tested to make sure it is error-free and meets all standards before it can be
made available to consumers. This ensures that users will have a positive experience with the
program. To develop their test cases, the testing team will use the product manager’s design
papers, persons, and user case scenarios.
5. Deployment and maintenance,
The maintenance phase starts after the program has ben made available to consumers or put
into the market. A team will be established to handle software upgrades and deliver new
versions when flaws are discovered ad user modification requests are received.
70 Thanoj (E127966)
is followed in an increasingly sequential step, with a phase not allowed to be completed before
progressing to the next. What is especially useful for projects that are under strict deadlines and
budgeted budgets, as it is possible to plan more accurately. In addition, the methodology is very
suitable for stable needs, for example when the project scope has to be finely specified upfront
and will not change at all throughout the process, for instance, on the side of government or
regulation. Lastly, project managers can easily track progress with Waterfall since each phase
completion is a sign of where the project is at. It also facilitates the confirmation that the project
is following the original plan and prevents delays or unexpected problems.
Disadvantages of the Waterfall methodology,
Strengths in one area may indicate shortcomings in another, as is the case with every growth
process. Because the waterfall method focusses on upfront project preparation and commitment
to a certain objective, it becomes less flexible, or agile, later in the game. Changes can be costly,
challenging, and time consuming later in the process.
The Waterfall did have certain benefits, however there were also several major disadvantages.
It is also incapable of adjusting to changing needs and agility. Projects of large scale tend to
undergo changes in scope owing to market dynamics or stakeholder demands and waterfall’s
rigid structure makes it very difficult to take the changes into account, thus there is a risk of
delays or rework, which is very costly. A disadvantage is that when it comes to customers, the
feedback is delayed by the fact that stakeholders usually don’t see the final product until after
the deployment stage. In fast markets, this delay may lead to delivering a product that is not
meeting the customers’ needs anymore. There is also a danger of inappropriate extension of
solutions from stage to stage. Such mistakes or misunderstanding would not become apparent
until a latter phase of the process, say testing phase. Fixing issues can be very costly and time
consuming. Finally, late changes during the latter stages of the project are very expensive since
if you are not ready to find problems or more requirements during those stages then your budget
will increase, change the timelines, and also waste some resources.
Comparing Large-Scale projects with iterative models,
Agile or Spiral Models,
Such models as Agile and Spiral, frequently used in software development, are highly suitable
in large-scale projects with variable requirements. With these models, there is increased
capability of editing and responding to feedback during development and beyond. Unlike the
rigid structure of Waterfall, the Agile and Spiral methodologies provide the flexibility for
continuous improvement, rather than enhancement, until there are changes to the needs of the
project at hand.
Based on the collaboration and a constant feedback as part of stakeholders, Agile
methodologies are flexible and provide an opportunity for constant improvement. Besides, the
Spiral method adapts iterative software development with systematic risk assessment, making
it a good choice for complex cases, which should be reviewed and changed constantly.
Although the Waterfall model is based on a strict sequence and order, iterative approaches such
as Agile or Spiral have excellent flexibility in adapting to change and resolving emerging
problems and delaying of the project; thus, they are preferable for making large, quickly-
changing projects.
71 Thanoj (E127966)
Findings and Suggestions,
The Waterfall model is excellent when the requirements are fixed, but its predefined stages can
be less adaptable than necessary when Economy Finance’s needs are to continue evolving. The
need for changes resulting from changing customer and business expectations make Agile an
ideal answer for this project. With its agile approach to working and frequent communication
with the product’s clients, the product can be fine-tuned to be very close to what the user
expects. Nonetheless, components which have specifications which do not change (such as
regulatory compliance functionalities) realize the benefits of the Waterfall approach since
changes to such areas are infrequent.
Merits of the Waterfall model,
The waterfall Model is a sequential and linear software development process that offers a
number of benefits, particularly for projects with clearly stated requirements.
These are mostly used iterative approaches, which include Agile and Spiral models for large
scale projects both with changing requirements and developing products as the developers have
much more freedom to modify and receive the feedback during or post the development of the
product. These models deviate from the Waterfall model in having a more continuous
improvement nature, allowing you to adapt as you go along the development cycle meaning
changes in your requirements are taken in as you go. Agile model is all about getting and giving
help in the form of updates and refinements to your work thanks to continuous feedback. A
similar model of the Spiral combines iterative development with risk management and is
specialized in the projects of complex nature which ought to be periodically assessed and
adjusted. The Water fall model considers the predictability and stability while iterative models
are flexible to take control of changes, unanticipated incidents, delays the taking place of
execution, they are a better option for dynamic and large projects.
72 Thanoj (E127966)
Financial and tactical waste,
Time overruns are a regular occurrence in large-scale projects, and the waterfall model’s nature
can create delays if mistakes are discovered much later if the needs were not fully understood
at the outset.
The possibility of miscommunication,
In big teams or in geographically dispersed locations, an emphasis on through documentation
may result in instances when needs or design specifications are misunderstood.
Below table compares Agile and Plan Driven (Plan Driven) development methods and diffuses
how and why the Agile method is much better than the Plan Driven.
73 Thanoj (E127966)
Table 2.Agile vs Waterfall.
74 Thanoj (E127966)
Activity 2
For any proposed project, feasibility study is an initial approach at the beginning of any project
to determine if a new idea or an existing system can practically be implemented. Using this
mechanism, it is possible to predict success, define necessary resources, as well as threats and
opportunities in the overall context.
During the feasibility study in software development, developers scrutinize everything to
ensure that potential is examined comprehensively. This is one of the critical steps in the
Software Project Management Process involving a total of four steps. Arising from the
technical perspective, the analysis examines a widearray of aspects to determine the
probabilities of success of the software in the commercial world. Besides, it calculates how the
project relates to business goals, determines the feasibility of implementation and tests the
developers’ understanding of the intended product. It is possible to hire companies of software
engineering experts on the critical phase of the projet.
The feasibility studies are the most cumbersome and lengthy stage of the software engineering
life cycle. In this regard, “viability” means knowing the present and future technological
possibilities of the product. Technical feasibility looks at the technical challenge as well as
budgetary, timeline, legal and after release maintenance needs.
At the onset of a software endeavor, feasibility review is made during the ideation phase to
make sure that the development can perform the initial project needs.
1. Business analysis provides for functional requirements that are the foundation of the
function aspect of the solution.
The analysis phase considers the viability of the idea then reviews whether the idea is congruent
with project objectives. The results from this analysis describe an effective business strategy
as it guides the course from the project inceptionality, which can lead through to execution. If
at the first set of requirements are not met, it is important to balance the client’s expectations
with appropriate solutions to ensure successful business results.
75 Thanoj (E127966)
main benefit of a feasibility study is that it finds valid reasons to proceed with or scrap a project
plan, enabling choices to be made on the basis of analysis rather than speculation. This ensures
that the probability of failure is reduced by spotting ant issues early on and encouraging realistic
expectations for a project’s outcome.
It is also advantageous to focus on the activities and coordination of project teams in order to
accomplish particular goals. Through the project’s scope, objectives, and constraints, clear
instructions are provided to help align procedures with the project vision. A feasibility study
also reduces business prospects by evaluating current choices and selecting the most feasible
one. Ultimately, while making routine business choices, this in-depth research not only saves
time and money, but it also uncovers innovative ideas that could have otherwise gone
overlooked. This research will also assess the exiting and required resources (money,
manpower, infrastructure, and technological management).
Another methos to identify and sometimes mitigate such risks is to do a feasibility study, which
raises the project’s chances of success. In order to enable systems to only handle elements that
might obstruct their advancement, it also offers clues regarding a range of variables, including
market circumstances, competition, regulatory conditions, possible problems, etc.
76 Thanoj (E127966)
What is a feasibility study report?
A feasibility report is a number of suggested project routes or solutions to ascertain their
viability. When creating a feasibility report, the author reports the viability of many options
before selecting the best one to suggest. After that, they give their firm the feasibility study and
offer their advice.
The purpose of a feasibility report is to assess the viability of several project routes or solutions
and select the best one. The purpose of a feasibility study is to help readers comprehend the
viability of various approaches to a project or problem. Readers can choose whether to follow
the report’s advice for the best course of action based on the evaluation described in the report.
Businesses can make the best judgments on projects and issues by using this in-depth review
of various ways.
Sections include in feasibility study,
Every organization has a distinct format for their feasibility report, and your employer may
have given you particular instructions on how to format yours. However, a few essential parts
are usually included in the majority of feasibility reports,
Executive summary,
The executive summery is one of the initial parts of a feasibility study. The executive summery
gives readers a quick overview of the report’s key findings. Write your executive summery
succinctly and clearly because it should be brief. The following are some things to talk about
putting in your executive summary,
1. A succinct synopsis of your report that highlights the issue you’re trying to solve or
the project you’re working on.
2. Notes on the key points of your study or significant details from your report.
Since you may go into further depth in your report, the executive summary should be concise
and easy to read. To make it simpler to decide what material to include in the executive
summary, many individuals decide to write it after drafting their report, even though it is one
of the initial components of the report.
77 Thanoj (E127966)
Introduction,
The introduction is yet another crucial part of a feasibility study. An introduction outlining the
problem or project and the suggested solutions can be included after the executive summary.
Since you may go into more information later in the report, your introduction can be ass generic
and succinct as your executive summary.
Evaluation criteria,
A report section outlining your evaluation criteria is another option. This part explains option.
This part explains to your report’s readers how you assess the viability of various strategies and
the reasoning behind your suggestion. Your assessment standards might consist of:
1. Financial costs – Financial expenses may be one of the criteria in your feasibility study
because companies usually think about a project’s financial impact before moving
forward.
2. Tax impacts – As an additional criterion, you may compare various strategies according
to how they will affect your company’s taxes.
3. Public perception – In your feasibility study, you might assess how various strategies
will affect the public’s opinion of your business, since some initiatives or issues may
have an impact on it.
5. Resources needed – You might the resources required as one of your criteria as you
could require certain resources for several possible ways.
Evaluation of solutions,
The evolution of solutions section is a crucial part of a feasibility study. Determining the
viability of project pathways and solutions is the goal of a feasibility study, which is achieved
in this part. You compare possible strategies using your assessments criteria in the evaluation
section. You propose the best course of action after completing the review process.
78 Thanoj (E127966)
Conclusion,
In the conclusion section, you might restate your report’s key findings and provide a summary.
The advant6ages and disadvantages of each of the strategies covered can be briefly described
in this section. This part serves as a reminder to your readers of how you assessed each strategy
prior to offering your final advice.
Final recommendation,
Your direct advice for the best course of action is included in the final part of a feasibility study.
You can discuss if the solution is practical and why you think it’s the best option in this part,
which can be brief. Clearly explaining your proposal and the reasons behind it is crucial when
writing the last portion of your recommendation.
By early in the process it will be necessary to compare the technical options to chose which
solution to use for the project. A set of criteria is established to decide which is the best choice
so as to satisfy the project requirements. The following demonstrates How to compare the
technological solutions,
1. Functionality,
How well does each technological solution to meet the requirements related to a project’s
functional and features?
Instead: List each alternative’s key factors and assess how well it fulfils the criteria of the
project. So, you think about some kind of programs which carry out activities or tasks and how
they handle themselves compared to others.
2. Cost,
Consider the first costs, including support, upkeep, and licensing, as well as continuing costs.
Compare things: You should analyze these things in comparison to evaluate the total cost of
ownership (TCO) in the first place for each option keeping in mind unexpected or further
expenses. This may involve comparing the initial cost of a system produced especially with an
industrial off the shelf (COTS) component.
3. Scalability,
Consider each solution’s ability to develop in line with growing demand or company growth.
In order to expand functionality, handle more users or large volumes of data, look at the ease
79 Thanoj (E127966)
with which each system can expand and upgrade. Suppose that a cloud based solutions are
easier to scale than a physical one.
4. Performance,
Look into how each solution can do its job in terms of dependability, efficiency, and speed.
Compare each-solution under different circumstances, including the busy times. Also, response
time and processing speed of transaction can be examined by software benchmarking.
5. Security,
Compare and analyse each solution’s security features and safeguards e.g., encryption, data
security and compliance with industry standards as to which option offers the best security
against the threats at hand.
The security protocols, including user control, vulnerability management, and data encryption.
6. Integration,
Consider the ways in which any current technology, software or procedures will work with
each solution.
This : Look at how easy it is to integrate, given that you’re thinking of your compatibility and
other things. Current technology, requirement of middleware and complexity of installation
process. So in that regard, think about how easy it would be to take your brand new CRM
system and pull it into the existing ERP.
7. Usability,
Determine the ease of setup for managers and end users in each solution.
Compare the training accessibilities, the learning comments and the user experience with
resources. Get input on each idea from possible clients and test the viability.
80 Thanoj (E127966)
9. Vendor reputation and reliability
Assessment of suppliers of a solution; who they are, and how reliable, track record and
standing, they have.
Research Studies, Industry Publications, and Customer Reviews: Analyse each vendor by
looking at research studies, industry publications, and customer reviews to see what was their
record in dependability and client contentment.
2. Cost – Solution A has a higher initial cost and lower continuing maintenance costs than
Solution B, which is initially less expensive but necessitates expensive upgrades.
3. Scalability – Despite the fact that both systems are expandable, Solution A is better
able to manage additional users than Solution B.
5. Usability – Solution B is easier for customers to use, although Solution A offers more
options for customization.
81 Thanoj (E127966)
Table of contents,
Readers may easily traverse the document thanks to the table of contents. It provides the reader
with the page number for every study part. A table of contents may be automatically added to
your papers using a function included in many word processor programs.
Executive summary,
The study’s executive summary is its first-in -depth portion. It gives a succinct overview of the
project and explains its goal. The executive summary also lists the precise goals you hope to
accomplish at the conclusion of the project, along with the resources you will need to
accomplish them.
Market feasibility,
Important facts about the business that make it eligible to complete the project are included in
this section. Information about the company’s industry, history, ongoing initiatives, and
projections for the future are all included in the market feasibility section. Here, you may also
talk about the company’s top rivals, significant sources of income, sales data, and potential
growth areas. This part describes how the new project may enhance the company’s growth and
outcomes while giving the reader a through grasp of the business and its operations.
Technical feasibility,
The operational elements that might impact the company’s performance are covered in the
technical feasibility section. The resources needed to create goods or services, the number
employees needed, the production and quality control procedures, and the network of logistics
and distribution to satisfy consumer needs may all be described here. The reader is shown the
main elements that contribute to the business’s viability in this part.
Financial feasibility,
This part is a crucial tool for persuading investors to fund a new project since it provides the
reader with financial facts about the firm. Information on assets and liabilities, current revenue,
total yearly revenue from the prior year, present investors, and other financial sources are all
included in the viability section. In order to let readers now how much money the business
needs to carry out the project, it can also list the capital requirements for the new project.
Organisational feasibility,
The organisational feasibility section explain the company’s structure, outlines the departments
and locations where it operates, and can include information about the executives, including
the founders, boards members, and other principal officers. It also highlights the company’s
policies regarding hiring employees, meeting productivity goals, and adhering to industry
Conclusion,
In order to motivate the reader to take the desired action regarding the project, it is a good idea
to conclude the document with one or more recommendations. If your recommendations are
extensive, you can divide them into separate section to make them easier for readers to read.
The conclusion summarizes each of the preceding sections of the document.
82 Thanoj (E127966)
Appendix and reference pages,
The appendix section, which follows the conclusion, offers additional resources that may help
readers better understand the topics covered in the report. Reference pages list the sources you
used to prepare your report, such as articles from academic and professional journals and
professional journals and data from an industry regulator.
Feasibility studies are meant to examine the options available and identify which one is the
best way of correcting a problem. It determines whether a new system is able to process a
certain process better than an existing one.
A thorough feasibility study panoramic view usually considers three key sections: The focus
of the study is on the evaluation of market challenges, organisational and technical
requirements and the financial aspects. This analysis sets the ground of the decision as to
whether the project should be commenced or entirely delayed. As soon as the project receives
the green light, the feasibility study becomes the basis for the valuation of its potential for
success before any development activity.
83 Thanoj (E127966)
Technical impact,
The information society and later the knowledge society were made possible by the
proliferation of information and our reliance on it. Information has always played a major role
in the evolution od civilization and is frequently considered an essential national resource.
Information services strive to achieve this goal. Our lives now revolve on information, which
ought to be accessible when required. New technologies and methods are used to provide
information services that let the appropriate people get the correct information. (Khodeh and
Dhar, 2002) Over the past two decades, libraries have undergone significant change as a result
of the implementation of information technology, which has had a significant impact on the
growth of knowledge and the unlocking of human potential. New forms of library services have
been demanded in order to increase user satisfaction, and digital library services have evolved
following the implementation of IT in libraries and information centers.
Operational Impact,
Organizations that thrive in their operations in ways that are completely aligned with their
strategic goals are lean in their competitive race. This enables them to maintain high
performance over time and optimize the operational effect of their plan.
Economic impact,
A strong and convincing approach for capturing and proving the financial gains that can come
from holding a significant event is economic impact measurement. In addition to helping public
sector organizations assess their financial return on investment, measuring economic impact
shows how events generate economic benefits, enabling event planners to create strategic that
optimize this advantage.
The entire amount of extra money made in a certain location as a direct result of holding a
significant event is referred to as the “economic impact” The primary driver of economic
benefit for the majority of events is tourist spending in the local region, particularly on lodging;
however, event organizer expenditure is also a significant influence. Economic impact studies
usually aim to determine the net change in the host economy; that is, the net outcome is
determined by measuring currency inflows and outflows.
Social impact,
Social consequences are not likely to develop by accident and, if they do, need to be controlled.
Having clearly defined goals and objectives that outline the delivery methods by which the
intended impacts will be realized is the first step in providing particular social benefits.
The goals and objectives of the event sponsors are frequently closely related to the rationale
for quantifying social consequences. It is crucial to understand that achieving a stakeholder’s
goals shouldn’t be the sole motivation for assessing how events affect society. Evry event
planner should want to know how their event affects people’s attitudes and actions. Whether
directly or indirectly.
84 Thanoj (E127966)
(Sauce, 2021)
Feasibility report for Economy Finance,
1. Introduction,
This paper explores the feasibility of starting up a new computer system for Enomy-Finances,
a financial advisory firm. The system is intended to ease staff and client support and provide
mortgage, savings and investment services. Because of the possibility of switching from a
networked to a web-based system, this study also assesses the financial consequences of such
a change.
2. Economic Feasibility,
This system is economically feasible and gives a value for money for the cash involved.
85 Thanoj (E127966)
3. Financial Feasibility,
The financial feasibility is the assessment of the affordability of the system and the funding
source of the same.
3.1 Funding Options,
• At the outset, the company allocates its available financial reserves to fund the project,
thus adopting a strategic and cost effective method; relying on the project’s internal
sources of funding and thus reduces the company’s financial dependency and controls
on the project’s financial management.
• Technology Investment Loans: The company may qualify for bank loans that are
exclusively created to support technology investment, which would allow the company
to borrow much needed investment capital with lesser interest rates or longer repayment
periods for the nature of technological development.
• Government Grants: Looking for government grants not only aids in reducing the
financial burden on the company but also allows the company to obtain much needed
funding support for projects in line with the government’s initiatives focuses on
encouraging innovation, advancing technology, and modernizing the financial sector.
• Substantial Capital: An influx of investor funding means one is making good money
without risk. Furthermore, particularly when these investors are just beginning, it helps
in forming beneficial partnerships and receiving strategic advice. Showing the possible
for high returns, scalability and long-term market impact in the project will attract
investors.
4. Risk Analysis,
• Among the most notable financial risks is the possibility of budget overruns due to the
inherent difficulties involved in development, making it difficult to estimate precisely
how much it will cost, giving unanticipated challenges and additional costs, thus
surpassing the originally planned financials, posing a strain on already determined
financial projections and cash flow.
• Cybersecurity Threats: As people rely more and more on the online transactions, the
chances of a cyber breach becomes greater. Legal and financial costs due to
cyberattacks, data breaches or hacking incidents, can be substantial and continuously
growing; in such cases, never-ending security measures would be necessary to avoid
those losses.
• A risk in this is possibly regulatory Changes that will change the legal landscape forcing
the business to adapt their way of doing business and the corresponding systems to stay
in compliance. There may also be added costs related to upgrading technology, legal
86 Thanoj (E127966)
fees and monitoring the facility to comply with changing regulations of the
community’s finances and security.
5. Conclusion,
As indicated by cost benefit analysis and ROI projections, the development of the new system
for Enomy-Finances is obviously financially and economically viable. Downsides to moving
the platform from being installed on a client’s PC to running on a web based platform include
the need for one to have a stable internet connection as well as having no access to other devices
they might be using when a PC might have been used for creating, editing, and saving their
work. Being said that, it is paramount to keep cybersecurity as a priority to prevent possible
threats, and to be secured perfectly under the regulatory law to prevent any legal issues that
might cause crisis. Proper financial planning and comprehensive risk management strategies
can be carried out such that the project will be implemented successfully with the least possible
risks for the company in the long run.
87 Thanoj (E127966)
growth and competitiveness in the financial industry are other factor used to evaluate its
economic feasibility. This is quantified using the Cost/Benefit analysis. Therefore, it may be
argued that a feasibility study helps identify potential obstacles early on, including a lack of
resources, technological limitations, or compliance issues, and provides useful
recommendation to reduce them. These assessments greatly lessen uncertainly, promote
informed decision-making, and raise the possibility of offering a reliable, secure, and user-
focused solution.
88 Thanoj (E127966)
Activity 03
3.1 Presentation
Below are the slides on the presentation I designed to cover the application of an appropriate
software development approach
Figure 36.Slide 01
89 Thanoj (E127966)
Figure 37.Slide 02
Enomy Finances is one of the financial services company with focus on three major services,
mortgages, savings and investments. The main goal of this project is to come up with a solid
software solution that will improve customer financial management experience and, at the same
time, minimize company’s operations. With days becoming more digital and financial solutions
becoming more reliant, it is important to develop such a platform which must be not only user
friendly but also highly secure and efficient for the users.
We plan to provide a system that makes mortgage applications easier, improves savings
account management and investment tracking using modern software development
methodologies. By completing this project, Enomy-Finances will gain a competitive advantage
by providing its customers with an all round, digital first experience.
90 Thanoj (E127966)
Figure 38.Slide 03
This is to ensure the flexibility and continuous improvement in the entire software development
process. With Agile, we can write code on an iterative basis, where every feature is passed
through the pipelines for testing and refinement, as such instead of hitting one per feature. The
first step of the process is Sprint Planning where we specify what we want to achieve and
prioritize on the goals to be done in a particular sprint. Daily Scrum meetings prevent the team
from slipping into chaos and helps solve any problems prior to escalation. Then we do a Sprint
Review at the end of each sprint to demonstrate to our stakeholders what is completed and see
what they have to say.
Finally, it is finally time for us to have a Sprint Retrospective to see what went well and not so
well for our next Sprint. Iterative approach enables us to keep making continuous
improvements until delivering a high quality product that satisfies the user’s needs.
91 Thanoj (E127966)
Figure 39.Slide 04
The right technology stack will make a difference into the future of the software and its
performance, scalability, and how maintainable the software will be. On the frontend side we
are using React, a very popular Javascript library that allows to create dynamic and interactive
user interface. We have decided to use Node.js with Express on backend for its capability to be
scalable; meanwhile, handling business logic and API requests with an efficient way.
One primary reason we prefer PostgreSQL over anything else is that of its exceptional
reliability, data integrity and the capability of handling complex queries in an efficient manner.
The following technology stack guarantees that the software will be able to handle an
increasing user base, maintain high performance, and deliver a consistent user experience
products in the financial space.
92 Thanoj (E127966)
Figure 40.Slide 05
As with any other project, we have a structured process in place for the software development
and it is aimed to guarantee efficiency, reliability and scalability. The gathering of requirements
consists of the first phase, the Requirements Gathering that involves detailing from
stakeholders how the business needs and the user expectations must be achieved.
Functional requirements,
• Account management – Customers have the ability to set up, maintain, and modify
their accounts.
• Service Requests – Employees can update the progress of client’s request for services
(such as mortgages and savings plans).
• Staff Management – Depending on their positions, staff members can log in and
handle customer queries.
93 Thanoj (E127966)
Non-functional requirements,
• Performance – Even with several users, reaction speeds are quick (less than 3 seconds).
• User-friendly – Requires little training for both clients and employees to utilize.
• Maintainability – With clear code and documentation, updates and fixes are simple.
• Cloud Support – Should work nicely with cloud services for hosting.
In the Design & Planning phase, we design, plan and plan the development roadmap. During
the Coding & Implementation phase, our developers write clean, well documented and
efficiency code as per industry best practices. As such,
There is nothing more crucial to the Testing & QA Phase than being able to not just identify
but to fix any issues so the software is running correctly and securely when it is finally
deployed. The final phase of the SDLC, in the Deployment phase, we release the software into
production making sure that it is fully functional and able to be used by our customers. In doing
this, we are ensured that the software is inbuilt very high quality in integrity and is also
adjustable to future upgrades.
94 Thanoj (E127966)
Figure 41.Slide 06
Financial applications must be secure and reliable to which we devote our best efforts to make
sure software quality. To catch and resolve issues as diligently at the earliest possible point, we
evolve a rigorous testing approach. Verification of individual components functionality is done
through Unit Testing to verify its functionality. In integration testing, we check that different
modules fits together and does not face any problems.
User acceptance testing is a real implementation in which real users put the software to the test
to ensure that what it provides serves their needs. This multi level testing helps to find these
bugs in an early and fix them so that we have a stable, functional product that will not at all
create an impact on the user as the user will not see these bugs in the final product. In order to
release an efficient and trustworthy product, we need to keep standards for high quality
assurance.
95 Thanoj (E127966)
Figure 42.Slide 07
Financial software needs to have a high degree of security as a result, because it deals with
sensitive customer data. Strong security lays down with the aim to protect the data of financial
transaction and protect the user information. Data Encryption is used to prevent data leaks that
may be conducted through data transmission, data transmission is being protected from
unauthorized use, or data breaches.
To verify the identity of the user and also to prevent unauthorized logins, authentication
mechanisms like multi factor authentication are used. Authorization controls also helps to
prevent unauthorized users from having access to some data and some functionalities.
Customer information is protected, as are the consumers against the threats of cyber attacks,
and the financial industry regulations are satisfied. We prioritize security to give our users
financial platform where they can put their money in it without having a single doubt.
96 Thanoj (E127966)
Figure 43.Slide 08
Moving into the future, we are focused on utilizing the software to further advance the
software’s capabilities and ensure scalability for further growth. AI Integration is one of our
main initiatives aimed at creating more automation, better financial forecasting and giving
users better financial recommendations. Secondly, we are optimizing the use of our cloud
infrastructure to bring system performance, reduce downtime, and increase scalability when
the scales of users grow. Mobile Expansion is another major step to develop mobile
applications which will give customers convenient access to their financial services on their
smartphones and tablets.
However, all these future developments will pave the way for Enomy-Finances to adopt
technologies and remain up to date with technological advancements which in turn will enable
Enomy-Finances to offer a superior digital experience to the users. This will create a long term
solution which evolves with the demands of financial industry by prioritizing scalability and
innovation.
97 Thanoj (E127966)
Activity 04
2. Pseudo codes.
1.1.1.1 Flowcharts,
Software developers frequently utilize flowchats, which are visual representations of processes,
to show how activities are completed step-by-step. A process flowchart, which functions as a
roadmap, shows the order of steps in a program or system. It provides a clear and succinct
summary of the complete process by using a variety of symbols to represent distict actions,
choices, and loops.
A process flowchart is a crucial tool in software development because it helps developers
comprehend the order of processes and possible decision points by outlining the logic and
structure of a program.
98 Thanoj (E127966)
Figure 44.Flowchart of a Financial system
99 Thanoj (E127966)
Figure 45.Flowchart for the Economy Finance
4. Network protocols
2. Vending machine
1. Actors,
External parties that communicate with the system are known as actors. These might be
hardware components, other systems, or users. A Use case diagram shows how actors start use
cases and get the results. Accurately modelling system behaviour requires proper actor
identification and comprehension.
2. Use Cases
Use Cases are comparable to play scenarios. They stand for certain capabilities of your system.
“Place Order”. “Track Order”, “Update Product Information” are a few examples of use cases
in the Online shopping system. Ovals are used to symbolize use scenarios.
3. System Boundary
The boundaries of the system you are mdeling are shown graphically by the system boundary.
It establishes the boundaries between what is inside and outside the system. The border aids in
making a definite division between the components that are external to the system ans those
that are a part if it. A rectangular box that encloses each of the sytem’s use cases is commonly
used to symbolize the system boundary.
108 Thanoj (E127966)
Figure 53.Use Case Diagram for Economy Finance System.
2. Problem Analysis
3. Abstraction
4. Hierarchy
3. Vividly shows the steps taken when performing a UML use case.
4. Simplifies the majority of the UML processes by clarifying complicated use cases.
2. Attributes: These list the features or attributes peculiar to the entity. There are two
ways attributes can be used to distinguish entities – as primary keys and as foreign
keys.
3. Relationships: These states how one entity has with regard to another entity.
4. Actions: These describe the methods of flow of data into and out of entities in a
database system.
5. Connecting Lines: They depict the relationships and relationships in the database
entities.
An ERD (Entity Relationship Diagram) showing the connections between product orders and
sales – representatives – customers, can be initiated with the sales representative, customer,
customer address, order, product, and warehouse, respectively. The interpolation of these
entities is revealed through lines and symbols with labels added on to provide more information
on how entities interact.
• Gives the project clarity: Developing a wireframe for the project aids in the
development process and the creating of neat layouts.
• Rapid Iteration: Because wireframes are low-fidelity and devoid of design elements,
they can be produces and altered rapidly.
• Easy updatable: Collecting feedback and modifying the wireframes can be done fairly
easy which helps make the final product clean and polished.
Disadvantages of wireframing,
• Absence of detail: Absence finer features like artwork, text, and colours.
• Time-consuming: Wireframes creation, particularly when done by hand, can take a lot
of time.
Figure 66.Dashboard
Feedback form,
Safety,
Secure login,
It is configured in such a way that, every time users want to access the system, they must have
to provide their username and Password. In this way, only the authorized users have access to
the system. Additionally, only 3 tries are permitted during the entirety of the login operation.
No matter which three attempts are failed, the machine will automatically lock and the public
will not be able to enter.
Logout choices,
There is a cancel button attached to each of the system interfaces. If the user clicks on the
cancel button, he will be asked whether he should log out of the system. A system logout in the
case that a user only leaves the system is also automated.
Conclusion,
Because of Enomy-Finances’ growing demand, the research contends that it requires a safe,
scalable and user-friendly web system. Through modular design using efficient and reliable,
the suggested method would sufficiently solve them. strategies for architectural flexibility and
data security. Agile SDLC has an iterative structure which is perfect to ensure continuous
development and the participation of the stakeholders. To start with, a good upgrade of
2. Customer Satisfaction: When demands are fully addressed, when expectations are met
and needs of stakeholders are achieved, the overall experience of the user is highly
enhanced.
4. Resource Allocation: This step forces project managers to allocate and optimize
resource to satisfy specific needs.
3. Survey and Form Builders: SurveyMonkey, Typeform, and Google Forms are widely
used tools for getting information from customers about their feedback through online
surveys and various forms.
4. Prototyping Tools: Such software as Sketch, Balsamiq, and Figma aid in building visual
prototypes on which stakeholders can look and understand how the system’s design
looks from the start.
5. Version Control Systems: Mechanisms such as SVN and Git make it easy to monitor
document versions so that one can easily revise, undo or combine edits whenever
necessary.
BDD process,
The methodology of Behaviour-Driven Development (BDD) is based on an approach to
teamwork among developers, testers and the interests of business stakeholders as an assurance
that the provided product satisfies user and business needs.
Developers within the BDD space use Gherkin which is a structured language that uses Given,
When and Then to describe the scenarios of desired behaviour in their scripts. For example:
If the user is yet signed in, Upon pushing the “logout” button, They should subsequently be
taken to the login page and logged out.
Automated testing is based on the Gherkin scripts from which developers can validate the
application’s correctness functioning. Through BDD approach each team member gets a
chance to understand all requirements comprehensively resulting in lower misunderstanding
and exact project goals.
BDD testing,
The basis of automated testing stands on Gherkin scripts, which are used by developers for
testing the correctness of an application. With the BDD method adopted, each of the team
members will be able to understand fully all the requirements thereby minimizing
misunderstandings and attaining perfect project goals.
• Greater Visibility: Expectations are well outlined and their history runs throughout the
project.
• Faster Iterations: By making development lean and clearly defined, cycles become
quick to respond to change.
• Reduced Waste: By remaining focused, teams will not tend to deploy resources to
features that do not serve the product or the business.
• User-Centric Development: Ensures that the development processes take priority of the
needs of the end users.
Disadvantages of BDD,
The term “outside-in-development” comes from BDD’s explicit statement that software
development must be carried out from the interface that interact with the end user.
The advantages the app will offer the company are the main emphasis of this technique. The
advantages of development are obvious, regardless of whether you have not yet implemented
BDD or if your team is now utilizing TDD and would want to explore BDD. However, BDD
is not an exception to the rule that even the finest development strategies have shortcomings.
• Requires Knowledge of TDD: Knowledge of Test-Driven Development at an
advanced level enhances practitioners in BDD implementation.
• Incompatibility with Waterfall: BDD fits agile practices the best because it requires an
iterative approach and it is not as effective within the traditional linear frameworks of
Waterfall.
• Technical Skill Required: Testers and team members should not lack basic technical
ability.
• Dependence on Clear Requirements: If the requirements are left vague, BDD may fail
to bring both effectiveness and practicality.
Conclusion,
Important behavioral design approaches including FSM, EFSM, use case diagram, sequence
diagrams, and BDD may be included into the Economy-Finance system to meet its
requirements for security, usability and dependability. EFSM has been strongly recommended
due to it’s the capacity to scale and adpt to complex and conditional behaviors in investing and
savings modules. When mapping user interactions and intricate workflows, the usage of use
case and sequence diagrams will guarantee that the final product fulfils customer requirements.
The creation of a system that meets Economy-0Finances’ changing demand will be the outcome
of these iteratively integrated approached, including re-evaluation during feedback.
• Fees will be computed by the system through a tiered structure and implemented with
a minimum of £300, maximum of £5000 and a restriction on transactions.
• Crowley will use reliable financial APIs to pull live currency rates.
• Results should be shown in textual, numeric and picture formats for class.
• All requirements of GDPR and any applicable financial data regulations should be
ensured.
System Flexibility,
• The technology offered shall allow for both staff and clients to access the services
from any location through a web-based interface.
Non-Functional requirements,
• Performance - On the other hand, the system shall be able to support hundreds of
concurrent users with minimal latency.
• Scalability - As the volume of work increases with the growth in the number of
clients.
Constraints,
• Budgetary – Financial limitations on installing high-security features and updating
infrastructure.
4. Measure software quality improvements - Assess the effects that systems investigation
procedures have on the quality of software products. Quality metrics should be
compared to baseline measurements before an investigation starts and after the
investigation ends to measure the impact on software quality.
5. Consider cost and time efficiency - Analyze how effective the systems investigation
procedure has been regarding both financial expenses and duration requirements.
Prospective stakeholders should assess if the resources spent on the investigation were
suitable given the positive effects on software quality.
7. Learn from feedback and lessons learned - Obtain feedback regarding the systems
investigation process from team members to find out important learnings which will
enhance future projects. The received feedback must be utilized for bettering upcoming
investigations to enhance software quality throughout multiple improvement cycles.
Activity 5
At this stage, requirements are defined in the course of a number of workshops, stakeholder
meetings, and interviews.
The primary prerequisites to it will be modules for savings, currency exchange, and
investments, in addition to safeguarding user data appropriately.
In a software requirement specification document, we generally list the non-functional needs
as well as the functional requirements such as system performance, scalability, and user
interface design.
Tools and techniques: This is to identify each need with a unique number for commencement
of an RTM. Their later tracing would be greatly facilitated by this.
2. Design phase,
Using these SRS requirements, the system architecture, flowcharts, pseudocode, and data
design are created which adds to the traceability of each design element back to its original
need.
It’s an excellent example to describe how when you have the mapping between the design’s
encryption techniques and the specifications of safe data management.
These designs are the designers’ implementation plan. All codebase feature added is related to
the RTM requirement.
Secondly, Scrum and other agile solutions, such as the requirements are broken down into
manageable user stories, offer even more traceability, but it comes with the price of additional
effort.
For instance "to calculate currency conversion rates dynamically As a user I want to…" It may
be written as a single code module.
Traceability comes by the CI/CD pipelines, since the commits that one is making are also
traceable needs.
4. Testing phase,
This is one of the most important requirements traceability stages. To ensure that requirement
is tested, test cases should be derived directly from SRS.
Each test case has the attached requirement identification from the RTM, All requirements have
been identified.
Deployment traceability is a guarantee that the finished product will complete all the
requirements For instance, considering given demands, system has to provide expected
investments, as well as current currency exchange rates.
In the maintenance phase RTM monitors all relevant features or modules that can be used for
debugging or implementing in the case of nondescriptive requirement or enhancement request.
The finished system is checked against the specifications in front of the stakeholders.
By recording feedback, where they are and any differences, the RTM is then modified. For
example, if the interest parties identify a requirement to include more graphics depiction of
investment quotations, the prerequisite is found and amended as necessary.
Developers review each other's code during code reviews to discover any bugs, ensure that the
coding standards are adhered to, and give suggestions for optimization. This method of
collaborative learning not only lowers the possibility of errors but also increases the chances
of establishing an error early in the development. By means of Agile pair programming, two
engineers combine efforts to work on the same block of code. In combining these methods,
thoughtless omissions are eliminated throughout the process and the quality of the code is
improved.
Defect density, test coverage, and code complexity are a few samples of these quality metrics.
They are an absolute judgment of quality that points to the program's errors.
The application of standard SOPs (Standard Operating Procedures) per phase of development
will secure quality certainty. To illustrate, the policy might involve that code contributions to
be made before the merge should pass automated unit tests and reviews in order to prevent the
system from degradation.
Standards
Recommended that the industry follow the international standard ISO 25010. It is the standard
that makes it possible for the system to meet all user requirements ranging from functionality,
dependability, usability, efficiency, maintainability, to portability.
QA guarantees testing is included in the SDLC through several evaluations and processes. The
team is responble for each stage, starting from setting of goals to status reports. Which will in
turn be the most helpful Agile and iterative approach for quick attraction of feedback and
enhancement.
2. Automated Testing
Automation testing makes use of specifically created tools and frameworks that run pre-written
test cases and provide prompt, reliable assessments of the software's quality. The effectiveness
and thoroughness of carrying out the following tests complement the work of QA:
1. A chosen component or module receives testing to ensure its functional correctness for
particular result predictions through Unit Testing techniques. The platform will utilize
JUnit for Java together with Pytest for Python programming language.
2. The process of Integration Testing brings together multiple modules or services at the
same time. The integration of many APIs or databases requires financial applications
to prioritize this form of testing.
3. This testing method assists in discovering unexpected effects from recent modifications
by performing again established functional tests. Laboratory regulations are
streamlined and results remain uniform when automatic regression testing executes.
4. By conducting load and stress testing systems will experience maximum usage
conditions that allow the identification of performance limitations
The automation testing brings with it some key advantages pertaining to their high efficiency
and moreover the use of testing process. The greatest benefit of this is that its execution doesn’t
require monitoring. It thus provides that the system is able to work without human supervision
so as to continuously monitor the results. Furthermore, automation testing serves to make
testing more reliable by giving each testing area an equal amount of attention that results in a
better quality of the end products. This helps to execute more test cases for the application
under test and gives more thorough coverage and performance insight into the software. A
major benefit is that it does not introduce human error as the whole process of test case
construction to execution is automated. It also gets rid of the possibility of the mistakes
carelessness or oversight can cause. Having some major initial investment in automation testing
may be high but, in the long run, it is less costly and less time as we enjoy faster and consistent
testing process. Also, it helps in documentation of defects and facilitates developers to pinpoint
and rectify the defect in the flow process which keeps the possibility of faster delivery of quality
software at minimum length in production.
There are obvious advantages of automation testing, but as well, several disadvantages. The
indisputable major drawback is the initial huge investment for the implementation. That is both
time and money spent to set up the system, pick the appropriate automation tooling or even
develop custom software to execute the testing. Real life test cases have their own limitations,
some of them have to be manually tested by humans again and again, which means the
automation testing reaches its limit of 100% saturation. For example, design, usability, and
other such subjective factors cannot be replicated by software. Moreover, user experience
testing is cannot be fully automated, because the system is unable to evaluate how users behave
when interacting the software. It also does not possess the ability to evaluate graphics and
sound files well, as it normally relies on text descriptions to verify output. Additionally, in
programming knowledge is necessary when the test automation is performed since each
programming language is required to write test scripts. Achieving success in automation testing
is not very easy without having appropriate technical expertise. Next, automation tests may
generate false positives: they report the issues that don’t exist; false negatives — the tests
confirm that behaviour which is not supposed to take place.
2. Real-world scenarios can verify functionalities through automated tests to achieve high
performance as well as security and reliability standards.
Through the integration of QA and automated testing organizations obtain balanced software
quality that exceeds process requirements while conducting functional tests. The Enomy-
Finances project will secure quality by implementing Agile SDLC with TDD. The entire
software evolution involves systematic testing alongside immediate issue finding mechanics
that lead to permanent process advancement to reduce project security concerns while securing
client fulfilment. This system's durability as a scalable reliable system will be supported by the
complete automated regression test together with the performance benchmark which was
developed.
The Login Interface is very important because it is to enable all players, be they administrators,
the employees and the clients to be able to have secure access to it. It includes Multi-Factor
Authentication (MFA) for the security and denies access to any user who is not able to confirm
using an OTP (One Time Password) sent via email or SMS. Also, the system includes account
lockout after several failed login attempts to prevent brute force attacks. When users login
successfully, they arrive at their respective dashboards depending on their role to keep the
sensitive data protected from other people’s hands.
The Currency & Investment Interface provides real-time data on currency exchange rates and
investment trends. Clients can use this feature to convert funds between different currencies at
the latest market rates and track their investment portfolios with detailed performance insights.
The system also includes forecasting tools, enabling users to make informed decisions about
their savings and investments. Graphical reports and financial indicators help users evaluate
potential risks and opportunities, enhancing their financial planning.
A Profile Management Interface is offered to enable the users to easily manage their personal
information, security setting preferences. Through this, clients and staff can edit their contact
details, , and preferences saved notification details to be in control of the latest updates through
the email or SMS. Also, the 2-factor authentication feature is used to prevent unauthorized
modifications by restricting granted permissions to users to administrators only. It allows
higher security of system and avoids unauthorized access to financial sensitive data.
To solve the problem of limited access, scalability issues, outdated tools and security concerns,
we developed a system for the Economy-Finance base. These identified requirements were
reviewed in terms of performance for the implemented application and it was ensured that the
application has optimum functionality and efficiency. Unfortunately, the accessibility was
improved, and the web based platform could be used in any location to gain access to financial
services, for clients and staff. Role based access control (RBAC) was integrated that made it
The Economy-Finances project tools and procedures were chosen with care to satisfy its goals
for usability, functionality, and visualization. The interface was wireframed using figma or
adobe XD dut to its drag & drop features and extensive collaborative possibilities. These
qualities made it possible to produce stunning, interactive designs that accurately depicted the
positioning and motion of crucial elements. Additionally, it facilitates rapid prototyping,
allowing for minor modifications in response to user feedback. Additionally, to better illustrate
algorithmic processes, flowchart tools like Lucidchart and Microsoft Viiso were utilized. These
tehchnogies improved the visual clarity of the sytem, confirming its logical design and making
it easier for stakeholder to understand.
When comparing the chosen tools to alternative ones, there were notable benefits. Balsamiq is
another well-liked wireframing tool, however it is less suitable for visualizing interaction and
aesthetic features due to its focus on low-fidelity designs. Similar to this, flowcharts might have
been created using open-source alternatives like Dia, but their more complex interfaces and
limited capabilities would have made the design process longer and more challenging. Figma’s
The Economy Finance system’s -driven components are essential to its efficacy since they
improve responsiveness, capacity, and dependability while satidfying the primary financial
needs of the company and its customers. Real-timme data access guarantees that the most
recent and accurate information and techniques are applied for all currency. Conversions,
investment computations, and savings estimations such as taxes and fees. The system pulls in
the latest market data and currency rated via application program interfaces to assist end users
in making decisions. It preserves system trust by lowering the likelihood that mistakes will be
made using out-of-date data. The ability to gracefully handle errors is a crucial component of
any data driven system.It must effectively fix these mistakes without jeopardizing user
confidence. Efficient error-handling systems guarantee that unforeseen mistakes or
interruptions do not compromise the integrity of financial data or the user experience. The
system is very dependable because to its automated data caching, diagnostic logging, and fail-
safe procedures, which make it simple for users to continue working in the event of an
interruption. For example, if a network outage occurs while a customer is completing an
investment quote form, the client’s input is saved and locally synced with the database when
the connection is restored. Additionally, data-driven methods facilitate staff and slient decision-
making. Customers may learn vital information about financial trends, transaction histories,
account summaries, and investment performance through dynamic, real-time reports.
Thanks to data-driven technology, the customers will also be able to evaluate their predicted
returns for one, five, and 10 years, as well as detailed breakdowns of fees, taxes and earnings.
The employees will be able to create customized reports that summarize client portfolios,
allowing them to provide more focused and perspective financial advice.The system’s
flexibility to adapt to changing user needs and industry advancements while maintaining data
quality ensures long-term viability.
In conclusion, the data driven design of the Economy finances system helps the system achieve
its financial goals. Dynamic reporting improves the user’s ability to make decisions, real-time
data access promotes accuracy and speed, and robust error handling increases availability and
reliability. In addition to satisfying the current demads of its customers, these benefits guarantee
that the system will sustain Economy-Finance’s long term development and operational
excellence.
1. Functionality,
Important functional needs such as currency transactions, individual investment plans, and
dynaic report production, are successfully met by the system. By giving accurate values in two
decimal places for a range of currencies, including GBP, USD, EUR, TRP, and more, the
currency conversion tool enables updated currency transactions. The savings and investments
module provides detailed breakdowns of returns, fees, and taxes for a renage of investment
quotations that are created depending on user inputs. Based on their earning and costs,
investment plans advice customers on the best types if investments.
2. Usability,
The interface is user-friendly for both clients ans staff. The design’s straightforward navigation,
clear labelling, and interactive elements help users navigate complex financial processes.
Customers are considerably assists in making suitable and comprehensible selections by a
variety of data display formats, including textual, numerical, and graphical.
3. Data security,
Data security comes first while creating software. Included are extensive features including
secure login procedures, encrypted data storage, and role-based access restrictions. To ensure
that the system conforms with modern cybersecurity methods and to safeguard system data,
including transaction histories and personal information, industry security requirements are
adhered to.
4. Error handling,
The system will fail gracefully in unforeseen circumstances thanks to carefully tested error-
handling techniques. Because real-time data caching avoids data loss, users may easily return
to their duties following recovery.
5. Dynamic reporting,
Customers and employees may make informed decisions because to the system’s precise,
adaptable, and user-specific reports. For instance, staff members may give clients portfolio
summaries, and clients might savings plans to envision long-term financial objectives.
Achievements,
Amongst other changes, the project has accomplished certain noteworthy developments.
Second, by also combining real time data with a user friendly design, the system became more
usable and productive and hence more efficient and available to the users. An important factor
for increasing the accuracy of computations and the pertinence of the information delivered
was receiving stakeholder feedback. The input contributed to improve the system to better serve
user needs. In addition, the system had been implemented in a robust manner so that sensitive
data was protected and the system had high confidence in its reliability, which offered users
security from the fact that their data was safe.
Users have generally welcomed the system, giving an overall useability figure of 4.5 out of 5.
The buttons and menus were easy to understand and all respondents agreed that the information
they needed was easy to find. Very important too was the system's response time, which got a
100% positive rating in regards to it responding quickly on the users' actions. Finally, the
system was stable and no users have mentioned any problems while using the system.
In term of design 75% of users give rating good and 25% give rating okay. The fact that ‘Needs
Improvement’ was not selected by any of the respondents indicates that while the design is
effective, there is still some room for improvement. One of the positive aspects to the system
that users mention in reviews is its smoothness, the reliability of it and the efficiency of the
currency conversion and login processes.
However, there are chances for improvement in a couple of things. 50% of users on the other
hand found error messages and instructions to be unclear. The wording of these messages can
be enhanced and the prompts may be better informed so that the whole user experience is
improved. One user additionally suggested improving the security features of the system. No
specific vulnerabilities were highlighted, however, strengthening authentication as well as
protecting data procedures would be helpful. Finally, simplifying the user interface some more
would make the interface more accessible and easier to use, especially for new users.
Overall, the system is in a good position, in that most users show high levels of satisfaction.
Correcting some of the security, some of the error messaging and some of the UI simplicity,
the system could get even better, and still get positive reception.