You are on page 1of 31

Software development lifecycles

2
Software development lifecycles

Assignment on Unit: 7

Software Development Lifecycle

Submitted to
Name: Sabrina Hossain Mou
Designation: Coordinator & Lecturer

Submitted by
Name: Nafisa Noor Chaity
ID: 42986608
Programme: HND in Computing

Date of submission: 15.03.2024

3
Software development lifecycles

Contents
Describing two iterative and two sequential software lifecycle models ………………………….6

Explaining the software development lifecycle model's risk management ……………………..11

Forms of risks during the lifecycle of software development …………………………………...13

Explaining the purpose of a feasibility report …………………………………………………...17

Describing how technical solutions can be compared …………………………………………..22

Investigating software to satisfy demands in the workplace. ……………………………….…..24

Via software methods for evaluation and producing software investigating documents
………………………………………………………...………………………………………….26

Discussed, using examples suitability of software behavioral design strategy………..………...29

Bibliography ……………………………………………………………………………………31

4
Software development lifecycles

Introduction:

Enosis-solutions is a software development company. It helps create diverse and complex


software solutions for business needs. Listening to clients ideas, they implement and create
custom software solutions from scratch, designed especially for clients business. With enosis
every client gets quality software and perfect service every time.

My role as intern software engineer

For the development of this project, I am working in Enosis Solutions as an intern software
engineer. For this below I have created a report which contains various information related to
SDLC (software development lifecycle) and I helped a company (ILLIYEEN) update their
software.

5
Software development lifecycles

Describing two iterative and two sequential software lifecycle models


The process of developing information systems and computer software has always been
governed by many development techniques. A software development methodology is a
framework for organizing, supervising, and controlling the information system development
process. Software Engineering (SE) is the systematic, methodical, quantitative approach to
software development, operation, and maintenance, as well as the study of these approaches. In
other words, SE is the application of engineering to software, as it incorporates important
computer science, mathematics, and engineering-derived practices. Over the past few decades,
many techniques and procedures have been created with differing degrees of success to increase
software quality. It is generally acknowledged that there isn't a single strategy that can guarantee
against project overruns and failures in every situation. enormous, unexpected difficulties can
still arise in software projects that are complex, poorly described, contain novel components, and
are enormous in scale. A framework put on the creation of software is known as a software
development process. A number of models exist for these kinds of processes, and they all
describe how to handle different tasks or activities that occur during the process. It seeks to serve
as the benchmark that outlines every duty necessary for creating and preserving software.

Fig: SDLC

6
Software development lifecycles

Iterative Models

An iterative life cycle model starts with a partial specification of requirements, followed by
implementing and reviewing the software to identify additional requirements, and repeating this
process for each cycle of the model.

Spiral

The spiral model is a software project management approach that focuses on risk analysis and
involves four phases: Planning, Risk Analysis, Engineering, and Evaluation. Iterations pass
through these phases, starting with the baseline spiral, where requirements are gathered and risk
assessed. The risk analysis phase identifies risks and alternate solutions, while the engineering
phase produces software and tests. The evaluation phase allows customers to evaluate the
project's output before moving on to the next spiral.

The spiral model uses the angular component to represent progress, while the spiral's radius
represents cost.

FIG: Spiral model

Advantages of spiral model

• High risk analysis.

• Ideal for large, mission-critical projects.

• Early software production.

Disadvantages of spiral model

7
Software development lifecycles

• Costly model.

• Requires specific expertise.

• Project success heavily dependent on risk analysis.

• Not suitable for smaller projects.

DSDM

The Dynamic Systems Development Model (DSDM) is a software development methodology


based on the Rapid Application Development methodology, focusing on continuous user
involvement and delivering software systems on time and within budget. It emphasizes that
nothing is perfect in the first attempt and considers development as an ever-changing process.

FIG: DSDM process

Advantages of Dynamic Systems Development Model (DSDM)

• High user involvement in system development.

• Quick delivery of basic functionality with frequent updates.

• Easy access for developers to end-users.

• Delivered projects on time and within budget.

8
Software development lifecycles

Disadvantages of Dynamic Systems Development Model (DSDM)

