Assignment Cover Sheet - IT
Assignment Cover Sheet - IT
FACULTY OF COMPUTING
STUDENT DETAILS
STUDENT ID
SUBMISSION
HAND IN DATE 5/02/2024
Plagiarism: to use or pass off as one’s own, the writings or ideas of another
without acknowledging or crediting the source from which the ideas are taken.
1. I declare that:
a) this assignment is entirely my own work, except where I have included fully-
documented references to the work of others,
b) the material contained in this assignment has not previously been submitted
for any other subject at the University or any other educational institution,
except as otherwise permitted,
c) no part of this assignment or product has been submitted by me in another
(previous or current) assessment, except where appropriately referenced, and
with prior permission from the Lecturer / Tutor / Unit Coordinator for this unit.
2. I acknowledge that:
a) if required to do so, I will provide an electronic copy of this assignment to the
assessor;
b) the assessor of this assignment may, for the purpose of assessing this
assignment:
I. reproduce this assignment and provide a copy to another member of
academic staff;
II. communicate a copy of this assignment to a plagiarism checking
service such as Plagiarism Check (which may then retain a copy of this
assignment on its database for the purpose of future plagiarism
checking).
I am aware of and understand that any breaches to the Academic Code of Conduct will
be investigated and sanctioned in accordance with the College Policy.
Introduction.................................................................................................................................................6
Task 1...........................................................................................................................................................7
Introduction.............................................................................................................................................7
Overview of Different Lifecycle Models:..................................................................................................7
Iterative Models:.....................................................................................................................................7
Agile:........................................................................................................................................................8
Advantages of Agile model:.....................................................................................................................8
Disadvantages of Agile model:.................................................................................................................8
Spiral:.......................................................................................................................................................8
Advantages of Spiral Model:....................................................................................................................8
Disadvantages of Spiral Model:...............................................................................................................8
Sequential Model:....................................................................................................................................9
Waterfall Model:......................................................................................................................................9
Advantages of Waterfall Model:..............................................................................................................9
Disadvantages of Waterfall Model:.........................................................................................................9
V- Model:.................................................................................................................................................9
Advantages of V-Model:..........................................................................................................................9
Disadvantages of V-Model:....................................................................................................................10
Risk Management in SDLC Models.........................................................................................................10
The steps involving Risk Management:..................................................................................................10
Task 2.........................................................................................................................................................12
The following are the types of feasibility studies:..................................................................................13
The components of Feasibility Study are:..............................................................................................14
Impact of Feasibility Study on Economy-Finances Project.....................................................................16
Key Requirements..................................................................................................................................17
Task 3.....................................................................................................................................................18
Software Development Lifecycle for Ecnomy-Finances Project.............................................................18
Task 4.........................................................................................................................................................26
A Report On
Software Development Life Cycle
available to KDS
Submitted by
Sadip Bhattarai
Submitted to
Rahul Kumar
Introduction
KTM Digital Solutions (KDS) is an independent software development company that mainly
focuses on planning, designing and building custom software services for businesses of various
sizes involved in several different industries. KDS specializes in utilization of new software
technologies of a wide range, which includes simple stand-alone programs as well as large web-
based applications.
According to the scenario, I’ve recently started my new job as a Junior Software Developer at
KTM Digital Solutions (KDS). With this new job I’ve been required to identify the appropriate
software to be used for a project and carry out a simple investigation into the project to find out
the scope, requirement, limitations and to identify core system processes.
I am required to generate some simple software design to present to the project client to make
sure that I have understood the requirements correctly.
Task 1
Introduction
In the process of software development, the choice of an appropriate development lifecycle
model plays a vital role in the success of the project. As a Junior System Analyst at KTM Digital
Solutions (KDS), tasked with carrying out a preliminary software investigation for a potential
project with Economy-Finances, understanding and selecting an effective software development
lifecycle model is important. This research paper aims to provide an insightful overview of
various software development lifecycle models, consisting of both iterative and sequential
models. Additionally, we explored the crucial aspect of risk management within these models,
explaining strategies to identify, assess and reduce risks throughout the development process.
Moreover, we researched the reason behind the selection of a specific lifecycle model in a real-
world scenario, offering a deeper understanding of the decision-making process. As a part of this
research, we discussed the applicability of the waterfall lifecycle model to large-scale software
development projects, considering its merits and potential challenges. Through this detailed
research, we seek to provide KTM Digital Solutions with the knowledge necessary to make
informed decisions about the software development lifecycle model that best aligns with the
complexity of the Economy-Finances project.
(Tryqa.com, 2022)
Spiral:
The Spiral Model in SDLC is a model in which a series of steps are taken in a circular path, like
a spiral. It is a software development methodology which emphasizes an iterative and risk-driven
approach. It combines the aspects of both iterative development and prototyping.
(Tutorialspoint.com, 2023), (www.javatpoint.com, 2023), (GeeksforGeeks, 2018)
Sequential Model:
The Sequential Model represents a traditional and linear approach to software development. Like
water cascading down in a waterfall, this model follows a step-by-step, sequential progression
through well-defined phases.
Waterfall Model:
The Waterfall model represents a linear and sequential approach, where each phase must be
complicated before moving to the next. The waterfall method is best suited for projects with
clear and stable requirements.
Advantages of V-Model:
The model is clear, easy to understand and straightforward in its approach.
Defects can be easily identified early in the development process due to constant testing.
Managing project documentation is easier due to clear traceability between requirement
design and testing phases.
Disadvantages of V-Model:
Like the Waterfall Model, the requirements in the V-Model cannot be changed once a
phase has started.
User feedback is typically obtained late in the development process, potentially leading to
misunderstandings.
In Software Management Life Cycle (SDLC), risks are the potential uncertainties or events that
could affect the successful completion of a project. These problems might come from changes in
requirement, technical issues, lack of resources, delay in schedule, budget limitation, or any other
factors like market condition or changes in rules.
Risk Management in SDLC is a systematic approach which involves the identification, analysis,
and mitigation of potential risks, considering factors like technology challenges, incomplete
requirements, resource availability, project timelines, budget considerations, and external
influences. After identifying potential problems, we look at the consistency and the impact of
that problem. This helps us prioritize and focus on the most serious issues.
We should prioritize the risk based on how critical they can be. After that we can move on to
developing strategies to eliminate the potential risk. We can eliminate the potential risk by
continuous monitoring and risk assessment.
The Waterfall Model is a linear or sequential approach to project management that works based
on fixed dates, requirements, and outcomes. It is useful in situations where the project
requirements are well-defined, and the project goals are clear. It is often used for large-scale
projects with long timelines, where there is little room for error and the project stakeholders need
to have a high level of confidence in the outcome. (GeeksforGeeks, 2018)
The Waterfall Model is a structured and sequential approach to project management that
provides a clear understanding of the project’s scope, timeline, and budget. It is ideal for
handling large teams, where everyone can clearly identify which development stage the project is
in without much context. (Boutin, 2021)
The Waterfall Model is also suitable for projects that have strict regulatory requirements, where
requirements and project scope are known and are not subject to change, where budget and
delivery timelines are fixed, where low customer involvement is needed, and where technology
to be used is known and well-understood. (Boiser, 2021)
However, the Waterfall Model has its constraints. It doesn’t allow flexibility, and you must
finish one phase before beginning the next. Your team can’t move forward until they resolve any
problems. Moreover, your team can’t address bugs or technical debt if it’s already moved on to
the next project phase. (Ibm.com, 2024)
In contrast, Agile methodology is more flexible and allows for changes to be made throughout
the project. It is ideal for projects where requirements are not well-defined and where the project
goals are not clear. (Atlassian, 2024)
Analyzing all the advantages and the constraints of waterfall model, we can conclude that
waterfall model is well suited for large scale projects as it has all the important things that help
organizing the software documentation easier.
Task 2
In software engineering, a feasibility study is an analysis of the viability of a proposed project. It
is conducted to evaluate whether the project is technically feasible, financially feasible, and
operationally feasible. (GeeksforGeeks, 2020)
Operational Feasibility: This type of feasibility study analyzes the degree of providing service to
requirements, how easy the product will be to operate and maintain after deployment, and other
operational scopes such as determining the usability of the product and whether the suggested
solution by the software development team is acceptable or not.
Economic Feasibility: This type of feasibility study analyzes the cost and benefit of the project. It
includes a detailed analysis of the cost of the project for development, which includes all
required costs for final development like hardware and software resource required, design and
development cost, operational cost, and so on. After that, it is analyzed whether the project will
be beneficial in terms of finance for the organization or not.
Legal Feasibility: This type of feasibility study analyzes the project in terms of legality. It
includes analyzing barriers to legal implementation of the project, data protection acts or social
media laws, project certificate, license, copyright, and so on. Legal feasibility study is conducted
to know if the proposed project conforms to legal and ethical requirements.
Schedule Feasibility: This type of feasibility study analyzes the timelines or deadlines for the
proposed project, which includes how many times teams will take to complete the final project.
This has a great impact on the organization as the purpose of the project may fail if it can’t be
completed on time.
The following are some of the reasons why a feasibility study is important in large-scale
computer projects:
Identifies potential problems: A feasibility study helps to identify potential problems that may
arise during the project’s development. This helps to mitigate risks and avoid costly mistakes.
Determines project scope: A feasibility study helps to determine the project’s scope, which
includes the project’s goals, objectives, and deliverables. This helps to ensure that the project is
aligned with the organization’s overall strategy.
Assesses technical feasibility: A feasibility study assesses the project’s technical feasibility,
which includes evaluating the current resources, both hardware and software, and the required
technology to develop the project. This helps to ensure that the project is technically feasible.
Assesses economic feasibility: A feasibility study assesses the project’s economic feasibility,
which includes analyzing the cost and benefit of the project. This helps to ensure that the project
is financially feasible.
Assesses operational feasibility: A feasibility study assesses the project’s operational feasibility,
which includes analyzing the degree of providing service to requirements, how easy the product
will be to operate and maintain after deployment, and other operational scopes such as
determining the usability of the product and whether the suggested solution by the software
development team is acceptable or not.
Helps to make informed decisions: A feasibility study helps to make informed decisions about
whether to proceed with the project or not. This helps to ensure that the project is aligned with
the organization’s overall strategy and goals.
Enhances project success: A feasibility study enhances the project’s success by ensuring that the
project is viable, technically feasible, financially feasible, and operationally feasible. This helps
to ensure that the project is completed on time, within budget, and meets the organization’s
overall goals.
(Simplilearn, 2012), (Knowledgehut.com, 2020)
Technical Feasibility: This section assesses whether the project is technically feasible or not. It
analyzes the current resources, both hardware and software, and the required technology to
develop the project. It also evaluates the technical skills and capabilities of the technical team,
whether existing technology can be used or not, and whether maintenance and up-gradation are
easy for the chosen technology.
Financial Feasibility: This section analyzes the cost and benefit of the project. It includes a
detailed analysis of the cost of the project for development, which includes all required costs for
final development like hardware and software resource required, design and development cost,
operational cost, and so on. After that, it is analyzed whether the project will be beneficial in
terms of finance for the organization or not.
Operational Feasibility: This section analyzes the degree of providing service to requirements,
how easy the product will be to operate and maintain after deployment, and other operational
scopes such as determining the usability of the product and whether the suggested solution by the
software development team is acceptable or not.
Legal Feasibility: This section analyzes the project in terms of legality. It includes analyzing
barriers to legal implementation of the project, data protection acts or social media laws, project
certificate, license, copyright, and so on. Legal feasibility study is conducted to know if the
proposed project conforms to legal and ethical requirements.
Schedule Feasibility: This section analyzes the timelines or deadlines for the proposed project,
which includes how many times teams will take to complete the final project. This has a great
impact on the organization as the purpose of the project may fail if it can’t be completed on time.
A Report on
Impact of feasibility study
On Economy-Finances
Impact of Feasibility Study on Economy-Finances Project
Introduction
Economy-Finances, a financial advisory firm, is experiencing a surge in demand for its services,
necessitating the commissioning of a new computer system to support both staff and clients. This
report focuses on the impact of the feasibility study on the Economy-Finances project, outlining
key requirements and the proposed application features.
Key Requirements
The owner of Economy-Finances has outlined critical requirements for the new application:
- User-friendly interface with appropriate use of textual, numeric, and graphical data.
- Secure storage of user information, including contact details, transaction records, and saved
quotes.
The feasibility study influenced the choice of a development approach. Given KTM Digital
Solutions' expertise, a suitable paradigm, such as Object-Oriented or Functional Programming,
will be selected to align with the complexity of currency calculations and user interface
requirements.
The feasibility study led to the recommendation of an Agile methodology. This choice reflects
the dynamic nature of financial services and the need for iterative development, facilitating
continuous feedback and adaptation to evolving client requirements.
Through the feasibility study, core system processes have been identified. This includes the
currency conversion module, which is integral to the application. The breakdown of
requirements into functionalities ensures that critical components are prioritized for effective
implementation.
4. Infrastructure Upgrades
The study has prompted an assessment of the current infrastructure, recognizing the need for
upgrades to support the new system. The potential shift to a web-based application has
implications for hosting options, scalability, and enhanced security measures.
5. Client Presentation
The findings of the feasibility study, including the identified requirements, development
approach, system processes, and infrastructure upgrades, have been summarized and presented to
the Economy-Finances Chief Technical Officer. The client's feedback during this presentation is
crucial for refining the project plan and ensuring alignment with their expectations.
Conclusion
In conclusion, the feasibility study has played a pivotal role in shaping the Economy-Finances
project. It has provided clarity on requirements, influenced the selection of development
paradigms, guided the choice of an Agile methodology, and prompted infrastructure
considerations. As the project progresses, the insights gained from the feasibility study will be
invaluable in steering the development team towards delivering a successful and client-focused
solution. The collaboration between KTM Digital Solutions and Economy-Finances, driven by
the comprehensive feasibility study, positions the project for success in meeting the evolving
needs of the financial sector.
Task 3
Software Development Lifecycle for Ecnomy-Finances Project
1. Identification of Stakeholder Requirements:
Stakeholders for the Management Data Analytics Module include department heads, data
analysts, and system administrators. Key requirements identified through stakeholder interviews
and discussions include:
2. Scope Planning:
The scope planning phase delves into the intricacies of the Enomy-Finances module,
meticulously defining inputs, outputs, and processes. Data validation processes ensure the
integrity of financial data, transaction processing entails categorization and recording, while
reporting generates diverse financial reports and statements. Process descriptors highlight the
importance of real-time data updates and secure encryption protocols. Consideration of alternate
solutions includes deliberation over cloud-based or on-premise deployment, with security
considerations encompassing multi-factor authentication, robust data encryption, and stringent
access controls.
3. Exploration of Constraints:
Functional Requirements:
Non-functional Requirements:
Functional requirements map out the essential features, including user authentication, transaction
processing, and reporting capabilities. Non-functional requirements define performance
benchmarks, such as query response times and system scalability, as well as stringent data
encryption standards to meet financial regulations.
5. Design of Solution:
Logical software design delves into the intricacies of transaction processing states through Finite
State Machines (FSM). The extended FSM further integrates user interaction states for
customizable financial reporting. These models provide a visual representation of the system's
behavior, facilitating effective communication and understanding.
Data Designs:
Explanation:
Client Input: Represents input from clients, including requests for financial transactions, account
information, etc.
Market Data: Represents data received from external sources about market conditions, currency
exchange rates, and other relevant financial data.
Client Data: Combines client input and market data, forming a comprehensive dataset for further
processing.
External APIs: Represents any external services or APIs used by the system, such as retrieving
currency exchange rates.
Data Warehousing: Stores and manages historical and current data for reporting, analytics, and
future decision-making.
Reports & Alerts: Generates reports and alerts based on the processed data, providing valuable
insights to clients and system administrators.
Context Diagrams:
Explanation:
Economy-Finance System: Represents the core system being developed by KTM Digital
Solutions.
External Data Providers: Entities or systems that provide external data to Economy-Finance,
such as market data, currency exchange rates, etc.
Reporting & Analytics: The module that generates reports, alerts, and performs analytics based
on processed data.
Data designs include comprehensive visualizations, such as Data Flow Diagrams (DFDs),
illustrating data flow between modules. Entity-Relationship Diagrams (ERDs) model
relationships between financial entities. Context diagrams provide a macroscopic view of the
system architecture, and Data Dictionaries meticulously define financial data elements and their
attributes.
Business Systems Options delineate the strategic choices available for system deployment. The
cloud-based solution promises scalability and accessibility, while the on-premise solution
ensures control over sensitive financial data, catering to distinct organizational preferences and
requirements.
-Integration with External APIs: Access to external data sources for enhanced analysis.
Short Documentation:
Traceability Analysis:
Conclusion:
his comprehensive planning report serves as the compass for the Enomy-Finances project,
offering a meticulous alignment of stakeholder requirements, defining the expansive scope,
navigating constraints, specifying functional and non-functional requirements, and designing a
solution that communicates a profound understanding of the program's intricacies. The inclusion
of traceability analysis and software quality improvement approaches underscores a commitment
to delivering a robust, high-quality financial management solution that meets and exceeds
stakeholder expectations. The Enomy-Finances project is poised to traverse the Software
Development Lifecycle with diligence, ensuring a successful and impactful outcome.
Task 4
References
Guru99. (2023). Spiral Model: When to Use? Advantages and Disadvantages. [online] Available
at: https://www.guru99.com/what-is-spiral-model-when-to-use-advantages-disadvantages.html
[Accessed 13 Dec. 2023].
Ballan, C.C., Galvanin, F., Massimiliano Barolo and Fabrizio Bezzo (2012). Parallel design of
pharmacodynamic experiments for the identification of antimicrobial-resistant bacterial
population models. Computer-aided chemical engineering, [online] pp.1125–1129.
doi:https://doi.org/10.1016/b978-0-444-59506-5.50056-0.
Waterfall (2023). Waterfall Model. [online] The Economic Times. Available at:
https://economictimes.indiatimes.com/definition/waterfall-model [Accessed 16 Dec. 2023].
Built In. (2023). What Is the V-Model in Software Development? [online] Available at:
https://builtin.com/software-engineering-perspectives/v-model [Accessed 8 Jan. 2024].
Hijazi, H., Shihadeh Khaleel Alqrainy, Hasan Muaidi and Thair Jamal Khdour (2014). Risk
Factors in Software Development Phases. [online] ResearchGate. Available at:
https://www.researchgate.net/publication/266144501_Risk_Factors_in_Software_Development_
Phases [Accessed 9 Jan. 2024].
Vedraj (2023). Mastering Risk Management in the Software Development Lifecycle. [online]
ValueCoders | Unlocking the Power of Technology: Discover the Latest Insights and Trends.
Available at: https://www.valuecoders.com/blog/app-development/how-to-manage-risks-in-the-
software-development-lifecycle/ [Accessed 9 Jan. 2024].
Boutin, C. (2021). A Guide to the Waterfall Model for Beginners and Project Managers - Unito.
[online] Unito. Available at: https://unito.io/blog/waterfall-model-project-management-
methodology/ [Accessed 5 Feb. 2024].
Boiser, L. (2021). Kanban Zone. [online] Kanban Zone - The Lean Software to do More with
Less. Available at: https://kanbanzone.com/2021/waterfall-model-for-project-management/
[Accessed 5 Feb. 2024].
Knowledgehut.com. (2020). Feasibility Study in Project Management and Its Benefits. [online]
Available at: https://www.knowledgehut.com/blog/project-management/feasibility-study
[Accessed 5 Feb. 2024].
Simplilearn (2012). Feasibility Study and Its Importance in Project Management. [online]
Simplilearn.com. Available at: https://www.simplilearn.com/feasibility-study-article [Accessed 5
Feb. 2024].
August Brown. (2023). 5 Key Components of a Feasibility Study. Why Should You Hire an
Expert? [online] Available at: https://augustbrown.com/news-item/5-key-components-of-a-
feasibility-study/ [Accessed 5 Feb. 2024].