SDLC Assignment Editable
SDLC Assignment Editable
The Software Development process can be defined as a set of activities and associated results that produce
software products. There is no specific process to develop software, but a structured set of activities are
required to develop a software system.
Software specification
Software design and implementation
Software validation
Software evaluation
Software Development Life Cycle (SDLC) outlines the steps taken during the software creation process. It
means a large development project can be divided into manageable stages. SDLC is a cost-effective and
time-effective process. SDLC has general phases. Such as Planning, Analysis, Design, Development.
Testing, Development and Maintenance.
01. Planning:- The project goals, needs, and constraints are established during this part of the SDLC. The
creation of the project strategy, resource estimation, and project deadlines are all included in this
period.
02. Analysis: - the requirements are compiled and examined during this step after being collected from the
parties. The problem is identified during this step, which also includes analyzing and current system
and defining the needs of the users.
03. Design: - Based on specifications collected during the analysis phase come on the software
architecture is developed during this phase. The design process involves defining the program
components, creating precise specifications, and creating the system architecture.
04. Implementation: - the real program coding is completed during this stage. The development of code,
database schema, and user interfaces are all part of this process.
05. Testing: - the program is examined for flaws, mistakes come on end weaknesses during this stage. The
testing process contains a number of testing types come on including acceptance, system, integration
and unit testing.
06. Development: -the program is deployed into the production environment during this. The program
installation, set-up, and end data migration all occurred during this process.
07. Maintenance: - during this stage, this software is kept to make sure it is still functional and continue to
satisfy the users’ evolving requirements. Bug fixes, improvements, and updates are all considered
maintenance.
Since the SDLC is an iterative process, each stage is replicated until the program is finished and prepared for
distribution.
1.2. Explain the difference between iterative software development model and sequential
software development model.
In the software development process, various software development lifecycle models are specified and
designed. “Software development process model” is another name for these frameworks to guarantee
success in the software development stage, each process model adheres to a set of steps that are specific to
each type.
The process of iterative software development entails breaking a software project down into smaller, more
manageable chunks, called iterations. Planning, designing, coding, testing, and release are all steps in the
full development cycle that are involved with each version. The development team evaluates the specs at the
beginning of each iteration to identify the features and capabilities that must be developed. After that the
team develops the implements that feature, evaluates them, and ensures that the new functionality compiles
with this specification. For each version, the development team follows the same procedure, progressively
improving the software unit it is completely functional and satisfies all requirements. When working on big
complicated software project where it can be challenging to anticipate every requirement of front come on
the iterative approach can be especially helpful. In order to make any required adjustments along the way
iterative development enables continuous input and cooperation between the development team and the
stakeholders. As a result the development process is more adaptable and fluid, which can help guarantee that
the end product satisfies the demands of the stakeholders.
Advantages and Disadvantages of the Iterative Software Development Model
Advantages Disadvantages
Flexibility Increased Cost
Early Detection of issues Lack of predictability
Continuous Improvement Scope creep
Customer Involvement Communication Challenges
Risk Reduce Potential for incomplete Software
Table 1: - Advantages and Disadvantages of the Iterative Software Development Model
The sequential software development model also known as the waterfall model, is a linear method to
software development that divides the development process into discrete stages that are finished
sequentially, with each face acting as a building block for the following. The following stages usually make
up the sequential model.
Advantages Disadvantages
Clear and Structured approach Limited flexibility
Early Detection of issues Lack of customer involvement
Easy to Manage Potential for costly errors
Documentation Lengthy development time
Suitable for small and straightforward projects Limited testing
Table 2: - Advantages and Disadvantages of the Sequential Software Development Model
Overall, the sequential model may not be the best match for a bigger or more complex project their freedom
of client participation and agility to crucial factors even though it's appropriate for small uncomplicated
projects with the clearly specified requirements.
The iterative software development morally and sequential software development model are two different
approaches used for software development. Here are a few significant variations between these two models.
1. Development process
The iterative model follows a cyclic and repetitive process that involves the development of
smaller segments or iterations that are completed sequentially, with each iteration building on the
previous one.
The sequential model follows a linear and sequential process that involves a series of well-
defined and structured phases which are completed one after another.
2. Flexibility
The iterative model is more flexible than the sequential model come up as changes can be made
throughout the development process, and each iteration could be adjusted based on customer
feedback and changes in requirements.
The sequential model is less flexible than the iterative model come on as it follows a rigid and
inflexible approach, big changes to previous phases are not usually allowed, making it difficult
to adapt to changes in requirements or customer feedback.
3. Customer Involvement
The iterative model emphasizes customer involvement and feedback throughout the
development process, allowing for better communication and collaboration between the
development team and the customer.
The sequential model involves less customer involvement in the development process until the
testing phase, which may lead to a final product that does not meet the customer's needs.
4. Testing
The iterative model involves testing throughout the development process, allowing for early
detection and resolution of issues are defects.
This sequential model involves testing at the end of each phase, which may not be sufficient to
detect all issues for defects.
5. Documentation
The sequential model places a significant emphasis on documentation, ensuring that all aspects
of the development process are adequately recorded, making it easier to maintain and update the
software in the future.
The iterative model also involves documentation, but it may list structured and formal than the
sequential model, with a greater focus on collaboration and communication between the
development team and the customer.
In conclusion, the iterative model is more adaptable, involves more customer input and feedback, testing
throughout the development process, and is more structured and emphasizes documentation, with less
customer input until the testing phase.
1.3. Explain the Spiral model and briefly explain how risk can be managed using that model.
The spiral model is a representation of the software development process that incorporates aspects of the
waterfall model, iterative and gradual development models, and both. It is a fluid and adjustable process
model that highlights the necessity of ongoing risk analysis as well as ongoing software product
improvement.
This spiral model is characterized by a series of iterative cycles, with its consisting of four main phases:
1. Planning: During this phase, project objectives are defined, and requirements are gathered. This
includes identifying the project scope, objectives, and constraints.
2. Risk analysis: During this period, possible risks and issues are analyzed, discovered, and a risk
management strategy is created. This entails assessing the probability and significance of possible
risks, selecting risk reduction tactics, and creative backup plans.
3. Engineering: this stage involves designing, coding, and testing the program. The program is created
in stages, each of which builds on the one before it. As a result, it is possible to continuously evaluate
and provide input, as well as modify the production process as necessary.
4. Evaluation: this stage involves evaluating this software to see if it meets the project’s goals and
specifications. In addition to checking the software to find and fix any bugs, this also entails
assessing its general efficiency.
This spiral model places a strong emphasis on the necessity of ongoing risk analysis and management, as
well as the capacity to modify the development process in response to input and assessment. This lowers
the possibility of expensive mistakes and delays while enabling the creation of high quality software that
satisfies project goals and requirements. Complex software initiatives that call for a fluid and adaptable
development process benefit most from the spiral approach.
Risk management
This viral model places a strong emphasis on risk management and provides a number of methods for
doing so throughout the software development cycle. This spider model can be applied in the following
methods to control risks.
Risk identification: throughout the development process, the spiral model stress and importance
of ongoing risk analysis and discovery. To do this, it is necessary to identify possible dangers and
issues that could affect the project, such as technological difficulties, financial limitations, and
delays in the timetable.
Risk Assessment: once risks have been discovered, they must be evaluated to ascertain their
likelihood and possible influence on the undertaking. Prioritizing risks and creating effective risk
management plans are made easier as a result.
Risk Mitigation: the spiral model promotes the creation of risk mitigation methods to lessen the
probability of effect identified risks. Creating backup plans, carrying out extra testing, or
changing project specifications are a few examples of this.
Continuous monitoring: this spiral model emphasizes the need for ongoing project tracking and
assessment in order to spot the deal with fresh risks as they appear. This enables the development
team to modify strategies and plans as necessary to reduce risks and guarantee the project
remains on course.
This spiral model can help to reduce the possibility of expensive mistakes and delays by utilizing the
techniques, which will eventually result in higher quality software product that satisfies project goals and
requirements.
1.4. Discuss suitable software development methodologies for the above scenario.
there are several software development methodologies that can be suitable for the above scenario of
developing a POS System for Eastwell textiles. Here are some of the methodologies that could be
considered:
1. Agile: the agile methodology emphasizes flexibility and continuous delivery of working software.
This would be a good fit for a project like Eastwell’s POS system, as the system needs to be
developed and deployed quickly across all branches. The agile methodology can help ensure that the
development team is able to quickly respond to changing requirements and customer needs.
2. Iterative: the iterative methodology involves breaking the development process into smaller chunks,
or iterations, and continuously testing and improving the system throughout the process. This could
be a fit for the Eastwell project, as it would allow the development team to test the system as it’s
being built and ensure that it meets the company’s requirements and expectations.
3. Waterfall: the waterfall methodology involves completing each phase of the development process
before moving on to the next. The methodology can be useful for projects with well-defined
requirements as it can help ensure that the final product meets all of these specified requirements.
However, it may not be as flexible or adaptable as other methodologies.
4. Spiral: The spiral methodology is a risk-driven approach that involves continuously evaluating and
mitigating risks throughout the development process. This could be a good fit for the Eastwell
project, as it would ensure that the development team is able to identify and address potential risks to
issues that could impact the success of the project.
Ultimately, the choice of software development methodology will depend on the specific needs and
requirements of this Eastwell project. The development team should carefully evaluate each methodology
and choose the one that best aligns with the project goals and objectives.
1.5. Use Waterfall model to develop the above scenario and identify the functionalities
during each phase.
The waterfall model is a linear sequential approach that follows a strict sequence of phases, where the output
of one phase serves as the input to the next phase. here are the different phases of the waterfall model and
the functionalities involved in each phase for developing the Eastwell textile POS System.
1. Requirement analysis
Gather and analyze all the requirements for the POS system.
Identify the hardware and software components that are required.
Define the scope of the project and establish the goals and objectives.
Prepare their functional and non-functional requirements for the system.
2. System design
Create a design for the POS system based on the requirements.
Design the architecture of the system and identify the different modules and components.
Define the user interface for the system.
Develop a detailed specification for the software and hardware components.
3. Implementation
Develop the software components of the POS system according to the design specifications.
Integrate the different modules of the system
Conduct unit testing to ensure that each module functions properly.
4. Testing
Conduct integration testing to ensure that all the components of the system work together.
Conduct system testing to ensure that the system functions are intended.
Conduct acceptance testing with end users to ensure that the system meets their needs and
requirements.
5. Deployment
Deployed the POS system to all branches of Eastwell textiles.
Install and configure the system hardware and software components.
Train the users on how to use the system.
6. Maintenance
Provide ongoing maintenance and support for the system.
Address any bugs or issues that arise in the system.
Continuously improve the system based on user feedback and changing business needs.
The waterfall model may not be the best fit for the Eastwell textile POS system development, as it is
a rigid and inflexible model. The agile or spiral model may be the more suitable as they are iterative
and allow for continuous feedback and improvement throughout the development process.
A feasibility study in the software development lifecycle is a preliminary analysis that assesses the
organizational, technical come on and fiscal viability offer planned software projects. The viability study
aids in deciding whether or not the suggested project is feasible and whether further development of it is
necessary. The technical needs, such as hardware and software platforms needed to create and operate the
software, are usually analyzed in the feasibility study along with any possible technical difficulties or
constraints. A financial analysis of the project’s expenses and advantages such as the anticipated return on
investment and the project growth budget it also included in the feasibility study. Additionally, the
feasibility study considers organizational factors, such as the availability of resources and the expertise of
the development team, to assess whether the project can be realistically executed. The feasibility studies
findings give decision makers the knowledge they need to decide whether to move forward with the project,
alter its original plan, or give up on it entirely.
A Technical Feasibility Study is a preliminary analysis that evaluates the technical feasibility of a proposed
software project. In the case of Eastwell Textile POS system, the following technical feasibility findings
were identified:
1. Hardware Requirements: The proposed POS system will require hardware components such as a
computer, barcode scanner, and cash drawer. These components must be reliable, durable, and
compatible with the software to ensure efficient operation. The hardware must also be able to handle
a high volume of transactions, especially during peak sales periods.
2. Software Requirements: The proposed system requires software that can manage the sales process,
handle payments, calculate taxes, and update inventory. The software must be user-friendly, easy to
navigate, and reliable. It must also be compatible with the hardware components and the existing IT
infrastructure of Eastwell Textiles.
3. Technical Expertise: The implementation of the POS system will require technical expertise in
software development, database management, and system integration. Eastwell Textiles must have
access to a skilled and experienced IT team to ensure the successful development and
implementation of the POS system.
4. Integration with External Systems: The proposed POS system must integrate with various external
systems, such as tax calculators and inventory control systems. The integration must be seamless and
reliable to ensure the smooth operation of the POS system.
5. Security Requirements: The proposed POS system must have adequate security measures to protect
sensitive customer information, such as payment details and personal information. The system must
have robust authentication and authorization mechanisms to prevent unauthorized access and protect
against cyber threats.
Based on the above technical feasibility findings, the proposed Eastwell Textile POS system is technically
feasible. However, it will require significant investments in hardware, software, and technical expertise to
ensure its successful implementation and operation.