• Costly implementation due to training requirements.

• Not suitable for small organizations or one-time projects.

• New, less common, and difficult to understand.

Sequential models

Sequence models are machine learning models designed for tasks involving sequential data, such
as textual, time series, audio signals, or video streams. These models are specifically designed to
process data that is not independently distributed but carries some dependency with each other,
unlike traditional algorithms. Sequence models can be of varying lengths and are dependent on
each other.

Fig: Sequential Model

Waterfall Model

The waterfall model is a classical software engineering model, widely used in government
projects and major companies. It emphasizes early planning to prevent design flaws and is
intensive in documenting and planning, making it ideal for quality control projects. The stages of
the waterfall life cycle do not overlap, starting with system requirements and software

9
Software development lifecycles

requirements, and ending with architectural design, detailed design, coding, testing, and
maintenance.

Advantages of Waterfall model

• Simple to comprehend and use.

• Extensively utilized and well-known.

• Strengthens the principles of define-before-design and design-before-code.

• Determines goals and deliverables.

• URD, SRD, document-driven, etc. published standards for documentation, such as PSS-05.

• Performs well on weak teams and older items.

Disadvantages of Waterfall model

• Idealized approach doesn't align with reality.

• Doesn't reflect iterative development.

• Unrealistic expectations for early requirements.

• Late software delivery delays error discovery.

• Difficulty in integrating risk management.

• Difficulty and cost in document changes.

• Hefty administrative cost for small groups and tasks.

V-Shaped Model

The waterfall model and the V-Shaped life cycle are examples of sequential process execution. It
emphasizes testing, with early testing procedures developed before coding. Requirements begin

10
Software development lifecycles

the life cycle, and a system test plan is created to meet the functionality specified in requirements
gathering. This approach emphasizes testing over coding in each phase.

The V-Shaped life cycle is a sequential process execution, similar to the waterfall model. It
emphasizes testing, with early testing procedures developed before coding. Requirements begin
the life cycle, and a system test plan is created to meet the functionality specified in requirements
gathering. This approach emphasizes testing over coding in each phase.

Advantages of V-Shaped Model

• Basic and user-friendly.

• Deliverables are customized to each step.

• Higher success rate due to early test plan development.

• Ideal for small projects with clear requirements.

Disadvantages of the V-Shaped Model

• Reliability comparable to that of the waterfall model.

• Limited adaptability and expensive scope changes.

• Software development throughout the course of implementation.

• No defined solution for testing phase issues.

11
Software development lifecycles

Explaining the software development lifecycle model's risk management

The Software Development Life Cycle (SDLC) incorporates a systematic and proactive approach
called risk management that helps identify, navigate, and mitigate any risks that might impede a
software project's success. In order to effectively manage early risks and possible roadblocks that
may arise at different stages of the SDLC process, strategies for doing so must be identified,
evaluated, and implemented while continuing to monitor risks.

FIG: Software Development Lifecycle Model (SDLC)

To handle specific risks that emerge during the SDLC process, software development businesses
employ a variety of risk management techniques. We'll talk about the several hazards that might
arise during the SDLC before moving on.

12
Software development lifecycles

Risk Management's Significance throughout the Software Development Lifecycle

Let's first evaluate the relevance of risk management in the field of software engineering.
Software development is a complicated process with many unsolved issues. Companies need to
be aware of these dangers and equipped to reduce them. Through the software development
lifecycle's (SDL) risk management.

For software engineers or software development services organizations, software project risk
management is crucial for the following reasons:

Reduced costs: Software development risks may undoubtedly lead to project failures, reworks,
and delays—all of which can be costly for businesses. By doing preventative risk evaluation in
the early stages of the project, project managers may save additional development expenses and
finish the work within budget.

Project Success: Using risk evaluation in advance engineering is one of the most crucial ways to
make sure a project stays within its allocated budget, timeline, and quality criteria. Through early
risk assessment and reduction, project managers can ensure the successful completion of their
projects.

Improve Quality: Your project's quality will improve on its own as soon as the team takes up
the risks. Since we will be addressing one of the biggest challenges beforehand, there won't be
any issues with quality.

