SDLC
SDLC
Assessor Internal
Verifier
Unit 7 – Software Development Lifecycles
Unit(s)
Student’s name
Internal Verifier
signature Date
Programme Leader
signature (if required) Date
Date Received
Submission Date 1st submission
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.
Assignment Feedback
Action Plan
Summative feedback
Student Date
signature
Computing
Unit 7: Software Development Lifecycles
Assignment
General Guidelines
1. The font size should be 12 point, and should be in the style of Time New Roman.
2. Use 1.5 line spacing. Left justify all paragraphs.
3. Ensure that all the headings are consistent in terms of the font size and font style.
4. 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.
5. Use word processing application spell check and grammar check function to help editing your
assignment.
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. Carefully check the hand in date and the instructions given in the assignment. Late submissions
will not be accepted.
3. Ensure that you give yourself enough time to complete the assignment by the due date.
4. Excuses of any nature will not be accepted for failure to hand in the work on time.
5. You must take responsibility for managing your own time effectively.
6. 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.
7. Failure to achieve at least PASS criteria will result in a REFERRAL grade.
8. Non-submission of work without valid reasons will lead to an automatic RE FERRAL. You will
then be asked to complete an alternative assignment.
I hereby, declare that I know what plagiarism entails, namely to use another’s work and to present it as
my own without attributing the sources in the correct form. I further understand what it means to copy
another’s work.
Unit Tutor
Issue Date
Submission Date
Submission format
The submission should be in the form of an individual report written in a concise, formal business
style using single spacing (refer to the assignment guidelines for more details). You are required to
make use of headings, paragraphs, and subsections as appropriate, and all work must be supported
with research and referenced using Harvard referencing system. Please provide in-text citation and a
list of references using Harvard referencing system.
Section A
Case 1: In the wildlife ministry of Sri Lanka intend to develop a wildlife safari system which links
all the details of sanctuaries, wetland, and national parks across Sri Lanka. Through this the
government wants to track all the details of safari drivers and to count local and foreign visitors
entering these premises. The IT department of wildlife ministry have little experience on
developing this kind of system and they have two years to complete this project.
Case 2: “ChangeU” salon needs to have a system to track their bookings and they expect to
provide better customer service through the system. This is not incredibly challenging, and the
development team also has some early experience of this kind of a project. And the main
requirement of the client is to get a high-quality product without considering the budget and time
constraints.
Activity 1
Describe two sequential models and two iterative models you have learned which can be used to
design the systems explained in the 2 given cases. Explain how the risk is managed in each
software lifecycle model identified. Pick one case out of two and select the most suitable SDLC
model along with a discussion elaborating the reasons to select the particular SDLC model.
Which system out of the given two is most suitable to be developed using the waterfall model?
Assess the merits of applying the waterfall model to the system chosen by you.
Section B
Assume yourself as a system analyst assign to analyse and design a software system for an
Activity 2
Explain and discuss the purpose and the components of the feasibility report that you have to
develop in order to check the feasibility of the chosen system. Assess the impact of different
feasibility criteria included in your report to investigate the software system.
Suggest , describe and compare two technical solutions for the proposed system and pick the most
suitable one with the justification for the selection.
Activity 3
Undertake the system investigation to identify business and system requirements using appropriate
investigation tools/ techniques and develop the software system specification for the chosen
system.
Evaluate the effectiveness of the system investigation process chosen by you to fulfil the
requirements of the users and analyse the effectiveness of the SDLC followed in order to trace the
system requirements. Discuss two approaches that can be used to improve the quality of the
system in the future.
Activity 4
Analyse the software behavioural tools and techniques that could be used for the proposed system
and discuss suing examples, the most suitable behavioural techniques that could be used for your
system.
Differentiate the finite state machine (FSM) and extended FSM providing an application for each .
Justify how the data driven software can improve the reliability and the effectiveness of the
software system proposed by you.
Introduction
The Software Development Life Cycle (SDLC) is a systematic approach used to design,
develop, and deploy software systems. It encompasses a set of phases, activities, and
processes that guide the software development process from conception to completion. In
this context, we will discuss the suitability of different SDLC models for two distinct
projects in the wildlife ministry of Sri Lanka and "ChangeU" salon.
Waterfall, agile, and iterative models can be presented as different SDLC models that offer
different approaches to software development. The selection of an SDLC model depends on
Factors such as project requirements, team experience, project complexity, time constraints,
and budget considerations.
In the following sections, we will analyze and compare various SDLC models to determine
the most suitable model for each case. The merits of applying the selected SDLC model
will be assessed, considering the unique characteristics and requirements of each project.
Iterative Models:
Agile Model: The Agile model is an iterative and incremental approach to software
development. It emphasizes flexibility, collaboration, and adaptability to change. In
Agile, the development process is divided into small iterations called sprints, typically
lasting from one to four weeks. Each sprint involves a complete cycle of planning,
requirements analysis, design, development, testing, and deployment. The Agile
model promotes continuous feedback and customer involvement throughout the
development process, allowing for adjustments and refinements based on changing
requirements and priorities.
1. Iterative Development: The Agile model breaks down the development process into
iterations or sprints, this ranges from one to four weeks. Each iteration includes a
set of planned activities. That is, it can be termed as requirements gathering,
planning, development, testing, and review. The development team focuses on
delivering a working product incrementally at the end of each iteration.
2. Customer Collaboration: Throughout the Agile development process, there is a
strong focus on engaging the customer or end user. The customer is actively
engaged, providing continuous feedback, clarifying requirements, and
participating in regular review sessions. This collaboration ensures that the
software meets the customer's expectations and enables the team to make
necessary adjustments throughout the development lifecycle.
3. Adaptability to Change: Agile acknowledges that requirements evolve and change
over time. It embraces changes and allows for flexibility in incorporating new
features, enhancements, or adjustments to meet the evolving needs of the
customer or market. By embracing change rather than resisting it, the Agile
model enables teams to respond quickly to new information and make necessary
modifications to deliver a better end product.
4. Cross-functional Team Collaboration: Agile encourages close collaboration among
team members with diverse skill sets, including developers, testers, designers,
Tharushi Kavishka Software Development Lifecycles Assignment 03
Page | 26
and stakeholders. The team works together to plan, prioritize, and execute tasks,
fostering effective communication, knowledge sharing, and problem-solving.
This collaboration ensures that everyone has a shared understanding of the
project goals and can contribute their expertise to deliver a successful product.
5. Continuous Improvement: The Agile model promotes continuous improvement
through retrospectives at the end of each iteration. The team reflects on their
work, identifies areas for improvement, and implements changes to enhance
their processes, productivity, and quality. This iterative feedback loop ensures
that the team learns from their experiences and consistently improves their
development practices.
6. Timeboxing and Time-to-Market: Agile employs Timeboxing techniques, where
specific time frames are allocated for each iteration. This time constraint helps
in managing scope, prioritizing work, and ensuring regular delivery of working
software. The Agile model's focus on incremental delivery enables faster time-
to-market, allowing the customer to start realizing value earlier and providing
opportunities for early feedback and validation.
7. Risk Management: Risk management is an integral part of the agile development
process. . Risks are identified, assessed, and addressed at various stages,
ensuring that potential issues are identified early and mitigated effectively. The
iterative nature of Agile allows for frequent risk assessments and course
corrections, minimizing the impact of risks on the project's success
Figure 1 Agile
Spiral Model: This Spiral model combines elements of both sequential and iterative
approaches. It focuses on risk management and involves iterative cycles, each representing
a phase of the development lifecycle. The spiral model can be divided into four main
activities namely planning, risk analysis, engineering, and evaluation. Each cycle begins
with risk identification and assessment, followed by prototyping, development, and testing.
Each cycle starts with risk identification and assessment, followed by prototyping,
development, and testing. The Spiral model emphasizes continuous risk management and
Sequential Models
• Waterfall Model: The Waterfall model follows a traditional and linear sequential
approach, where each phase is completed before moving on to the next. Risk
management in the Waterfall model typically occurs during the early stages of the
project. Identifying, analyzing, and mitigating risks is done during the preliminary
design and requirements gathering phase. The emphasis is on thorough upfront
analysis to minimize risks surfacing in later stages.
V-Shaped Model
These four software lifecycle models offer different approaches to software development,
each with its powers and deficiencies. The choice of model depends on factors such as
project conditions, the level of flexibility needed, customer involvement, risk surveillance
considerations, and the nature of the software being developed.
• Agile Model: An iterative and incremental approach that promotes flexibility and
adaptability is known as the agile model. It breaks the project into short iterations
or sprints, allowing for continuous feedback, collaboration, and the ability to
respond to changing needs. Risk management in the agile model is an ongoing
process. Risks are constantly specified and assessed throughout the expansion
iteration. The Agile team collaboratively assesses risk, structure comfort
strategies, and adapts to risk promptly, ensuring that chances are addressed on
time.
• Scrum Model: A specific agile framework for managing and developing complex
projects is called Scrum. It follows an iterative approach with short, time-boxed
iterations called sprints. Collaboration, collaboration, and transparency are
emphasized by this scrum model. It consists of specific roles (Product Owner,
Scrum Master, and Development Team), events (Sprint Planning, Daily Stand Up,
Sprint Review, and Sprint Retrospective), and artifacts (Product Backlog, Sprint
Backlog, and Increments). Scrum promotes frequent testing and adaptation,
ordinary contact within the team, and successive delivery of value to the buyer.
Both the Agile model and the Scrum model share similar principles and values, focusing
on iterative, customer collaboration, adaptability to transform, and continuous
improvement. They provide a framework for managing complex projects, fostering
contact and flexibility in providing high-quality software. These iterative models are
Pick one case out of the two and select the most suitable SDLC model for that case.
Provide a discussion elaborating the reasons for selecting the particular SDLC
model.
1. Flexibility: The Agile model offers flexibility and adaptability, allowing for
differences and adjustments to conditions throughout the evolution process.
This is valuable for a salon that may need to refine and enhance its client
service powers based on ongoing feedback and expanding needs.
2. Continuous Improvement: Agile's iterative approach enables frequent delivery of
working software, allowing the salon to constantly improve its strategy based
on client feedback. This aligns with the client's expectation of supplying a high-
quality creation without strict time regulations.
3. Collaboration and Communication: Agile promotes collaboration and close
interaction between the evolution group and the customer. This ensures that the
system meets the customer's expectations and facilitates sufficient
communication for clarifying requirements and resolving problems promptly.
4. Early Value Delivery: Agile's iterative nature enables the delivery of working
elements in each iteration, allowing the salon to start profiting from the
system's abilities early on. This can lead to faster ROI and quicker completion
of the desired client service improvements.
However, it's important to consider the potential limits of the waterfall model for the
"ChangeU" salon system. The waterfall model assumes that provisions are stable and
improbable to change awfully throughout the development method. If there is a need for
flexibility, frequent client feedback, or developing provisions, an iterative model like
Agile may be more sensible.
In conclusion, while the waterfall model can offer predictability, documentation, and
reduced client involvement, its sequential nature and limited ability to accommodate
evolutions may not be the best fit for the "ChangeU" salon system. Given the case's
emphasis on delivering high-quality innovation and the potential settlements of client
feedback and continuous improvement, an iterative model like Agile would be a more
suitable selection.
Assume yourself as a system analyst assigned to analyze and design a software system
for an organization of your choice. What organization would you choose for this task?
As a system analyst, you have the liberty to choose any organization for this task. Deem
selection is an organization that attracts you or one that you have some knowledge or
experience with. It could be a business, non-profit association, educational society, or any
other type of organization that could profit from a software system.
For this explanation, let's assume that the chosen organization is a retail company that
employs both physical stocks and an online e-commerce platform. This association aims to
enhance its client knowledge by evolving a comprehensive retail management system that
integrates both offline and online sales channels, inventory management, and client
connection management (CRM) functionalities.
As a system analyst, you would conduct a thorough analysis of the association's current
methods, pain points, and future goals. You would work closely with stakeholders,
By selecting a retail association as the focus of your system analysis and design, you can
analyze various aspects such as point-of-sale systems, inventory management, client
loyalty programs, online shopping outlets, and data analytics for business intellect. This
would allow you to create a comprehensive and tailored software system that addresses the
association's specific needs and aligns with its long-term strategic purposes.
Investigate the business and system requirements for the chosen organization. Which
tools or techniques would you use to gather and analyze these requirements?
To investigate the business and system requirements, you can use various tools and
techniques. Here are a few commonly used ones:
To design the software system, you would typically follow a systematic approach that
involves several steps:
1. Requirement Analysis: Investigate the gathered business and system provisions in the
element to specify the core functionalities, user roles, data structures, and any
specific technical provisions.
2. System Architecture Design: Specify the overall configuration and ingredients of the
software system, comprising the user interface, database, backend components, and
integration points with external systems if relevant.
3. Data Design: Schedule the database schema, comprising tables, connections, and
constraints, to ensure efficient storage and recovery of data based on the system
provisions.
4. User Interface Design: Develop wireframes or mockups of the user interface to
visually portray how users will interact with the system. Evaluate usability
principles, user feedback, and the association's branding approaches during the
method procedure.
In this method, the startup aims to create a feature-rich mobile application that delivers a
distinctive benefit to its users. The expansion group consists of skilled creators and
architects, and the project has a tight timeline of three months.
Considering these factors, the agile model would be a suitable choice for the development
environment. Here's why:
1. Flexibility and Adaptability: The Agile model underscores flexibility and adaptability,
which is critical for startups that perform in a dynamic and rapidly developing
demand. It allows for iterative expansion and constant feedback, encouraging the
expansion group to respond to changing provisions, user feedback, and demand
trends. This flexibility is especially advantageous for startups that often face
apprehensions and need to iterate their creation fast.
2. Early and Continuous User Involvement: Startups typically aim to construct
developments that cater to specific user requires and intentions. The Agile model
motivates frequent and direct user involvement throughout the expansion method. It
Tharushi Kavishka Software Development Lifecycles Assignment 03
Page | 41
enables the startup to gather early user feedback, validate assumptions, and make
necessary adjustments to meet user expectations. By incorporating user feedback
early on, the expansion group can ensure that the final outcome aligns with user
provisions, improving it chances of success.
3. Time-to-Market: Startups are often employed in highly competitive environments
where time-to-market is critical. The Agile model allows for accumulative
expansion and delivery of working software at the end of each iteration. This means
that the startup can release a minimum viable outcome (MVP) or key
characteristics sooner, authorizing them to enter the demand faster and gain user
traction. This early demand entry delivers possibilities for user investment,
feedback exhibition, and further development enhancements.
4. Collaboration and Team Empowerment: Agile promotes collective teamwork and self-
organizing expansion groups. For startups with a small group, this collective
method fosters better contact, knowledge sharing, and synergy among group
members. It empowers creators, architects, and stakeholders to work closely
together, make convenient conclusions, and adapt to developing provisions
efficiently.
5. Continuous Improvement: Startups often have a culture of experimentation and
constant advancement. The Agile model aligns well with this attitude by delivering
typical possibilities for retrospection and procedure improvement. The expansion
group can regularly evaluate their performance, determine areas for advancement,
and implement essential changes to enhance their expansion exercises and
productivity.
6. Project Complexity: The complexity of the project is a critical deliberation when
choosing a lifecycle model. If the project involves complicated provisions, intricate
interdependencies, or a high level of risk, a sequential model like the Waterfall or
V-shaped model may be more reasonable. These models provide a structured
strategy and allow for detailed planning and documentation, which can help
manage complicated schemes.
7. Customer Requirements and Expectations: The specific requirements and anticipations
of the customer or client can influence the choice of a lifecycle model. Some
customers may have a clear and stable set of requirements, making a sequential
model like Waterfall suitable. On the other hand, customers who importance early
Tharushi Kavishka Software Development Lifecycles Assignment 03
Page | 42
and systematic deliverables, alliance, and flexibility may prefer an iterative model
like Agile or the Spiral model.
8. Available Resources and Expertise: The availability of resources and expertise within
the growth group can impact the choice of a lifecycle model. If the group has a high
level of knowledge and expertise in a particular model, it may be more efficient to
employ that model. Additionally, the availability of tools, technologies, and
frameworks that align with a specific model can also affect the choice.
9. Time Constraints: The project timeline is an important factor in selecting a lifecycle
model. Some models, like the Waterfall model, are more suitable for projects with
limited deadlines and limited flexibility for differences. On the other hand, iterative
models like Agile allow for accumulative growth and shorter feedback cycles,
which can be helpful when there are time restrictions or a need for quicker
iterations.
10. Risk Management Approach: The strategy for risk management can vary across
lifecycle models. For example, the Spiral model underscores risk examination and
comfort in each iteration, making it reasonable for projects with high risks. On the
other hand, Agile promotes constant risk assessment and adaption, allowing for
early identification and comfort of risks. The risk management method and the
project's risk profile can impact the selection of a lifecycle model.
Despite this excellence, it's crucial to concede that the Waterfall model also has some
limitations. It is less adaptable to differences in provisions, lacks flexibility for feedback
and iterations, and can lead to longer growth processes. It may not be reasonable for
projects where provisions are explosive, customer involvement is important throughout the
growth method, or where a more iterative and collaborative approach is desired Ultimately,
the judgment to apply the Waterfall model to a large software development project should
consider the project's specific characteristics, such as stability of provisions, regulatory
submission needs, customer involvement expectations, and the project team's knowledge
and comfort with the model.
Tharushi Kavishka Software Development Lifecycles Assignment 03
Page | 45
Activity 2
Explain and discuss the purpose and the components of the feasibility report that you
have to develop in order to check the feasibility of the chosen system. Assess the
impact of different feasibility criteria included in your report to investigate the
software system
1. Determine Project Viability: The feasibility statement helps discern whether the
proposed project is achievable in terms of technological, financial, operational, and
legal aspects. It considers the project's probability of meeting its objectives, addresses
determined needs, and delivers value to the association or stakeholders.
2. Assess Technical Feasibility: The statement of the technology and capacities crucial to
execute the proposed project. It assesses facets such as the availability of technology,
infrastructure, skills, and resources needed for prosperous project execution.
3. Evaluate Economic Feasibility: The economic feasibility analysis focuses on assessing
the monetary viability and cost-effectiveness of the project. It considers facets such as
growth expenses, operational expenses, and the possibility of return on investment,
and the project's contribution to the association's monetary goals.
4. Examine Operational Feasibility: The assesses the expedience and functional feasibility
of the proposed project. It considers how the project aligns with the association's
existing methods, resources, and capacities, and evaluates probable challenges or
effects on functions.
5. Consider Schedule Feasibility: The feasibility statement examines the project timeline
and plan feasibility. It investigates the proposed project's growth, commission, and
delivery timeframes to ensure they align with the association's prerequisites and
regulations.
6. Address Legal and Ethical Considerations: The statement determines any lawful or ethical
importance associated with the project. It evaluates regulatory compliance,
intellectual property rights, privacy troubles, and ethical standards, providing that the
project can be executed within the borders of the law and ethical policies.
By performing a feasibility analysis and readying a feasibility, stakeholders gain a
comprehensive understanding of the project's potential dangers, advantages, and restrictions.
This enables them to make notified conclusions about whether to proceed with the project,
modify the scope or approach, allocate resources actually, and manage anticipations.
Functional Requirements: Assess how well each explanation meets the operating prerequisites
of the project. Consider whether the solutions provide the crucial elements and abilities to
fulfill the desired objectives and user needs.
Scalability and Performance: Assess how the explanations handle scalability and performance
prerequisites. Differentiate if they can handle expected user loads, data volumes, and
transaction rates. Consider facets like reaction time, throughput, and the ability to scale up or
down as needed.
Integration Capabilities: Examine how readily the explanations can integrate with existing
systems, databases, and third-party applications. Evaluate their compatibility with industry
standards, APIs, and data configurations. Assess the effort and complexity required to attain
seamless integration.
Customization and Flexibility: Differentiate the level of customization and flexibility each
explanation offers. Assess whether they can be tailored to fit specific business prerequisites
and methods. Evaluate the ease of configuring, extending, or modifying the explanation to
accommodate future needs.
Security and Compliance: Assess the safety features and criteria delivered by each explanation.
Consider facets like data encryption, access control, audit trails, and submission with
relevant enterprise restrictions or standards. Assess the explanations' capacity to address
safety and privacy troubles.
Cost and Budget: Analogize the expense importance of each explanation, comprising upfront
payments, ongoing supervision fees, licensing fees, and infrastructure prerequisites. Evaluate
the total expense of ownership over the solution's lifecycle and its alignment with the
project's budget.
Technical Expertise and Support: Evaluate the technological expertise and help available for
each explanation. Consider facets like vendor reputation, documentation, training resources,
community help, and the availability of proficient services or advisers if needed.
Future Proofing and Upgradability: Assess how well the explanations can adapt and develop
over time. Consider facets like the vendor's commitment to updates and enhancements, the
9. Risk Assessment: The danger assessment element identifies and evaluates probable
dangers and challenges associated with the project. It investigates both internal and
external dangers, such as technological dangers, market risks, resource risks, and
project management risks. It delivers guidance for mitigating and managing these
dangers.
10. Conclusion and Recommendations: This section summarizes the conclusions of the
feasibility investigation and presents decisions based on the assessment of the
project's feasibility. It delivers suggestions on whether to proceed with the project,
modify the scope or approach, or reject the project based on the calculation
performed.
11. Appendices: The feasibility statement may comprise additional data in the appendices
to help the calculation, such as detailed monetary calculations, technological
specifications, sample documentation, or additional investigation data.
Each feasibility standard has a specific effect on the software analysis and impacts the
decision-making method. The examination of these measures helps determine potential
dangers, challenges, and restrictions associated with the proposed software system,
encouraging stakeholders to make notified conclusions about its feasibility and potential
effect on the association.
1. Identify the Business Need: Begin by comprehending the specific business need or
issue that requires a software explanation. This could be enhancing efficiency,
streamlining methods, enhancing client experience, or addressing any other pain
points within the association.
2. Gather Requirements: Engage with stakeholders, comprising business users,
managers, and IT personnel, to gather detailed prerequisites. Use techniques like
discussions, workshops, surveys, and documentation review to assure a
comprehensive understanding of the needs and anticipations.
3. Analyze Existing Systems and Processes: Assess the existing strategies and methods in
place to determine any gaps or locations for improvement. Understand the
limitations, bottlenecks, and challenges faced by the association, and determine
how a software explanation can address these problems virtually.
4. Define Project Scope: Founded on the gathered prerequisites and investigation, define
the scope of the software analysis. Clearly outline the objectives, deliverables,
constraints, and boundaries of the project. This step benefits in setting realistic
expectations and management stakeholders' prerequisites.
5. Research and Evaluate Solutions: Perform thorough investigation to analyze various
software explanations available in the demand. Evaluate facets such as
functionality, scalability, compatibility, expense, and vendor reputation. Assess
multiple choices and shortlist the ones that best align with the association's
prerequisites.
6. Cost-Benefit Analysis: Conduct an expense-benefit investigation to evaluate the
monetary implications of the proposed software explanation. Consider the initial
investment, ongoing maintenance expenses, potential expense savings, and
anticipated returns on investment. This analysis helps in determining the monetary
feasibility of the software analysis.
7. Technical Assessment: Assess the technological feasibility of the software
explanation. Consider facets such as required infrastructure, compatibility with
Tharushi Kavishka Software Development Lifecycles Assignment 03
Page | 53
existing systems, required expertise, and potential integration challenges. Evaluate
whether the association has the necessary technological capabilities and resources
to implement and help the explanation.
8. Risk Analysis: Perform a risk investigation to determine and evaluate potential
dangers associated with the software analysis. This includes technological dangers,
functional risks, safety risks, and project management risks. Expand techniques to
mitigate and organize these risks.
9. Stakeholder Alignment: Engage with stakeholders to ensure their buy-in and help with
the software analysis. Communicate the proposed explanation, its benefits, and
potential effect on the association. Address any troubles or resistance, and seek
consensus on the way forward.
10. Develop a Proposal: Reduce all the conclusions, investigations, and suggestions into a
legal proposal. The proposal should clearly outline the business need, proposed
explanation, estimated expenses, expected advantages, timeline, and
implementation schedule. Present the proposal to key decision-makers for
permission.
By following this software analysis method, associations can gather crucial data, evaluate
potential explanations, and make informed judgments about implementing software
explanations to meet their business needs.
By utilizing these software investigation tools and strategies, critics can gather relevant
data, understand prerequisites, and develop extensive documentation to help the software
analysis. These strategies support ensuring a systematic and well-informed approach to
software investigation and conclusion-making.
By tracing prerequisites throughout the software lifecycle, associations can ensure that the
last software creation aligns with the intended functionality, satisfies stakeholder needs,
and meets quality standards. It enhances transparency, facilitates effective difference
management, and helps the overall success of the software growth method.
1. Requirement Analysis: During the systems analysis, prerequisites are gathered from
stakeholders, comprising end-users and business owners. This investigation
supports understanding the anticipations and needs of the users, ensuring that the
software is designed to meet those prerequisites. By accurately capturing and
investigating the, the sets the foundation for a high-quality software system.
2. Identifying Deficiencies: Systems analysis implicates a detailed assessment of the
current software system, its functionalities, and its performance. This examination
supports identifying deficiencies, such as bugs, performance bottlenecks, safety
vulnerabilities, or usability cases. By uncovering these deficiencies, the analysis
method enables the growth group to address them and enhance the overall quality of
the software system.
3. Gap Analysis: Systems analysis implicates comparing the current system's capacities
with the desired state or industry best training. This gap investigation supports
identifying areas where the software system falls short and where improvements are
needed. By identifying these gaps, the analysis method guides the growth group in
implementing necessary enhancements and aligning the software system with
industry criteria and best exercises.
4. Process Optimization: During the systems analysis, the existing processes, workflows,
and methodologies are assessed. This evaluation supports identifying inefficiencies,
monotonies, or bottlenecks that can affect software quality. By optimizing these
methods, the analysis method ensures smoother workflows, reduced mistakes, and
improved efficiency, coaching to better software quality.
5. Risk Identification and Mitigation: Systems analysis implicates evaluating potential
dangers associated with the software system, such as safety threats, data loss, or
system failures. By identifying these risks, the analysis method enables the growth
Tharushi Kavishka Software Development Lifecycles Assignment 03
Page | 64
group to implement appropriate comfort techniques and preventive criteria. This
proactive approach to risk management significantly contributes to improving
software quality and assuring a robust and secure system.
6. Stakeholder Engagement: Effective stakeholder attention is a critical facet of the
systems analysis method. By implicating stakeholders throughout the analysis, their
insights, feedback, and expectations are captured, assuring that the software system
addresses their needs. This collaborative approach supports improving software
quality by aligning growth efforts with stakeholder anticipations and incorporating
their beneficial input into the system design and commission.
Evaluate a traffic light system with three states: Red, Yellow, and Green. The FSM
model can illustrate the traffic light system as follows:
State: Red
State: Yellow
State: Green
In this example, the FSM provides a simple representation of the traffic light
system's behavior, allowing the system to transition between states based on
specified events or conditions.
Extended Finite State Machine (EFSM) Application:
Consider a login authentication system for a web application. The EFSM model can
represent the behavior of the authentication system as follows:
State: Idle
State: Verifying
State: Failed
In this example, the EFSM extends the capabilities of an FSM by including additional
elements such as the ability to handle various results based on the assurance of user
credentials. It allows for more complex demeanor modeling and delivers a more detailed
representation of the authentication system's demeanor.
In summary, while FSMs are beneficial for representing simple systems with distinct
states and evolutions, EFSMs offer added characteristics and flexibility to handle more
complicated demeanor and multiple outcomes. The selection between FSM and EFSM
depends on the specific requirements of the system and the level of element needed to
accurately model its demeanor.
Java point (2011). SDLC - Software Development Life Cycle - java point. [Online]
www.javatpoint.com. Available at: Accessed: 06 01 2023
https://www.javatpoint.com/software-engineering-software-development-life-cycle.
Martin, M. (2019). SDLC (Software Development Life Cycle) Tutorial: What is, Phases,
Model. [Online] Guru99.com. Available at: 06 09 2023
https://www.guru99.com/software- development-life-cycle-tutorial.html.
Java point (2011). Agile Model - java point. [Online] www.javatpoint.com. Available at:
Sharma, L. (2016). Waterfall Model in Software Development Life Cycle | SDLC. [Online]
Toolsqa.com. Available at: https://www.toolsqa.com/software-testing/waterfall-model/.
Accessed: 06 14 2023
Elprocus (2019). Finite State Machine (FSM): Types, Properties, Diagram, Design and
Applications. [Online] ElProCus - Electronic Projects for Engineering Students. Available
at:
https://www.elprocus.com/finite-state-machine-mealy-state-machine-and-moore-
statemachine/. Accessed: 06 10 2023
GeeksforGeeks. (2020). Software Development Life Cycle (SDLC). [Online] Available at:
https://www.geeksforgeeks.org/software-development-life-cycle-sdlc/. . Accessed: 06 15
2023
creately.com. (2022). The Easy Guide to UML Activity Diagrams | Creately. [Online] A
https://creately.com/guides/activity-diagram-tutorial/