SDLC Assignmentzzzzz
SDLC Assignmentzzzzz
SDLC Assignmentzzzzz
assignment (SDLC)
HND-45
HND-45 Aung Kaung Maw
1
HND-45 Aung Kaung Maw
Analysis: In this phase, the requirements are analyzed and documented, and
the system architecture is designed.
Design: In this phase, the system's design is created, including the user
interface, data models, and software architecture.
Implementation: This phase involves coding, testing, debugging, and
integration of software components.
Testing: This phase involves testing the software for functionality,
performance, and usability.
Deployment: In this phase, the software is released to end-users and
deployed in the production environment.
Maintenance: This phase involves the ongoing support and maintenance of
the software after deployment to ensure that it continues to function
properly and meets user needs.
2
HND-45 Aung Kaung Maw
3
HND-45 Aung Kaung Maw
4
HND-45 Aung Kaung Maw
5
HND-45 Aung Kaung Maw
6
HND-45 Aung Kaung Maw
Advantages Dis-Advantages
7
HND-45 Aung Kaung Maw
Advantages Dis-Advantages
8
HND-45 Aung Kaung Maw
Advantages of V-model:
Simple and easy to use.
Testing activities like planning, test designing happens well before
coding. This saves a lot of time. Hence higher chance of success over
the waterfall model.
Proactive defect tracking – that is defects are found at early stage.
Avoids the downward flow of the defects.
Works well for small projects where requirements are easily
understood.
Disadvantages of V-model:
Very rigid and least flexible.
9
HND-45 Aung Kaung Maw
10
HND-45 Aung Kaung Maw
One advantage of using the waterfall model for a dating app web application
is its structured and well-defined nature. The model follows a linear
progression, starting from requirements gathering, followed by design,
implementation, testing, and deployment. This sequential approach allows
for clear planning and documentation, ensuring that each phase is
completed before moving on to the next. For a dating app, where different
features and functionalities need to be implemented and tested, this can
help in maintaining a systematic and organized development process.
11
HND-45 Aung Kaung Maw
Furthermore, the waterfall model allows for better control over project
timelines and budgets. Since each phase is completed before moving on to
the next, it becomes easier to estimate time and resource requirements for
each stage. This can help in setting realistic project schedules and budgets,
making it easier to manage expectations and deliver the final product on
time and within the allocated resources.
Finally, once the app is fully tested and deemed ready for deployment, it is
released to the public. The team monitors its performance, collects user
feedback, and makes necessary updates or improvements based on the
feedback received.
In summary, the waterfall model can be used for developing a dating app
web application due to its structured nature, clear definition of requirements,
and better control over timelines and budgets. However, it's important to
note that the waterfall model may not be suitable for all types of projects,
particularly those with rapidly changing requirements or a need for iterative
development.
12
HND-45 Aung Kaung Maw
13
HND-45 Aung Kaung Maw
14
HND-45 Aung Kaung Maw
strategy and plan. It also helps to know about the staffing needs in the
sectors so that staff trainings
are conducted to acquire and train necessary specialists.
Being a System analyst, I was assigned with the task to develop the new
system for the company. To
develop the new system, I have researched all aspect of the system
including all the feasibility of the
system and I have gone through these five types of feasibility study which is
described below:
Technical feasibility:
Technical feasibility always looks for the technical resources available
to the project. It helps to
manage project and determine whether the technical resource and
technical team is capable to
convert the ideas into the working system. It also evaluates the
hardware, software, and other
technology for the purposed system. If the resources are insufficient or
technical manpower is not
capable then the project is considered as not technically feasible.
Economic feasibility:
Economic feasibility involves a cost / benefits analysis of the project.
It helps to determine the
viability, cost, and benefits of the project before allocating the financial
resource to the project. It
works as a separate or independent feasibility which will determine the
decision of the whole project.
Legal feasibility:
Legal feasibility helps to investigate whether the project is legal or illegal. It
checks all the aspects of
the proposed project with the legal requirements like data protection act,
or social media law. For
example: let’s say an organization wants to build a new office in a specific
location which isn’t not
suitable for that company. That company has just saved time and
cost by learning whether it is
feasible or not from the beginning.
Operational feasibility:
Operation feasibility always deals with the how well the proposed program
will satisfy and analyze
all the factors that organization’s needs are met or not. It also analyzes the
plan of requirement which
15
HND-45 Aung Kaung Maw
16
HND-45 Aung Kaung Maw
Operation feasibility always deals with the how well the proposed program
will satisfy and analyze all the factors that organization’s needs are met or
not. It also analyzes the plan of requirement which is identified in the
requirement analysis phase of system development.
Scheduling feasibility:
Scheduling feasibility deals with the timeframe of the project. If the
project is completed on time then the project is success else a project will
fail if it is not completed on time. It also estimates how much time the
project will take to complete. And allocates the required time for the
project like deadline of the project completion.
After examining all the aspect of the feasibility, it helps to identify
any constraint the proposed project may face.
Technical Solution:
Technical solution has the main purpose of design, develop and implement
solution in the project. Solution, designs and implementation has its own
products, products components and product-related lifecycle processes.
Technical solution plays a vital role in product and product component and
also in product related lifecycle. On the other hand, feasibility report helps to
know whether the project is feasible or not with its available resources.
Technical solution always helps in decision making which one is suitable
and provides quality decisions. Feasibility report gives clearness about the
product and its feasibility. It also helps to predict future. Technical solution
of the project is given
below:
1. Requirements Gathering This section emphasizes the importance of
gathering user requirements and stakeholder feedback in the early
stages of the project. It discusses the use of collaboration and
communication tools like Jira, Trello, or Confluence to effectively
collect and document requirements.
2. Design and Planning The design and planning phase is critical for
creating a user-friendly interface and an optimal user experience. This
section discusses the use of wireframing and prototyping tools such as
Sketch, Figma, or Adobe XD to visualize the app's UI/UX. It also
highlights the significance of design systems or UI component libraries
for consistent UI development.
17
HND-45 Aung Kaung Maw
18
HND-45 Aung Kaung Maw
19
HND-45 Aung Kaung Maw
on an idea that is not viable. The following are the components of the
feasibility report:
Purpose:
Feasibility report establish the intended purpose of the information
environment and it defines all the boundaries of the information system
by identifying the content of interest of the business organization.
Structure:
It defines the shape and boundaries of the information with all the
functionality and helps in making the strategy and scope for the project.
It converts scattered resources into a unified and cohesive
arrangement in an organized system.
Intended audience:
Intended audience is those people who will be actively participate in the
activities of the information environment.
Project scope:
In order to get a better feasibility, report it must be clear in defining all the
business plan, problems and strategies. Scope of the project must be
definite and to the point which shouldn’t make any confusion in the
project and its members. It should include all business parts which is
directly or indirectly affected like end users, developers and even sponsors
etc. a well-define project scope can only give an accurate feasibility report.
Market research:
Before placing the product in the market, a market research is required
which helps in discovering the strength and weakness of the current
approach. Reviewing this strength, weakness, opportunity, and threats faced
by the project helps in decision making. This way we can consider that how
much we can get from the market after launching the product and it helps in
making the accurate feasibility
report.
Requirements:
20
HND-45 Aung Kaung Maw
21
HND-45 Aung Kaung Maw
22
HND-45 Aung Kaung Maw
The main objectives of the dating web application project are as follows:
Market Analysis:
Extensive market research indicates a significant demand for online dating
services, with a steady growth rate in recent years. The target audience
primarily consists of individuals between the ages of 18 and 35, seeking
diverse relationships and connections. The market analysis suggests a
favorable environment for a dating web application, with opportunities for
growth and revenue generation.
Technical Feasibility:
The development of a dating web application requires a robust technical
infrastructure. The following factors contribute to the technical feasibility:
23
HND-45 Aung Kaung Maw
Financial Feasibility:
The financial feasibility analysis examines the projected costs, revenue
streams, and profitability of the dating web application project. Key financial
considerations include:
24
HND-45 Aung Kaung Maw
Risk Analysis:
Identify potential risks and challenges associated with the development and
launch of the dating web application. Mitigation strategies should be devised
for each risk to minimize their impact on the project.
Conclusion:
Based on the comprehensive analysis conducted, it is concluded that the
development of a dating web application is technically feasible, financially
viable, and aligned with market demands. However, careful attention must
be given to legal and regulatory considerations, data privacy, and user
security.
25
HND-45 Aung Kaung Maw
26
HND-45 Aung Kaung Maw
feasibility study with its impacts for the new system has be compared. Thus,
feasibility study of the
software provides us the report of the feasibility which makes us
clear about the software and
stakeholders can determine whether to develop a system or not. This
feasibility report will be the
huge benefits for the organization.
effective in use after the complete development of the system which
also refers to operational feasibility. The impact on the operational
feasibility will be when the expected benefits of the system will not meet
the end-user’s satisfaction because of the complexity in the system.
System is
evaluated during an investigation to know how well the organization needs
are fulfilled. During the study of operational feasibility, company had its
own goal and ambition with various strategies to take the international
market and make a new system which will help them to grow. And
the operational feasibility has its own impact on the work and strategy to
extend it services to clients.
Technical impact:
The impacts on the insurance company are determined with the
various criteria such as resource, capacity, the working teams. Here the
resources provided to the working team is sufficient or not is
monitored. Whether the technical team is capable of converting the ideas
into the working system.
Technical feasibility deals with the technical of the system like
equipment needed to build the system, install or operate the system. It
also involves the hardware and software evaluation.
Economic impact:
Impacts of the economic feasibility in the insurance company are
concerned about the cost and benefits of the projects. It helps to know
viability, make decision to determine the positive economic
benefits.
Schedule impact:
Schedule feasibility has impact on the insurance company that to get the
success by completing the project on time. Schedule feasibility will be high is
the project is completed on time before deadline.
27
HND-45 Aung Kaung Maw
1.Introduction:
The purpose of this Software Requirement Specification (SRS) is to define
the requirements for the development of a dating web application. This
application aims to facilitate connections between individuals seeking
romantic relationships, providing a user-friendly and secure platform for
communication and interaction.
2.Scope:
The dating web application will allow users to create profiles, search for
potential matches based on various criteria, engage in private messaging,
and access additional features through premium subscriptions. The
application will be accessible through web browsers on desktop and mobile
devices.
3.Functional Requirements:
3.1 User Registration
Users can create accounts by providing necessary details.
Users can log in and log out of their accounts.
3.2 User Profiles
Users can create and edit their profiles, including personal information,
photos, and preferences.
Users can view and search for other user profiles.
3.3 Matching and Search
Users can search for potential matches based on criteria such as age,
location, interests, and preferences.
The system will provide matching suggestions based on user profiles and
preferences.
28
HND-45 Aung Kaung Maw
3.4 Communication
Users can send and receive private messages to other users.
Users can like or express interest in other user profiles.
3.5 Notifications
Users will receive notifications for new messages, likes, matches, and other
relevant activities.
3.6 Premium Subscriptions
Users can subscribe to premium plans to access additional features such as
advanced search filters, unlimited messaging, and enhanced privacy
settings.
Non-Functional Requirements:
4.1 Performance
The application should handle a large user base and provide fast response
times for searches and messaging.
The system should be scalable to accommodate increasing user traffic.
4.2 Security
User data, including personal information and messages, should be securely
stored and protected.
The application should implement secure authentication and authorization
mechanisms.
4.3 Usability
The user interface should be intuitive, visually appealing, and responsive
across different devices.
The application should provide clear instructions and feedback to users.
5.User Interfaces:
The application will have user-friendly interfaces for account registration,
profile creation, search filters, messaging, and subscription management.
Screens and navigation should be designed to enhance user experience and
ease of use.
29
HND-45 Aung Kaung Maw
6.System Features:
Detailed specifications of each feature, including user registration, profile
management, search functionality, messaging system, and premium
subscription features.
7.External Interfaces:
Integration with third-party services for email notifications, payment
gateways for subscription management, and social media sharing
functionalities.
8.Performance Requirements:
The application should load within a reasonable time frame.
The response time for searches, profile loading, and messaging should be
quick and efficient.
9.Design Constraints:
The application should be compatible with major web browsers (Chrome,
Firefox, Safari, and Edge) and be responsive across different screen sizes.
Sequence Diagram
30
HND-45 Aung Kaung Maw
31
HND-45 Aung Kaung Maw
32
HND-45 Aung Kaung Maw
33
HND-45 Aung Kaung Maw
34
HND-45 Aung Kaung Maw
Create test cases: Develop test cases that directly correspond to the
requirements. Each test case should clearly indicate which requirement(s) it
is validating.
Trace test results to requirements: Capture and track the test results,
including any defects or issues discovered during testing. Ensure that the
defects are linked back to the specific requirements they impact.
Validate test coverage: Perform traceability checks to ensure that all
requirements have been tested adequately. This helps identify any gaps in
test coverage and ensures comprehensive validation of the software.
Software quality
Software quality refers to the degree to which a software product or system
meets specified requirements and satisfies the needs or expectations of its
stakeholders. It encompasses various aspects, including functionality,
reliability, performance, usability, maintainability, and security. Achieving
high software quality is crucial as it directly impacts user satisfaction,
business success, and the overall value delivered by the software.
Here are some key aspects of software quality:
Functionality: The software should fulfill its intended purpose and provide
the required features and capabilities as defined by the functional
requirements. It should meet user needs and expectations, allowing users to
perform tasks effectively and efficiently.
Reliability: Reliability refers to the software's ability to perform consistently
and accurately under various conditions. A reliable software product should
minimize failures, errors, and crashes, ensuring stable and predictable
operation.
Performance: Performance relates to the software's ability to meet specific
performance requirements, such as response time, throughput, and resource
utilization. A high-quality software product should perform efficiently,
delivering satisfactory performance even under expected or peak workloads.
Usability: Usability focuses on the software's ease of use, intuitiveness, and
user experience. It involves aspects such as user interface design,
navigation, learnability, and overall user satisfaction. A user-friendly
software product enhances productivity, reduces training needs, and
improves user adoption.
Maintainability: Maintainability refers to the software's ease of modification,
enhancement, and troubleshooting. A maintainable software product is easy
35
HND-45 Aung Kaung Maw
36
HND-45 Aung Kaung Maw
37
HND-45 Aung Kaung Maw
38
HND-45 Aung Kaung Maw
could impact software quality. This proactive approach helps ensure that
quality is prioritized throughout the software development lifecycle.
Stakeholder Engagement and Communication:
Systems investigation involves engaging with stakeholders, such as end-
users, managers, and technical experts, to understand their perspectives,
gather feedback, and communicate project objectives. Effective stakeholder
engagement and communication are crucial for ensuring that software
quality aligns with stakeholder expectations.
Effectiveness: High. By actively involving stakeholders and maintaining open
lines of communication, the systems investigation process enables the
development team to better understand and address stakeholder
requirements and concerns. This improves the likelihood of delivering
software that meets the desired quality standards.
39
HND-45 Aung Kaung Maw
Use Case Modeling is particularly suitable for a dating app project due to the
following main reasons:
1. User-Centric Approach: Use Case Modeling allows for a user-centric
approach to software development, which is crucial for dating apps. By
identifying and modeling the different user roles and their interactions
with the app, Use Case Modeling ensures that the app is designed to
meet the needs and goals of its target users. It helps capture the
specific actions users can perform, such as creating profiles, searching
for matches, sending messages, and scheduling dates.
2. Scenario Visualization: Dating apps involve complex scenarios and
workflows that can be effectively visualized using Use Case Modeling.
It helps illustrate the steps and interactions involved in various user
scenarios, providing a clear understanding of how the app should
behave in different situations. For example, Use Case Modeling can
depict the process of matching two users based on their preferences,
suggesting potential matches, and facilitating communication between
them.
3. Requirement Elicitation and Prioritization: Use Case Modeling facilitates
requirement elicitation by providing a structured approach to
identifying and documenting the functional requirements of the dating
app. It helps uncover user needs, desired features, and expected
system behavior. Additionally, Use Case Modeling allows for the
prioritization of features and functionalities based on user value and
project constraints, ensuring that the most critical and impactful
features are implemented first.
4. Effective Communication and Collaboration: Use Case Modeling serves
as a powerful communication and collaboration tool for all stakeholders
involved in the dating app project. It provides a common language and
visual representation that can be easily understood by developers,
designers, product managers, and even potential users. Use Case
diagrams and descriptions facilitate effective discussions, feedback,
and decision-making, fostering collaboration and shared understanding
among the project team.
40
HND-45 Aung Kaung Maw
Representing the different states that a system can be in and the transitions
between those states triggered by events or inputs. State transition
diagrams provide a visual representation of the system's behavior, helping
to define the possible states and the conditions for transitioning between
them.
State Transition Diagrams are particularly suitable for a dating app project
due to the following main reasons:
1. Modeling User Interactions: Dating apps involve various user
interactions that trigger state changes within the application. State
Transition Diagrams provide a concise and visual representation of the
app's behavior in response to these interactions. They help capture the
possible states of the app (e.g., logged in, browsing profiles,
messaging, etc.) and illustrate the transitions between these states
based on user actions or system events. This modeling approach
allows developers and stakeholders to understand and define how the
app should respond to different user interactions, ensuring a smooth
and intuitive user experience.
2. Handling Complex Workflows: Dating apps often have complex
workflows that involve multiple steps and interactions. State Transition
Diagrams provide a clear overview of the flow between different
states, showing the progression of the user's journey within the app.
By representing the various states and transitions in the diagram, it
becomes easier to identify potential edge cases, handle exceptions,
and ensure that the app behaves consistently and predictably across
different user scenarios. This is crucial for creating a reliable and user-
friendly dating app.
3. Validation and Verification: State Transition Diagrams are valuable
tools for validating and verifying the behavior of a dating app. By
following the defined transitions in the diagram, developers and testers
can systematically test different paths and scenarios to ensure that the
app functions as expected. State Transition Diagrams provide a visual
reference for validating the correctness and completeness of the app's
behavior, helping to identify any missing or incorrect transitions and
allowing for adjustments and improvements before deployment.
Sequence Diagrams:
41
HND-45 Aung Kaung Maw
Sequence Diagrams are suitable for a dating app project due to the following
main reasons:
1. Visualizing Interactions and Communication: Dating apps involve
various interactions and communication between different components
or objects within the system. Sequence Diagrams provide a visual
representation of these interactions, showcasing the order of
messages exchanged between objects and the flow of control. This
visualization helps stakeholders, developers, and designers understand
the communication patterns and dependencies between different
components of the app, ensuring effective implementation and
integration.
2. Modeling User Scenarios and Workflows: Sequence Diagrams are ideal
for modeling user scenarios and workflows in a dating app. They allow
for depicting the step-by-step interactions between users and the app,
illustrating how the app responds to user actions and events. For
example, a sequence diagram can show the process of matching two
users based on their preferences, displaying potential matches, and
facilitating communication between them. By capturing these user
workflows, Sequence Diagrams help ensure the app's functionality
aligns with user expectations.
3. Identifying System Behavior and Collaborations: Sequence Diagrams
provide insights into the behavior of the system's components and
their collaborations. They help identify which objects are involved in
specific interactions, what messages are exchanged, and how the
system responds to those messages. This level of detail allows for a
deeper understanding of the app's behavior and aids in identifying
potential bottlenecks, inefficiencies, or errors in the system design. By
analyzing Sequence Diagrams, developers can optimize the app's
performance and enhance its overall quality.
42
HND-45 Aung Kaung Maw
43
HND-45 Aung Kaung Maw
44
HND-45 Aung Kaung Maw
45
HND-45 Aung Kaung Maw
46
HND-45 Aung Kaung Maw
EFSM
An extended FSM (EFSM) refers to an extension of the basic Finite
State Machine (FSM) model that incorporates additional features to enhance
its functionality and expressive power. The EFSM expands on the capabilities
of the traditional FSM by introducing additional elements and concepts.
The key features of an extended FSM may include:
1. Actions and Outputs: EFSMs often include the ability to specify actions
or outputs associated with state transitions. Actions are tasks or
operations performed when transitioning from one state to another,
such as updating variables, generating output signals, or invoking
functions.
2. Guards or Conditions: EFSMs may incorporate guard conditions, which
are Boolean expressions that need to evaluate to true for a transition
to occur. Guards allow for more complex decision-making based on the
current state and input conditions.
3. Hierarchical States: EFSMs can support hierarchical state structures,
enabling the decomposition of complex systems into nested sub-
states. This hierarchical organization helps in managing the complexity
of the system and provides a modular design approach.
4. Concurrent States: EFSMs may allow for concurrent or parallel
execution of multiple states. This feature enables the modeling of
systems that have multiple independent processes or activities
occurring simultaneously.
5. Internal Transitions: EFSMs can include internal transitions, where a
state can transition to itself without leaving and re-entering the same
state. Internal transitions are useful for capturing internal events or
actions within a state.
47
HND-45 Aung Kaung Maw
6. History States: EFSMs may include history states, which remember the
previously active sub-state when entering and exiting a composite
state. History states allow the system to resume from the last known
state when re-entering a composite state.
48
HND-45 Aung Kaung Maw
49
HND-45 Aung Kaung Maw
50
HND-45 Aung Kaung Maw
behavior of the application. Programming logic will remain same all the time
but it will be coded in such a way that data are driven but the code remains
always same. To develop this type of software it requires lots of testing as it
produces error when data issues are encountered. This type of software is
tested in variety of data samples.
The data driven software can improve the reliability and
effectiveness of the software by various means like test automation
which helps to automate the software to store the information like data
inputs and outputs. It helps to optimize the software by optimizing end
to end as it eliminates the unnecessary steps and process and keeps the
software performance high and enhance effectiveness. It is used for
collecting real time analytics and helps to predict the upcoming
requirements. Customers heavily rely on the software that produce the
quality and desire output. It makes the information universally
available within the application. Ultimately after having the data
driven software it is much more helpful in big data to predict and come to
the universal market. One of the best examples of the data driven software
is Facebook and it has huge data source in the world. It is the main reason
for the growing business is data driven software.
Now can automate the data and can have much more benefits in the
future. It will help the company to predict the future need and
requirements for the client and can provide services as per the required
and unwanted services can be removed. For example: insurance company is
using data driven software then it can easily know that which services is
heavily used and which one not used. Now company can neglect the
services which is not used frequently and focus on the software which
is heavily used by the users and can add now more schemes to the
services and gain more popularity.
51
HND-45 Aung Kaung Maw
52
HND-45 Aung Kaung Maw
53
HND-45 Aung Kaung Maw
Reference
https://desklib.com/blog/software-development-life-cycle-sdlc-assignment/
https://www.tutorialspoint.com/sdlc/sdlc_waterfall_model.htm
https://www.tutorialspoint.com/sdlc/sdlc_v_model.htm
https://www.interviewbit.com/blog/agile-model/#:~:text=A%20software
%20development%20approach%20based,start%20of%20the
%20development%20phase.
https://www.geeksforgeeks.org/software-engineering-spiral-model/
https://www.tpsgc-pwgsc.gc.ca/biens-property/sngp-npms/ti-it/etivcarftp-
idsfvfrmd-eng.html
https://faun.pub/risk-management-overview-integration-of-risk-
management-into-sdlc-ae48de24b743
https://www.geeksforgeeks.org/software-requirement-specification-srs-
format/
https://creately.com/guides/use-case-diagram-tutorial/
https://www.geeksforgeeks.org/unified-modeling-language-uml-sequence-
diagrams/
54
HND-45 Aung Kaung Maw
https://www.techtarget.com/searchdatamanagement/definition/data-flow-
diagram-DFD
https://brilliant.org/wiki/finite-state-machines/
https://jserd.springeropen.com/articles/10.1186/s40411-016-0027-4
55
HND-45 Aung Kaung Maw
56