Increase Customer Satisfaction: Software engineering risk management could ultimately result
in an improvement in both software quality and customer satisfaction. By controlling risks,
project managers may proactively make sure the software solution satisfies customer needs and
expectations.

Enhanced Team Morale: Project managers may lower stress and provide team members a sense
of security by proactively reducing hazards. Project teams may experience anxiety and
uncertainty due to risks.

13
Software development lifecycles

Forms of risks during the lifecycle of software development

Identifying the many risks that might arise during the software development lifecycle is crucial
for managing risk assessments in software engineering. Every kind of risk necessitates a different
method and plan. There are primarily two kinds of risks:

 Technical risks
 Project risks

Technical Risks

The technologies and techniques utilized in the software development process are connected to
these concerns. Compatibility problems, performance snags, security flaws, and difficulties
integrating new technology are a few examples.

Dependency Risks: Dependency hazards are associated with depending on other people or
elements, such vendors, third-party APIs, or other systems. Problems or failures with these
dependencies may impact the functioning and development of the project.

Quality risks: These risks are associated with the possibility of errors, malfunctions, or
problems with the software product's usability. Quality hazards are a result of inadequate testing,
subpar code, or inefficient quality assurance procedures.

Security risks: These are threats and weaknesses that might allow the software program's
security to be compromised. These dangers might include improper encryption techniques,
unwanted access, and data breaches.

Performance risks: These risks draw attention to instances in which the program performs
below par, including lengthy loading times, outages, and crashes.

14
Software development lifecycles

Project Risks

All of the problems that result from ambiguities or uncertainties in project management are
included in the project risks. This might result in changes in user demands, inadequate
specifications, or scope creep, all of which would affect the project's budget, schedule, and
deliverables.

Resource Risks: These are risks associated with the availability and distribution of equipment,
personnel, and other essential resources. These hazards might lead to insufficient knowledge,
delays, or a lack of resources.

Schedule risks: Project deadlines and timelines are linked to schedule hazards. Unexpected
complications, reliance on other sources, or deliverables' delays can all affect how quickly a
software project moves forward.

Cost Risks: Cost risks are those that might result in budgetary deviations from the project.
Underestimating costs, cost overruns, requirement modifications, or outside economic variables
can all result in these hazards.

Communication risks: Communication failures involving team members, external parties, or


project stakeholders are known as communication hazards. Decision-making can be impacted by
misunderstandings and unclear communication, which can result in misalignment.

Managing Risk During the Software Development Life Cycle

Software success depends on completing the seven phases of the software development life
cycle. Similarly, the delivery of high-quality software products depends on risk management

Identification and Prioritization of Risks

First, include stakeholders, members of the development team, and subject matter experts in
identifying possible risks associated with software development. To record hazards that have
been recognized and their descriptions, create a risk register. After that, use both qualitative and
quantitative techniques to assess the possibility and effect of each risk that has been identified. In
order to lessen risk adversity on the project, it also assists in ranking risks according to their
seriousness and possible influence on the software project.

15
Software development lifecycles

Planning for Risk Mitigation

Develop plans to reduce hazards that are of the utmost importance. These tactics may consist of
risk transfer, mitigation, evaluation, acceptance, and contingency planning. In the event that
software development is contracted out and a team is assembled, each risk is allocated to a
designated team member in order to guarantee responsibility.

Risk Assessment and Management

During the whole SDLC process, it is important to keep an eye on the risks that have been
identified. Maintain a close eye on the risk register and update it with the most recent data to
assess the effectiveness of risk management techniques. Later, as the project develops and new
risks emerge, evaluate and modify your risk mitigation plans to make sure the impact of risk is
minimized.

Record-keeping for Risk Management

It is very beneficial to keep thorough records of all software development risk management
procedures, including risk assessments, mitigation strategies, and their results. Future projects
can benefit from improved risk management techniques thanks to the lessons acquired from
previous ones.

Interaction and Documentation

Ensuring that all parties involved are in agreement regarding the risks that have been identified
and their current state requires open communication. Thus, report on project sponsors,
management, and other stakeholders on a regular basis on the status of your efforts to mitigate
software development risk.

Quality Control and Testing

In-depth testing is done to find and fix software bugs early on, lowering the possibility of serious
problems developing later in the software development life cycle. Adopting strong quality
assurance procedures guarantees that software complies with necessary requirements and
standards.

16
Software development lifecycles

Emergency Preparedness

It is crucial to create backup strategies in case high-impact software development risks


materialize despite mitigating measures. It's a good idea to have backup plans in case certain
threats come to pass.

In a brief

Businesses may avoid the difficulties that arise after software launches by taking risk
management seriously, which is an integral element of the software development life cycle. If
you're still not convinced, the blog offers a reasonable explanation of the significance of risk
management along with techniques for identifying hazards and a seven-step procedure for
managing risks in software development.

Consider a proactive and systematic approach to risk management to lower uncertainty, increase
project success rates, and deliver software on time and under budget. Use risk management to get
through every challenge in the software development life cycle.

17
Software development lifecycles

Explaining the purpose of a feasibility report

Feasibility Study

A feasibility study is an extensive analysis that considers all relevant factors related to a
proposed project in order to evaluate the project's likelihood of success.

 Helps the company decide whether to move on with the project or not.
 Determines which significant project risks need to be controlled in order for the project to
be authorized.
 The purpose of the feasibility study is to evaluate the proposed system's capacity to
function, fulfill user needs, make efficient use of available resources, and, of course, be
cost-effective.
 This fall within the following categories: social, schedule, technological, operational, and
economical.

Types of statements on the feasibility

1. Technical Feasibility
2. Economic Feasibility
3. Legal Feasibility
4. Operational Feasibility
5. Scheduling Feasibility

18
Software development lifecycles

Technical Feasibility

An evaluation of the company's capacity to supply specific tools, assistance, and knowledge to
make the product a reality is known as a technical feasibility analysis. It is important to consider
three factors:

 Project size: Project size is determined by two factors: the size of the crew and the length
of the project. The project's size increases with the number of participants and duration.
 Project structure: New enterprises are less exposed to risk when their project structure
is precisely specified. Each member of the team should be aware of their responsibilities,
goals, and methods for completing tasks.
 Technology familiarity: Every team member taking part in the development process has
to be knowledgeable with the technology. It will take longer to build a solid development
process if it is relatively new.

Scalability of a technological stack is another important factor to take into account. During the
MVP development stage, a straightforward tech stack is frequently selected. But as time goes on,
this tech stack could get in the way of implementing new tools and developing your project
further. As the company expands, make sure your team is prepared to scale the technology.

Economic Feasibility

An examination of the project's economic viability indicates if it will result in revenue gains, cost
reductions, or other financial advantages. It is divided into many sections:

Cost analysis: The expenses of the project have been thoroughly examined. Everything from
insurance to hardware should be taken into account. At this point, it's critical to consider
potential hazards and factor in the cost of prevention.

Finding the worth in the future: This section focuses on demonstrating the economic viability
of a project by utilizing measures such as Net Present worth (NPV), Internal Rate of Return
(IRR), Return on Investment (ROI), Payback Period (PP), and Profitability Index (PI) to estimate
the project's future worth. They have all demonstrated their effectiveness and are able to discuss
the project's potential while taking various factors into consideration.

19
Software development lifecycles

Break-even analysis: This study determines when the project's advantages will equal its
disadvantages. Stated differently, it determines the point at which your project will begin to
generate profits.

Legal feasibility

Legal viability necessitates that the project abide by all applicable laws. Prior to the project
commencing, take into account local and target market compliance standards.

It is imperative that you create your project adhering to all applicable rules, regulations,
standards, and norms within your particular business. For instance, in the US, HIPAA
compliance is required for any product relating to healthcare or medications. Likewise, the
GDPR needs to be considered for any project processing the personal data of EU citizens. Make
sure you review all criteria connected to the sector. It will take considerably more time and
money to comply with regulations if you have to make adjustments after your product is
established.

Operational feasibility

Operational viability demonstrates how the project satisfies an organization's demands and
achieves its objectives. The project ought to benefit the firm and capitalize on business prospects.
Any product developed by Meta Corporation, such as Instagram, Portal, or Nova, for instance,
must support the objectives of its parent company's business.

Additionally, an operational feasibility analysis aids in the early planning stages of process
definition. All interactions and procedures, including working with outside contractors and other
third-party suppliers, should be estimated and defined. When you have a complete view, you can
identify process flaws and choose the best way to shorten the development time.

Scheduling feasibility

Operational feasibility is the foundation for scheduling feasibility. It will be much simpler to
recognize when you reach a desired point or milestone if you have a clear understanding of what
you're doing and how you're doing it.

20
Software development lifecycles

The duration of a project is one of the most important variables in determining its overall
viability. Deadlines and time constraints should align with the objectives of the company. The
longer it takes to build a product, the less valuable it becomes.

The feasibility report's objective

- A feasibility study's objective is to evaluate a possible project's viability.

- From the feasibility study, a feasibility report is created.

- Senior management is provided with it to decide if the idea has enough worth to move forward
into further in-depth stages.

- Business Case's development is aided by the outcomes of this phase.

- If management finds the system proposal acceptable, the system's viability will be investigated.

- In essence, the feasibility study tests the proposed system's capacity to function, fulfill user
needs, make efficient use of available resources, and, of course, be cost-effective. -Technical,
operational, economic, scheduling, and social feasibility are the categories under which they fall.
Reaching the scope is the primary objective of a feasibility study, not solving the issue. The
Return on Investment (ROI) is calculated during the feasibility study phase by more precisely
estimating the costs and benefits. Additionally, it outlines the resources required to do the in-
depth analysis.

- A feasibility report is the result and is forwarded to managers.

- That might get recognize with modifications, rejected, or accepted neither.

21
Software development lifecycles

Describing how technical solutions can be compared

It's crucial to weigh a variety of aspects when evaluating technological solutions to ascertain
which one is best suited for a certain issue or need. When comparing technical solutions, keep
the following important factors in mind:

 Functionality: Analyze the features and characteristics of each solution to ensure that
they're able to meet the minimum requirements. Consider whether the approach in
question has every characteristic you want and whether it can be easily extended or
customized.
 Accessibility: Determine if the setup can accommodate future growth or handle rising
demands by assessing its scalability. Considering factors such as the ability to handle
large amounts of data, support several users at the same time, and interact with other
systems.
 Achievement: Evaluate the speed of the execution, response time, and resource
consumption of each solution. Consider factors such as speed of processing, memory use,
network bandwidth, and database performance.
 Dependability: Analyse the accessibility and reliability of each option. Consider factors
like tolerance for faults, backup and recovery protocols, and the ability to tolerate errors
gracefully. Look for alternatives that have an established performance record and have
been reinforced by a reliable vendor or community..
 Safety: Take notice of the security measures and characteristics of each solution. Think
about factors such as data encryption, access control, authentication techniques, and
compliance with legal and industry requirements.
 Convenience in Apply: Consider how easy and user-friendly a solution is to use. The
ease of use of the user interface, the accessibility of documentation and support
resources, and the time required for users to become proficient with the solution are all
taken into account.
 Expense: Determine each solution's total cost of ownership by figuring in all upfront
costs, periodic upkeep and assistance fees, and additional expenses for modification or
certification. Consider the advantages that each solution delivers vs the price tag.

22
Software development lifecycles

 Coordination: Evaluate how easy it is to work together with technological devices and
systems in use today. Consider factors such as how well the solution integrates with the
existing ecosystem, how much time it will take to put together it, and how easily
accessible APIs and connectors are.

You may successfully evaluate technological solutions and make an educated selection based
on the particular demands and requirements of your project or business by taking these
variables into account and doing a comprehensive review.

23
Software development lifecycles

Investigating software to satisfy demands in the workplace.

The firm Enosis Solutions provides software. They just received a request to create an ERP
software for the upscale men's apparel company Illiyeen. Accounting, sales, inventory, HR, and
other functions will all be included in the ERP software. Since Illiyeen wants to manage all ten
of its stores under one roof and has ten locations in Bangladesh, they wish to employ the ERP
software.

Illiyeen requires the ERP program for the reasons listed below:

Centralized data management:

Illiyeen will be able to use a centralized system for managing data thanks to ERP software. The
firm will benefit from having the ability to store and analyze data related to daily operations,
including inventories, sales, accounting, and human resources. There would be less opportunities
for error and Illiyeen can manage their business effectively. For instance, the workers at the
Chittagong outlet enter data into the database whenever fresh merchandise arrives. And the
owner may verify whether or not the package is good.

Visibility among all locations:

By using an ERP system, Illiyeen is able to get up-to-date information on the activities at each of
its 10 locations. They may utilize the data to identify areas which need improvement and to make
more educated decisions about things like labor size and inventory distribution.

Evaluating the sales:

Illiyeen is a high-end apparel business; therefore they probably wish to look over their sales.
Monitoring sales and evaluating data for upcoming decision-making processes represent difficult
tasks. Ten outlets' worth of data may be stored simultaneously by an ERP program. We can
readily examine data if we can utilize it in additional tools, such Microsoft Power BI.

Increasing cooperation:

ERP software can help with employee collaboration as well as interaction between the ten
outlets. This might lead to an increase in both sales efficiency and customer service.
24
Software development lifecycles

These are the main requirements of an organization such as Illiyeen, which may be satisfied by
an enterprise resource planning (ERP) system designed by Enosis Solutions.

25
Software development lifecycles

Via software methods for evaluation and producing software investigating documents

Equipment and techniques such as:

Entities along with data stores:

Data stores are electronic repositories where computer system data and information are stored.
Data stores include things like virtual storage, network-connected storage, traditional hard drives,
and distributed cloud storage. Common data storage include relational databases, for instance.
Tools for data storage include PostgreSQL, MySQL, Oracle Database, and others.

An abstraction from the actual physical implementation of database tables is called a data entity.
In example, most of the data for each customer in a customer table is found in normalized tables;
the rest is scattered across multiple related tables. Google Analytics, Amazon S3, Google Cloud
Storage, Microsoft Azure etcetera are some popular data lakes to utilize data entity.

The data Flows:

Data pipelines are the procedures and equipment used in data flow systems to transfer data
between various applications and systems. A few well-liked tools for data pipelines include
Apache NiFi, Prefect, and Airflow.

We use data integration technologies to combine data from multiple sources into a single,
coherent image. A few popular tools for data pipelines are Airflow, Prefect, and Apache NiFi
Among the frequently used data integration tools are Informatica PowerCenter, Talend Open
Studio, and IBM Data Stage.

Records linked to software evaluation

Introductory

A software firm titled Enosis Solutions is designing an ERP program for a high-end menswear
brand called Illiyeen. To construct an investigative document, we examine the background data,
problem statements, data gathering procedure and summary, suggestions, and appendices.

26
Software development lifecycles

Relevant Data:

With the aid of Facebook, Illiyeen launched their company and quickly gained recognition as a
high-end apparel line. Then, they grow their company by opening ten stores in Bangladesh. They
recognized the need for a centralized management program for collecting, conserving, and
analyzing real-time data after growing the outlets into ten distinct locations. To help Illiyeen with
her issue, Enosis steps in and offers ERP (Enterprise Resource Planning) software. Additionally,
an ERP system will boost financial viability, staff fulfillment, and customer service.

Trouble Overview:

Inefficiencies exist in Illiyeen's operational tasks, including customer service, sales monitoring,
and inventory management. As a result of their uneven services, their customers' contentment is
at stake. The lack of central management also irritates staff members whenever assisting
consumers, reducing output. Most significantly, Illiyeen's dispersed data among the ten outlets
prevents them from making future judgments.

Procedure for Gathering Data:

Data may be gathered by an ERP system using the below procedure:

 Integrating a Point of Sale (POS) system throughout the three retail locations of Illiyeen.
 When workers engage with consumers, they may offer valuable information.
 Getting information from social media interactions and website sales.
 Comments from customers, ratings, and suggestions.

Information overview:

Once the data is gathered, we may use state's KPIs (key performance indicators), and visual
dashboards in our ERP software to summarize it. It will be possible for an ERP program to
display data on a weekly, monthly, or annual basis. Illiyeen will greatly benefit from being able
to recognize patterns, developments, and customer behavior.

27
Software development lifecycles

Proposals:

Enosis advises Illiyeen to put in place a cloud-based ERP system. Illiyeen ERP system may be
integrated with their present configuration. Enosis also suggests that Illiyeen provide its
employees access to training resources for the ERP system.

Addenda:

The POS receipt that is displayed below can be used to gather data on customers for further
research. Figure: POS machine receipt

Figure: POS machine receipt

28
Software development lifecycles

Discussed, using examples suitability of software behavioral design strategy

A group of strategies known as software behavioral design approaches make use of design
principles and psychology to affect how users interact with software. These methods can boost
interest, hold onto information longer, and promote particular behaviors. They provide
standardized answers to common object and class interaction design issues, assisting developers
in producing modular, maintainable, and scalable software. An ethical framework for
comprehending and methodically altering human behaviors in real-world and virtual contexts is
known as behavioral design. It impacts human behavior, aids in the understanding of client
behavior, and advances corporate objectives.

The main goal of software behavioral design techniques is to develop the functionality or
behavior of a software system. They help define how different events and inputs should make the
software behave. A few often used software behavioral design techniques are as follows:

1. :Flowcharts.
2. Pseudo code.
3. Formal techniques for specification.
4. A finite state apparatus.

(1) Flowcharts: A flowchart is a visual aid that shows the steps involved in a procedure. It may
also be used to explain a symbol-representation algorithm. The flowchart illustrates the
procedure step-by-step.

Flow charts have the following applications:

a) They can be helpful when planning a new project.


b) The operation is frequently recorded using it.
c) It facilitates workflow control over data
d) Assist in the mapping of algorithms used in programming.

(2) Pseudo code: Pseudo code is the process of elucidating an algorithm or computer program.
Rather from being utilized for machine comprehension, it is used for human interpretation. Each

29
Software development lifecycles

application includes concise statements and codes in it. In programming design, it functions as a
model.

Now, pseudo code is used for the following purposes:

a) Creating natural language since the language is autonomous;


b) Simplifying the process in comparison to a flow chart; and
c) Making it simple to translate from pseudo code back to the real code.
d) It is simple for programmers to understand.

The example of pseudo codes is:

 Start Program
 Enter two numbers, A, B
 Add the numbers A, B together
 Print Sum
 End Program

(3) Formal specification methods: This is the process by which languages decide their syntax
and other meanings. It is frequently employed to specify the characteristics of the constructions.
Formal specification approaches are useful for the following reasons:

a) It makes app and architecture specs easier to understand.


b) It facilitates the mechanism's improvement and debugging.
c) It serves as a resource for ideal test scenarios.
d) The study of statistical procedures is one of its occasional uses.

The following is an illustration of the formal specification method:

The ideal illustration of a formal specification system is provided by Z.

(4) Finite state machine: A finite state machine is a model that uses both software and hardware
models to execute programs. It is made up of states and common languages that are used to
characterize language flow. Numerous fields, including mathematics, artificial intelligence, and

30
Software development lifecycles

other sports, exhibit this. The traffic lights at a crosswalk are an example of a finite state
machine.

Bibliography
Course Hero. (2020, 01 05). P3 explain the purpose of a feasibility report 1. Retrieved 02 15, 2024, from
coursehero: https://www.coursehero.com/file/pivqbt/P3-Explain-the-purpose-of-a-feasibility-
report-1-Definition-Guides-the/

Govardhan2, N. M. (2010). A Comparison Between Five Models Of Software Engineering. IJCSI


International Journal of Computer Science Issues.

Rastogi, V. ( 2015). Software Development Life Cycle Models. (IJCSIT) International Journal of Computer
Science and Information Technologies.

studocu. (2023, 12). Describe how technical solutions can be compared. Retrieved 02 15, 2024, from
studocu: https://www.studocu.com/row/messages/question/4564906/describe-how-technical-
solutions-can-be-compared

31

You might also like