You are on page 1of 56

PROGRAM TITLE: SOFTWARE DEVELOPMENT LIFE CYCLE

UNIT TITLE: SOFTWARE DEVELOPMENT LIFE CYCLE

ASSIGNMENT NUMBER: 2

ASSIGNMENT NAME: ASSIGNMENT 2

SUBMISSION DATE: 07/07/2022

DATE RECEIVED: June 23, 2022

TUTORIAL LECTURER: PHAM SON TUNG

WORD COUNT: 15320

STUDENT NAME: NGUYEN MINH DUC

STUDENT ID: BKC12348

MOBILE NUMBER: 0904078692


Contents
I, Introduction : 5
II, Implementation of software development life cycle 5
A , Perform software investigation to meet business needs. 5
1, Customer's request 5
2, Table of questions that can be used: 7
3, Summary of customer's project requirements: 7
4, Functional requirements: 8
5, Non-Functional Requirements: 8
6, Hardware Requirements: 8
7, Project cost: 9
B , The Appropriate software analysis tools/techniques are implemented to Investigate software and
create supporting documentation. ten
1 , Related parties: 10
2, Software range: 11
3 , Data Flow Diagram : 15
4, Entity Relationship Diagram: 18
C , Analyze how software requirements can be tracked throughout the software lifecycle. 19
1, Software requirements: 19
2, Software requirements can be tracked: 21
D , Hai approach to improve software quality : 23
1 , Software quality : 23
E , Evaluate the process of performing a systematic investigation in relation to its effectiveness in
improving software quality. 27
1 , Functional design model : 27
III , Discuss using examples of appropriateness of software behavior design techniques 28
A , Explain how to address user and software requirements. 28
1 , User Requirement : 28
2 , Functions in the software system and interface images illustrating that function : 30
3 , The software, tools and techniques we use in the software system development process include:
39
B , Analysis of a variety of software behavior tools and techniques. 42
1 , Software behavior : 42
2 , Software behavior engineering : 43
3, Two methods of software behavior specification: 43
C , Distinguish between a finite state machine (FSM) and an extended FSM, applications of both.
forty six
1 , Finite workstation : 46
2, Extended Finite State Machine: 48
D , Explain how data-driven software can improve its reliability and efficiency 49
1 , Data-oriented software : 49
2, How to improve the above components: 51
REFERENCE: 53
Summative Feedback:
You need to repeat your assignment since it did not match the requirements.
You have met the following criteria: P5, P7

Strength:
 Presented functional and non-functional requirements of the software.
 Presented level 1 DFD.
 Evaluated whether the software has met user requirements.
 Presented interface images illustrating the functionality of the software.

Weaknesses:
 List of False Stakehlders.
 Analysis of functions in "Input, Output, Process Descriptor" is not exactly the same
as the functional requirement analyzed above.
 DFD level 0 is not for "Clothes Store" software.
 ERD is wrong.

How to improve:
 Need to edit the list of Stakeholders. Stakeholders should be direct users of the
software.
 The functions analyzed in "Input, Output, Process Descriptor" should be all
functions presented in "functional requirements".
 DFD level 0 must be from the "Clothes Store" software.
 The relationship of the entities in the ERD must be revised properly.

Grade: Fail
Date: 13/07/2022
Assessor: Pham Son Tung

Internal verification:
I, Introduction :

Your company receives a new project, the customer wants to "build and develop a
website for a clothing store". You are trusted by management, tasked with first meeting with
customers and communicating scope and constraints, as well as gathering and analyzing
customer requirements.

● First step: meet with client, discuss project feasibility including technical, operational
and economic feasibility.
● Second step: collect software requirements, functional requirements, non-functional
requirements and domain requirements. In this section, you need to ask the right
questions to gather information from the client, the group work request will be made,
but the report will be individual.
● The third step: after clarifying the requirements will come the requirement analysis
step. You need to use system analysis tools: storage, data flow diagram, entity
relationship diagram (ERD). Provides a discussion of software behavior design
techniques, applicable to this project…

II, Implementation of the software development lifecycle

A , Perform software investigation to meet business needs.

1, Customer's request

Customers have certain needs and requirements for the system and they need to
establish a relationship between the organization and the customer. The project cannot be
moved forward without a clear understanding of the client's requirements and the success of
the project depends entirely on meeting the individual needs of the client. Each customer
may have different requirements for the software they want and identifying the customer's
requirements is really important and will help us complete the software development.

To be able to collect information about customer requirements, we need to use the


following methods and techniques:

STT Name of the method Definition


first Observe A method of using observational techniques to
leverage and evaluate data through observation
and professional teaching or work
environments for the purpose of determining
how requirements, growth potential, or a
business methodology, establish and evaluate
the effectiveness of the proposal, recommend
and deliver the highest quality alternatives for
design development.
2 Interview The method of questioning the selected topics
is an information gathering technique. This is
the only way to know customer opinions and
plans. But there are also certain disadvantages
to the interview method. However, this method
can be time-consuming, costly and sometimes
the data collected is incomplete and requires
the interviewer to have some expertise or
operating environment.
Today, many interviewing techniques are
available, for example individual surveys,
group surveys, network and courier surveys.
3 Table of questions Is a method of creating a survey, then sending it
to many individuals, then using these responses
to analyze and evaluate information, using
questions to assess their level of agreement.
You must ensure that those who respond to
your questionnaire answer responsibly,
seriously, and not randomly. If too many people
harass, the data you collect will be nothing
more than a pile of waste and bad results.
To meet the needs of the project, I used questionnaire method and interview
technique.

2, Table of questions that can be used:

STT Question name


first Project start time?
2 Project implementation time?
3 Expected budget?
4 Requirements for Back-end, Front-end?
5 Risks during project implementation?
6 Additional requirements during project implementation?
7 Payment method for the project?
8 Benefits of the project implementer?

After implementing the methods and techniques can synthesize information about
customer requirements.

3, Summary of customer's project requirements:

Customer's request:

● Environmental friendliness
● Store and retrieve data quickly
● High system loading speed
● Operating system Windows, MAC OS, Linux,...
● Simple interface design, easy to use
● Support many types of web browsers: Chrome, Safari,...

Customer software requirements:

● Separate login functionality for admins, employees and customers


● Store full customer information
● Online purchase and order function
● Provide service 24/24
● Contact the store staff directly

4, Functional requirements:

In software development and systems engineering, functional specifications are the


desired behavior of a program or system. In systems engineering, the system can is a
software electronic hardware or a mixture of software and hardware. Customer functional
requirements in our project include:

● Is a website specializing in selling new life clothing products


● Users accessing the website can view and search for products and need to have their
own user account to be able to buy and order online
● After viewing the product details through the illustrations, the user can click the
purchase button to automatically add the product to the cart.
● Users can manipulate their shopping cart to increase, decrease or delete unsatisfactory
products in their cart easily.
● After finding the product you like, the user can click the checkout button to complete
the order
● User can view his order details and order history
● Users can communicate and contact the store's staff directly through the store contact
section
5, Non-functional requirements:

System attributes such as protection, reliability, efficiency, maintainability, Scalability


and usability are regulated by non-functional requirements (NFRs). They act as constraints or
limitations to the system's architecture through other backlogs together. Non-functional
specifications, also known as device quality, are also essential like Epics, Abilities, Features
and Functional Stories. They ensure that the entire system efficient operation. Not meeting
any of them could lead to the system does not meet the internal needs of the company,
consumer, or market, or does not meet the specifications required by regulations or standards
agencies . The client's non-functional requirements in our project include mainly software
system security issues.

6, Hardware requirements:
In designing an application, the equipment cost is very high because the system works
efficiently when it meets the requirements of the device. The software system is developed
for hardware such as Personal computers, laptops and mobile devices (Android, IOS,...).
Here are the hardware requirements for the system software we've come up with:

Operating system Windows 7, 8, 10, 11 or Mac OS X 10.3.8,


Ubuntu
Processor speed Minimum Pentium 4, 3.2 GHz or Power PC
G5, 2.5 GHz
RAM 8 GB or preferably 16 GB or more

Hard disk capacity 32GB available but will be best with 64GB
or more, need at least 4GB Smash and at
least 2GB demo card
I/O ports USB, Fire wire, Serial, Parallel, SCSI,
VGA, DVI ports
Graphics card Video Memory ATI Radeon 9800 w / 256
MB

7, Project cost:

Cost is the most important thing to calculate when structuring creativity of any kind,
no matter how trivial or small. Costs include many different things, such as: resources, labor
rates for contractors, risk estimates, bill of materials, etc. All aspects of a project have a
money component. form part of the overall cost structure. The cost requirement is the
fundamental element that underlies the main task of product planning. Here is an estimate of
how much money will be required to complete the project:

Development planning and requirements 10,000,000 VND


documentation
Hardware 100,000,000 VND
Development tools and techniques VND 20,000,000
System testing 15,000,000 VND
System design and analysis VND 20,000,000

B , The Appropriate software analysis tools/techniques are implemented to Investigate


software and create supporting documentation.

1 , Related parties:

A stakeholder is an individual, group, or organization that is affected by the outcome


of a project. They care about the success of the project and may be inside or outside the
organization that is funding the project. The key stakeholders in a typical company are the
investor's employees, customers, and suppliers. private equity, a party that has an interest in
the company and can influence or be affected by the business. However, with increasing
attention on corporate social responsibility, the concept has been expanded to include
communities, governments, associations. There are many people involved in the execution of
a project from inception to successful completion. We will have to know how to manage each
and every person, including those who do not work directly under us. One of such people is
the stakeholder of the project. Stakeholder and community involvement can have a positive
or negative effect on the project.

Identifying project stakeholders is important because the success of the project


depends on it. We must find and satisfy the requirements of our stakeholders as soon as our
project starts. We can identify our stakeholders by reviewing the project charter, rationale,
and appointing a project manager. We can also differentiate stakeholders with information
about audiences, budgets, assumptions and constraints, project sponsors, and top
management's schedule. Project stakeholders include:

STT Related parties Define


first Client Investor, person who orders to build,
implement, manage a project. The customers of
the project product are the users of the products
created by the project. The customer can be an
authorized person, organization or collective in
case the project is funded from the State
budget.
2 Project recipient An authorized party based on the requirements
of customers to implement projects to satisfy
their needs. Throughout the project
management process from initiation, planning,
implementation to completion, the delegate
always plays a leading role. Therefore, the
capacity and qualities of the authorized person
will directly affect the quality of the project.
Choosing a good project manager is an
important factor to improve the quality of the
project.
3 supplier To be responsible for providing the main
materials, equipment and machinery for the
project, or for the subcontracts for the project,
to perform all the terms agreed in the contract
on the principle of: quality, quantity, type and
synchronization; ensure on schedule (suitable
for delivery time and form).
4 Funding organizations Including banks, financial institutions, credit
funds, investment and development funds,
insurance...
5 State management agencies To unify the investment process and ensure that
related to the project the project has a purpose, has practical
socio-economic significance, is suitable for the
scale and development of the country, and at
the same time ensures that the investment is
managed. , supervised in a comprehensive and
scientific manner, it is necessary to have the
management of the State, which is represented
by state management agencies. The State
manages the project through development
planning, system of policies, laws...

2, Software scope:

The software scope clearly defines all functions, activities and artifacts to be
performed. It describes the functions and features that will be made available to the end
users. The software developed by us will be used by businesses to trade, promote clothing
products, store customer information, etc. Below is a table that defines the output and input
of the functions included in the application. Our system:

Customer 1, Register as a member:


+ Input: Visitors must enter the following information:
Last Name
Email
Password
Confirm password
Phone number
Address
+ Process: Check input information. If successful, the information
will be saved to the database.
+ Output: Give a successful registration message or ask to re-enter
if the information is not valid
2, Product search:
+ Input: Enter or select search information by Brand, by product
name, by brand, etc.
+ Process: Get product information from the database according to
the search fields.
+ Output: Show detailed product information based on the search
request.
3, View product details:
+ Description: Allows to see the detailed description of the
product
+ Input: Select the product to view.
+ Process: Get product information from the database through ID.
+ Output: Show detailed product information.
Member 1, Login:
+ Description: For members to login to the system.
+ Input: User enters information about username and password to
login.
+ Process: Check the username and password entered by the user
and compare with the username and password in the database.
+ Output: if it is correct, it will login and display a successful
login message, otherwise it will display the message "Email or
password does not match!"
2, Log out:
Description: Allows users to log out of the system when they no
longer need to use the system.
+ Input: User clicks on the exit button on the system.
+ Process: Delete session to save login information to stop the
session of Member account in the system.
+ Output: Return to the homepage and hide the ordering function.
3, Change personal information:
Description: Allows to change information.
+ Input: The user enters the customer profile page and presses the
update button to change.
+ Process: Check the information entered by the user. If true,
update the new information, otherwise not.
+ Output: Display a success message if the information entered is
correct or display a message asking for re-entering if the
information is incorrect.
4, Shopping cart:
+ Description: Allows viewing cart details.
+ Input: Click on the cart.
+ Process: Get product information from the database through ID.
This ID is taken from the session variable that stores information
about the product code and quantity of each product that the
customer chooses to add to the cart.
+ Output: Display product name, photo, unit price, quantity,
amount, total amount of the product.
5, Order:
+ Description: Currently can only allow members of the ordering
system.
+ Input: After viewing the cart, the customer can press the order
button and then the page will go to order confirmation, click on
the order so that the administrator can receive information and
deliver the goods as quickly as possible. maybe.
+ Process: Circulate the order invoice to the table in the database.
+ Output: Give notice that the order has been successfully ordered
and the current status of the order.
6, View the invoice has been made:
+ Description: Allows Member to view their purchase invoices.
+ Input: Click to select the order placed on the homepage.
+ Process: Call the page to display the order information placed.
+ Output: Display information of ordered products.
Administrator 1, Edit product information:
+ Description: Help Admin change the information of the product
already in the database.
+ Input: Admin enters new product information.
+ Process: Update new information for the product.
+ Output: Display the product update notification.
2, Delete products:
+ Description: Help Admin can delete the product.
+ Input: Select the product to be deleted.
+ Process: Delete in the database.
+ Output: Reload the product list.
3, More products:
+ Description: Help Admin can add new products.
+ Input: Admin enters the necessary information of the new
product.
Process: Check which fields cannot be left blank. If all match then
add to database. Otherwise, do not add to the database.
+ Output: Reload the product list to see new products added to the
database.
4, View order invoice information:
+ Description: View details of the order in the database.
+ Input: Select the invoice name of that invoice.
+ Process: Get all the details of the order in the database.
+ Output: Display detailed information in the order.

3 , Data flow diagram :

Data Flow Diagram in English is a Data Flow Diagram, abbreviated as DFD, is a


system model that is proportional to both data and progress. It shows how information is
transported from one process or function in the system to another process or function.

It uses defined symbols such as rectangles, circles and arrows, plus short text labels,
to display input data, output data, save points, and routes between each destination.

DFD mainly focuses on the flow of information in the system, where the data comes
from, where the data goes and how it is stored. in the database. In addition to the data flow in
the system , there is also the information flow represented by different symbols such as
rectangles, arrows and circles.
The hierarchical levels in the data flow diagram include:

Context diagram: This is the top-level diagram with only a single process, actors, and
data flows (no datastore). This diagram gives an overview of the system in the environment
in which it exists.

● Context Diagrams: Also known as top level diagrams. The distribution diagram gives
the best overview of the network of systems in nature and its existing environment. In
this Lever, the context diagram has only one process, actors and data flows have no
datastore.
● The level 0 diagram is a decomposition diagram from the context diagram that helps
describe the system in more detail with the processes presented as the main functional
items of the system.
● The i level diagram (i >= 1) is the diagram decomposed from the i-1 level diagram.
Each later-level decomposition diagram is a detail of a previous-level process. The
decomposition will stop when the primary data flow diagram is reached (when a
process is a simple computation or data manipulation, when each data stream does not
need to be further subdivided.

Level 0 data flow diagram in our software system:

Data flow diagram level 1 in our software system:


4, Entity relationship diagram:

Entity-relationship diagram (ERD) is a data modeling technique that graphically


illustrates the entities of an information system and the relationships between those entities.
The elements used to draw ER diagrams are attributes, entities, and the relationships between
them. This diagram helps us to represent the relationship between entity and attributes, and
shows how entities are directly related to properties and how they relate to the system. The
elements used to draw ER diagrams are attributes, entities, and the relationships between
them. Below is a picture showing the entity relationship diagram (ERD) of our software
system:
C , Analyze how software requirements can be tracked throughout the software lifecycle.

1, Software requirements:

Descriptions of the functions of a target system in such a way that it meets user
requirements from the software product . The service requirements must provide for the full
constraints on which the software system must operate. Requirements can be explicit or
implicit, known or unknown, expected or unexpected from the customer's point of view . Or
it could be high-level abstraction statements of services or system constraints to detailed
mathematical functional specifications. We should try to understand what types of
requirements may arise during the requirements phase and what types of requirements are
expected from the software system.

In addition to defining all software requirements early in the development phase, we


can however track and develop software requirements throughout the life of the software.
After defining the software requirements, the next thing is to prioritize those requirements
based on customer needs and deploy them on the system to make the job easy. than.
We can completely use development models of interfaces without requiring detailed
functions in the process of communicating with customers to easily describe the functions of
the software to them. Doing this can make it easier for us to make better development
opinions about the system software

We can track software requirements throughout the lifecycle of the software from the
initial planning stage to the final maintenance phase when the system is replaced with new
software. The first step of the software life cycle creates a high-level overview of the
requirements related to the project and the scope of the software. It is very important for
software requirements during software development.

In the next phase of the software life cycle i.e. analysis the development team visits
the users and studies their system. They investigate development needs in certain systems. At
the conclusion of the feasibility study, the team will provide a document containing various
specific recommendations for the candidate system. It also includes staffing assignments,
costs, project schedule, and target dates. The requirements gathering process is enhanced
with a special focus on the software. To understand the nature of the programs to be built, a
system developer must understand the information area for the software, as well as its
required functionality, behavior, performance, and other systems with which it
communicates. . The team provides a document containing various specific recommendations
for the candidate system. It also includes staffing assignments, costs, project schedule, and
target dates.

The requirements gathering process is enhanced with a special focus on the software.
To understand the nature of the programs to be built, a system developer must understand the
information area for the software, as well as its required functionality, behavior, performance,
and other systems with which it communicates. . The team provides a document containing
various specific recommendations for the candidate system. It also includes staffing
assignments, costs, project schedule, and target dates. The requirements gathering process is
enhanced with a special focus on the software. To understand the nature of the programs to
be built, a system developer must understand the information area for the software, as well as
its required functionality, behavior, performance, and other systems with which it
communicates. .
The next step in the software life cycle is the design phase, where we can figure out
how the application will work to meet both the business needs and the user needs. Software
design can take many forms. There may be a wireframe that outlines the web screen or
mobile app. There may be a higher fidelity design or prototype where you can view or use a
model of the system complete with great graphics, fonts, and images. There may even be
very detailed specifications of the system's logic, workflow, or data. All of these documents
help describe on paper how the system will look and function. We may add new software
requirements to the software design during this phase. In the implementation section software
development requirements can be prioritized. According to the priority, software
development everything will be done. High-priority things will be done in the first place of
the software development phase. During the implementation, we can add other requirements
if needed for the software. Used models can also help us learn more about the requirements
at this stage.

During the requirements testing phase of the software life cycle, testing of the
software requirements is done to clarify whether the software requirements are feasible or not
in terms of time, resources and budget. This process improves the quality of the requirements
and reduces the number of tests required to meet these requirements. When testing the
system, we may also find out new additional requirements that we can add to the system. The
maintenance phase is the longest phase in the software lifecycle and the majority of software
requirements are added during this phase. After the new system comes to market then after a
certain period of time we have to add new features to the system by updating it and in this
way we can track the software requirements. That new soft. The model used to develop the
system also helps us figure out the requirements.

2, Software requirements can be tracked:

2.1 , Traceability

Traceability is the ability to track the lifecycle of a request (customer needs, user
stories) both forward and backward. It involves define requirements, capture those
requirements, and follow the links between requirements and other artifacts such as tasks,
testing and debugging, as well as other work items such as source code or distribution.
2.2, Benefits of traceability:

● Avoid information loss by capturing history. When a developer leaves your team, if
you don't follow the work, you will lose/ her knowledge of software creation.
Tracking project items through the development process helps future developers
understand software life.
● Facilitate process improvement. By understanding how you build software, you can
determine where your team is strong and difficult. So you can help them improve the
way they work.
● Tailor your growing market or customer needs to software in development. You can
rest assured that the software development teams that your company and partners
really need to compete with.
● Meet compliance with industry standards and regulations (Mature Modeling
Integration (CMMI), ITIL, ISO explicit). Providing test-ready software is a required
feature for managed products.

2 . 3 , Baseline

The baseline in project management is a well-defined starting point for your project
plan. This is a fixed reference point for measuring and Compare the progress of your project
with. This allows you to evaluate the performance of your project over time. Project baseline
typically has three components: schedule, cost, and scope. Typically, these three baselines are
tracked, monitored, and reported separately to ensure each path is on the right track. When
fully integrated, it can be referred to as the performance measurement baseline (PMB).
separately to ensure each path is on the right track. When fully integrated, it can be referred
to as the performance measurement baseline (PMB). compared with actual performance
results during Project Control and Monitoring.

● Schedule baseline: an approved version of the schedule model used as a basis for
comparison with actual performance results during Project Control and Monitoring.
An establishment's progress can only be changed through formal change control
procedures. The establishment schedule accepted and approved by the appropriate
stakeholders will have a start date and an end date for base.
● Cost Baseline: An approved version of the project budget at each point in time and
used as a basis for comparison with performance. actual activities during Project
Control and Monitoring. Facility costs and costs can only be changed through audit
procedures Formal change control.

2 . 4 , Change Management

Change the way management delivers solutions to any change in customer


requirements and analyze how the change affects them. project or not. cost, time, completion
schedule, feasibility of applied techniques and technology, and quality of the project. After
review and analysis, the project team will decide to accept or reject the change request from
the customer. Change Requirements analysis will look at the functionality, causes, feasibility,
cost and effectiveness of changing requirements.

2 . 5 , Requirement Management Tool

There are many requirements management tools that make the plan more likely to
succeed. Tools that will make the plan clearer and more detailed, easy to manage and
implement. Any tool has essential features like report generation, document editing, security,
control, traceability and real-time analysis, etc.

D , Hai Approach to improve software quality :

1 , Software quality :

Quality is understood as good or bad, durable or not durable, can be used for a long
time or not? For software, quality is the ability that it can meet the needs of the user. A
quality software needs to have all the following elements:

The extent to which the software product meets user requirements. That is, before
designing software, implementers must work with customers to clarify their requirements and
desires for their software.

The ability that the application can meet the needs of customers or users. This is the
customer is satisfied when using the software or not. However, to be able to evaluate the
quality of a software, customers need to be able to analyze, evaluate and comment.
1.1, Software quality evaluation criteria:

● Information security and data security :

Customer information and data are always extremely important assets for any company.
They need to be kept, not spread or leaked to the outside, so the security of this information
and data is extremely important.

Therefore, data security is extremely important, having an important influence on the


survival of a company or business. Therefore, choosing quality software that is established
and built with high security is what units need. For that reason, the ability to secure
information and data has become one of the important criteria in choosing a management
application.

● Integrating many features, supporting business management :

Currently, management support software is designed to integrate many preeminent


features to serve many different customer groups, from large customers to small consumers.
Therefore, you should pay attention to free software that does not have many useful features
to help support during use.

Just accept to spend a small amount of money, you can buy software or hire software
programming companies to design a quality product with all the features and utilities you
need. In addition, you should also learn about the scalability and upgradeability of that
software. This is an extremely important thing that you should find out before choosing. A
quality software will need to have all the basic features such as:

▪ Customer Information Management


▪ Make an appointment
▪ Management of human resources
▪ Sales management, chain stores
▪ Debt management, suppliers
▪ Financial statements, revenue, profit by installments
▪ Inventory management, import and export reports, inventory
▪ Friendly interface, easy to use
When using any software, no one wants to use an application that is too complicated and
difficult to understand. This will make the managers who directly use the software take more
time and effort to get used to it. Especially when an error occurs, it is very difficult to correct.

Therefore, you should pay attention to choosing applications with simple interfaces and
easy-to-use features so that your employees do not have to spend a lot of time to access.
Especially in the current digital technology era, minimizing is always the choice that
managers put as a top priority.

● Constantly updated with new technologies :

Not only with any one unit, anyone when using management software also wants their
application to be regularly updated, upgraded with necessary features, added new features as
well as overcome the remaining shortcomings and limitations. Thereby, users will get the
best software product, get the best experience during use.

Besides, people also need to find out if the software is designed to the right standards or
not. In some cases, the software needs to be designed according to the standards of the
industry. This is also an important factor that everyone needs to pay attention to in order to
deploy the right business management software.

● Professional customer service and support :

When the quality of the software does not have too much difference, customer care will
become important and concerned. Professional, dedicated service providers will be evaluated
as follows:

▪ Always ready to answer all customer questions 24/7 enthusiastically


▪ Fix, solve errors, problems that users encounter quickly and effectively.
▪ Serving customers wholeheartedly, thoughtfully when contacting, supporting
customers before, during and after the use process.
▪ Some methods to help improve software quality :
▪ Review, revise and memorize

A high-quality product is not a coincidence and it cannot happen overnight. It goes


through an iterative process of review, revision and memorization explained as follows :
▪ Review: Testers continuously review the code and ensure that the set quality
standards are being met.
▪ Modification: To study the software process and understand which aspects are
suitable for the project and which need more improvement. Analyze whether the
innovation can pass and change can be implemented.
▪ Remember: While delivering a quality product, document what works for you and
what doesn't. List all the positives and negatives of a successful project.
● Staff training :

Technology is evolving day by day and to cope with the advancements, it is important
to embrace change and train your team accordingly. Professional training should be promoted
and employees should be encouraged to choose the certifications to the best of their ability.
As tools and techniques upgrade with each passing day, employees should upgrade their
skills in the same way.

● Use test management tools :

Effective test management is the key to successful QA process improvement. The


ultimate goal of test management is to create a test process that is controllable, predictable,
yet flexible, and can fit any project. The responsibilities of a test manager typically include:

▪ Plan and estimate test cases


▪ Execution and control of test cases
▪ Check Tracking
▪ Report on test cases.

● Test team management :

It is possible to perform all these operations manually, but the use of specialized tools
will greatly speed up the process. We believe it makes sense to implement a management tool
if the test team consists of three or more QA engineers. However, smaller teams can also
benefit from automated test management.

● Promoting innovation
Following test structures along with quality metrics is highly regarded, and creative
thinking is also encouraged. A great way to drive innovation is to automate monotonous
processes and save enough time and use it wisely.

The benefit of test automation is obvious: instead of running the test cases manually,
testers can automate this process with specialized software and spend their time testing the
test cases. Features are scheduled to be delivered.

That's why in our projects we should include as many automation tests as possible at the
planning stage and allocate manpower to run them. In particular, we try to cover basic and
important functionality with test automation. If we work with a long-term project that
includes many regression tests, we should automate both regression testing and acceptance
testing.

E , Evaluate the process of performing a systematic investigation in relation to its


effectiveness in improving software quality.

Evaluate the process of performing a systematic investigation in relation to its


effectiveness in improving software quality.

Evaluate how using the functional design model in the software development
lifecycle can improve software quality.

1 , Functional design model :

A model used in the design process of software that helps to simplify the design
process of computer hardware and software devices. This model makes the system simpler
and easier to understand during detailed documentation and ensures that each part of a device
only performs the job it is assigned to and does not affect the performance of the device. The
work of other departments helps to prolong the actual life of a functional system.

During the development of a software, the application of functional design patterns in


the software development life cycle also contributes to the improvement of software quality,
because by virtue of the simplicity and ease of understanding in this model, we can easily
apply effective methods, processes and techniques to the development of software. develop
the most suitable software for the customer. Applying the functional design model also helps
us to come up with the best solutions at an early stage of the design process to avoid possible
risks in the system.

The functional design model also makes it possible to implement designs, methods,
and techniques and helps us to analyze the results generated from implementing the designed
modules and frameworks. We can check if the results produced meet the needs of the
insurance company and from there we can evaluate the performance, stability, robustness and
some other features of the software to maintaining the developed software standard that leads
to the development of the quality software that the customer requires.

After evaluating the factors that determine the quality of the software, we can also
create feedback when modifications and improvements are needed. For improvements in
software, we need to remove all defects, bugs and weaknesses to improve the software
quality and make the software powerful.

III , Discuss using examples of appropriateness of software behavior design techniques

A , Explain how to address user and software requirements.

1 , User requirements :

The needs of users to interact with a software system. These requests are aggregated
in the user request document (URD). A user requirement(s) document (URD) ​or user
requirements specification(s) is a document commonly used in software engineering that
specifies what a user expects. software can do. Once the necessary information is fully
gathered, it is recorded in the URD, which explains exactly what the software is supposed to
do, and becomes part of the contractual agreement.

Customers cannot request features that are not included in the URD, while a
developer cannot declare a product ready if it does not meet a certain item of the URD. URD
can be used as a guide for planning costs, timetables, milestones, tests, etc. The clear nature
of the URD allows the client to show it to different stakeholders. to ensure all necessary
features are described. Building a URD requires negotiation to determine what is technically
and economically feasible.
During the software development process, in order to solve the user's requirements
for the software, we have arranged and held face-to-face meetings and interviews with
customers to understand all the specific aspects of the software. their requirements and
orientation to develop quality software. Conducting the feasibility study and documenting the
system development report is also important in the process of developing the system for the
customer. We have carefully analyzed in the process of selecting specific system
development models to know the pros and cons of each model and then choose a suitable
model to develop the system. product life.

Creating ERD diagrams and data flow diagrams before the development stage is also
important in the process of helping the development team members have an overview of the
entire system, how it works. dynamic and well-defined user requirements. We used a variety
of technologies and people to develop ERD and data flow diagram designs.

1.1, Ways to deal with user requests:

● Use leading technologies and popular languages for proper coding to make software
fast, reliable and accurate.
● Use common firewalls and web hosting companies to provide software security
● Collect data , organize seminars, form groups, interview and ask questions to the head
of the company on the client side.
● Using highly skilled developers, testing in each phase, proper documentation to
ensure the quality of the software is in accordance with user requirements
● Increase software quality by interacting directly with customers so that we can show
them the continuous process of system development and get quick feedback and
resolve requests in a timely manner of cutomer
● Prioritize tasks and by priority high priority tasks are done first and low priority are
done later

1.2, Table of user requirements and actual quality of the software for users:

User request Actual quality


Functional separation of user accounts by The system has decentralized user
level accounts at 3 levels: Administrator,
employee, customer user account
Online ordering function The system has been designed with a
shopping cart feature that allows
customers to order and purchase online
System update and maintenance Contractual commitment to update and
maintain the system for customers free of
charge within one year
Security Implement high-quality encryption
measures with a firewall
High compatibility with many devices and The system software has been designed to
operating systems fit almost any mobile device and popular
platforms today
Beautiful, simple, detailed interface The system interface has been designed
with two main colors to avoid distractions
with all the required functions
Extended management coverage is Strengthening the new framework is a
required in the new framework. symbol of various new modes and
products.

2 , Functions in the software system and the interface image illustrating that function :

2.1 , Index page interface


Is the main page containing all the information of the website including information about
product types to help customers easily choose for themselves the right products and place an
order simply.
2.2 , Login page interface
At this page, customers can enter their email and password to log in to the website to make
purchases. Customers can register for a new account by clicking the register button next to it
if they do not have an account yet

2.3, Contact page interface


On this page, customers can send contact information to the company
2.4, Cart page interface
A page where customers can see their selected products with the same quantity and total
amount to pay. Customers can completely add, update and remove products from their
shopping cart
2.5, New member registration interface
At this page, customers can register for a new account and log in to place an order
2.6, Product detail page interface
This page will display detailed product information about the price, brand, detailed
description and illustrations to help customers understand the specific information of the
product or can comment on the product.

2.7, Admin page interface


This is the admin page for the store's administrator, helping the administrator to easily
manage operations on products, orders,...

2.8, Product management page interface


This page makes it easy for administrators to perform operations with products such as
adding, editing or deleting products

2.9, Catalog management page interface


This page helps the admin to manage the product catalog easily and gives them the functions
to add, edit, delete, hide or show the category
2.10, Order management page interface
This page helps admins to manage orders easily and helps admins to process and view order
details

2.11, Customer management interface


This page helps administrators manage customer accounts easily by locking or opening
customer accounts
2.12, Employee management interface
This page makes it easy for administrators to manage employee accounts easily by adding
new and editing employee account information.

2.13, Administrator management interface


This page helps the administrator to manage the administrator's account by editing the
administrator's account information when necessary.
2.14, Slider management interface
This page helps the admin to control which slider will be displayed on the website homepage

3 , The software, tools and techniques we use in the software system development process
include:

3.1, HTML

Short for HyperText Markup Language , roughly translated as hypertext markup language,
this language is designed to create web pages on the World Wide Web by building and
refactoring components contained in websites or applications, paragraph divisions, headings,
links, etc. HTML is aided by technologies like CSS and scripting languages like JavaScript.

HTML uses markup to annotate HTML elements such as text, images, etc. to form the
document page and display them in the browser. Furthermore, HTML tags can link a word or
a phrase to other documents on the Internet. Most HTML tags take the form of collapsible
tags. The closing tag shares the same command word as the opening tag, but with a right
slash (/). The HTML language specifies a case-insensitive syntax. For example, you can
declare <html> or <HTML>. There are no spaces in the tag definition.

3.2 , PHP

Short for Hypertext Preprocessor is a scripting programming language. In essence, PHP is an


embedded scripting language in HTML, in simple words it is an HTML page with embedded
PHP code, PHP can be scattered in HTML. PHP is made for server-side communications, so
it can handle server-side functions like collecting form data, managing files on the server,
modifying databases and much more. The simplicity, ease of learning, short and quick
product development time make them very effective as well as the friendliness of the PHP
web programming language. PHP is the most popular and widely used web-based language
in the world. Famous websites using PHP today include: Yahoo, Facebook, Wikipedia,
Wordpress,...

3.3 , Why should you use PHP

Currently, web design in PHP programming language is the main and very popular trend.
Large website design companies or freelancer services often choose PHP to design websites
for customers, because when the website is designed, customers are easy to use and manage
the website. Due to the simple display of the website, the admin panel is easy to see, read it
once to know how to manage the website, more important than the security of PHP
programming language websites is quite high, that's why it is trusted. Used by many
programming companies, names such as Monamedia, Webmini, Inkulal all use this language
to make websites.
The need to build a web using a database is an inevitable need and PHP also meets this need
very well. With the built-in many Database Clients in PHP, it makes it easy for PHP
applications to connect to popular database systems.

The installation and use of PHP is very easy, free and free because it is an open source code
(Open-source). Because of such advantages, PHP has been widely installed on popular
WebServers today. Today like Apache, IIS...PHP is both easy for beginners to use and can
meet all the requirements of professional programmers, PHP can meet all ideas excellently.

3.4 , How PHP Works

PHP works with the web server and interacts with the user through the browser, in simple
terms when you type a URL in the web browser's address bar, you are sending a message to
the web server at that URL, asking ask it to send you an HTML file. The web server responds
by sending the requested file. Your browser reads the HTML file and displays the web page.

When a user visits a Website written in PHP, the server reads the PHP scripts and processes
them according to the encoded instructions. The PHP script asks the server to send the
appropriate data (HTML code) to the Web browser. The browser views it as a standard
HTML page. PHP is also an HTML page, but with embedded PHP code and an HTML
extension. When the browser accesses a PHP page, the server reads the contents of the PHP
file and filters out the PHP code and executes the code, taking the results of the PHP code in
its place. in the PHP file, the server finally returns the final result as an HTML content page
to the browser.
3.5 , MySQL

MySQL is an open source database management system (Relational Database Management


System, abbreviated as RDBMS) that operates under the client-server model. RDBMS is a
software or service used to create and manage databases (Database) in the form of managing
relationships between them.

MySQL is a high-speed, stable and easy-to-use database management system that is portable,
works on many operating systems, provides a large system of very powerful utility functions.
The largest web applications today that use MySQL to store data include: Facebook, Twitter,
YouTube, Google, and Yahoo!,... and are compatible with many computer infrastructures
including: Linux, macOS, Microsoft Windows, and Ubuntu.

3.6 , Advantages of Mysql:

● Easy to use: MySQL is a high-speed and stable database, the tool is easy to use and
works on many operating systems providing a large system of utility functions.
● High security: MySQL is suitable for applications that access databases on the
internet because it possesses many security features, even high-level security.
● Multi-feature: MySQL can support a wide range of SQL functions from both direct
and indirect relational database management systems.
● Scalable and powerful: The MySQL engine is capable of handling large chunks of
data and can scale as needed.
● Cross-OS Compatible: MySQL is compatible to run on multiple operating systems,
such as Novell NetWare, Windows * Linux *, a variety of UNIX * (such as Sun *
Solaris *, AIX and DEC * UNIX), OS/2, FreeBSD *,.... MySQL also provides a
means by which clients can run on the same computer as the server or on another
computer (communicating over a local network or the Internet).
● Allow rollback: MySQL allows transactions to be rolled back, committed, and
crash-recovered.

B , Analysis of a variety of software behavior tools and techniques.

1 , Software behavior :
(Also known as “computing behavior”) are changes in the value over time of quantity
and quality that characterize the system environment that the software impacts or affects. It
would be helpful to write additional descriptions of the software behaviors that are required
to serve both the requirement and the design. Having a specification can generate effort by
eliminating the work of developing revisions and keeping them consistent and relevant
throughout development, evolution, and maintenance. It can also eliminate inherent
inconsistencies in editing, a common source of errors.

2 , Software behavior engineering :

A typical software development project produces clear descriptions of the software's


behavior. Typically, natural language provides a description of the behavior, while UML, data
flow diagrams, and pseudocode provide other descriptions. Programmers code software
behavior in one or more different languages. Such redundant software behavior logging is a
significant source of both bugs and unnecessary bugs. Often, the descriptions are in different
languages, making comparisons of consistency difficult. Since behavioral discoveries need to
be made during development, evolution, and maintenance, it can be difficult to keep different
descriptions consistent.

3, Two methods of software behavior specification:

3.1, Flowchart:

A flowchart is a chart used to represent the steps in a process. Flowcharts are


commonly used for training, documentation, and planning. This type of chart can also be
useful for decision making. This type of chart typically uses arrows to illustrate how one step
leads to the next.

Use a flowchart when you want to explain the steps in a process to someone else,
such as someone you're training for a job. They are also useful in presentations and reports.

Flowchart is related to flowchart. Process diagrams differ in that this type of diagram
uses a specific set of symbols that indicate different steps in a process.

Benefits of Flowchart for businesses:


● A complete document that helps employees understand how the process works,
especially new employees (how many steps, what tools to use, who needs support, ...)
● Looking at the standard operating procedures, it is possible to partly assess the quality
of the output products
● Serve as a reference for process redesign. Support by mapping reality against the
flowchart, can recognize which steps need to be removed or further improved

Three steps to draw a Flowchart for your business:

● Step 1: Decide if you really need a flowchart

Of course, building a flowchart only makes sense when your business really needs it
to continue operating and/or grow your business, scale up your staff, etc.

Some businesses today still manage the process orally - personnel will be described
and instructed directly orally. This approach can actually still work well in small-scale units
with a few simple, repetitive processes.

If you want to "document" the sequence of steps into a complete business process,
you need a flowchart.

● Step 2: Gather accurate information about how the process works

Unless you are a direct participant in all the day-to-day business processes of your
business, you need to dig into all the relevant insights if you want to draw a flowchart. exact
program.

Even if the process seems simple or takes only 1-2 days, every little detail needs
attention. For example:

● What is the purpose of this process? Its exact name?


● How many steps does this process include? What are the names of the steps?
● Who is in charge of this step? A single person or alternating with each member of the
team?
● Does this step have a specific description? How many hours is there a time limit?
● After this step there are two possibilities. If possibility A occurs, will the procedure
remain the same? In the case of B, is it necessary to go back to the previous step and
repeat a piece of the process, or will it lead to a completely different process
half-way?
● Are there events that could cause you to deviate from a standard procedure?
● Is it possible that right from step 2 has successfully output and finished the process?
Or you realize the input is not enough and the process is a failure?

To really understand the insides and all of the possibilities of a process, consult the
employees who directly work on it. You can choose to go to chat with each person, or open a
group meeting and encourage them to share together. Maybe your employees have been
cherishing it for a long time and are getting ready to come up with interesting ideas.

If you aspire to "digitize" the process as you enter the next phase of digital
transformation, prepare a flowchart and related instructions well in advance.

● Step 3: Start drawing process flow chart

Once you have enough information on how a process works in practice, let's start
"drawing" them into a flowchart. Here are the basic symbols specified when drawing a
business process flowchart:

3.2, Pseudocode:

A concise, high-level informal computer programming algorithm description that uses


the structured conventions of several programming languages, but often omits unnecessary
details to help understand algorithms better, such as removing subroutines, declaring
variables, and special system code. Programming languages are supplemented by detailed
descriptions in natural language where appropriate, or by simple mathematical notation.

Flowcharts can be seen as an alternative to pictorially depicted pseudocode.


Pseudocode is very similar, but should not be confused, with framework programs in which
dummy code is included, and can be compiled without generating errors.

Purpose of using pseudocode:

Make it easier for humans to read than conventional programming languages, and
pseudocode can be a succinct and development-environment-independent description of the
key principles of an algorithm. There are no standards for pseudocode syntax, because a
program written in pseudocode is not an executable program.

Syntax:

Pseudocode in general doesn't really follow the syntax rules of a particular language;
There is no systematic canonical form, although any particular writer will generally borrow
the form of a certain language. Commonly borrowed languages are Pascal, BASIC, C, Java,
Lisp, and ALGOL. Details that are not relevant to the algorithm (such as memory
management code) are often left out. Blocks of code, like code inside a loop, can be
described in just one sentence in natural language.

Application:

Textbooks and scientific articles related to computer science and numerical


computation often use pseudocode to describe algorithms, so that all programmers can
understand them, even though they all do not. know the same programming language.

A programmer who needs to implement a particular algorithm, especially one that


they don't know yet, usually starts with a description in pseudocode, and then simply
"translates" the version. that description into the corresponding programming language and
edited to properly communicate with the entire program portion. Programmers also often
start a project by sketching pieces of code in pseudocode on paper before writing them in its
actual language, a top-down systematic approach.

C , Distinguish between a finite state machine (FSM) and an extended FSM, applications of
both.

1 , Finite workstation :

Is the term finite state machine (FSM) also known as finite state automation. FSM is a
computational model that can be implemented with the help of hardware or software. This is
used to create sequential logic as well as some computer programs. FSM is used to solve
problems in areas such as mathematics, games, linguistics, and artificial intelligence. In a
system where specific inputs can cause specific changes in state can be expressed with the
help of FSM.
An electronic example is a regular red-yellow-green traffic light controlled by a
traffic box controller located off the road; the whole system is a “machine” but the
calculation/automation happens in the box out of the way. The simplest case is a purely
time-based transition where each light stops moving through the three primary colors
triggered by pre-programmed intervals. The different states are indicated by the color of each
light as they change in separate intersecting directions. Additional events are a way of
handling emergency vehicles or detection loops (and other sensors) to keep traffic flowing or
even a breakdown/power failure (e.g. red flash) ). Although all the variations can get quite
complicated .

1.1, Types of finite state machines:

● The Mealy state machine is a type whose output circuit depends directly on the FSM .
input
● A Moore state machine is a type whose output circuit does not depend directly on the
FSM . input

1.2, Comparing FSM Moore and FSM Mealy

FSM Moore is more secure than FSM Mealy because the FSM output is combined
from the FF value, so if connected to other blocks, this signal can be used as a feedback path
back to the combination with other circuits. create an input for the FSM. As for FSM Mealy,
this will create an asynchronous circuit.

The FSM Moore output delay is well defined and limited in the FSM from the FF
passing through the output generating combinational circuit. While the FSM Mealy output is
input dependent, the delay of the previous stages connected to the FSM input is also factored
into the FSM output delay and possibly the critical path.

Mealy has the advantage that the number of states is less than Moore's with the same
function, and the output responds immediately to the change of the input without waiting for
the rising edge of the clock. If you use Mealy, pay special attention to the problem of
feedback and cumulative delay

1.3, Finite state machine application:


FSMs are used in games, they are most recognized for their use in artificial
intelligence and however, they are also frequently implemented in parsing text navigation,
input processing of clients, as well as network protocols.

They are limited in computing power, they have the good quality of being relatively
simple to realize. As such, they are often used by software developers as well as system
designers to summarize the performance of a difficult system.

Finite state machine is applied in vending machine, video game, traffic light,
controller in CPU, text parsing, protocol analysis, speech recognition, language processing
language, etc.

In software development , FSM can be used to create software applications such as


program-based automation, event-driven FSM, state design patterns, etc.

Advantages of Finite State Machine

● Flexible Finite State Machine


● Easily move from the key summary to the code execution
● Low processor cost
● Easily determine the accessibility of a state

Disadvantages of Finite State Machine

● The expected behavior of deterministic finite state machines may not be necessary in
some fields such as computer games
● Deploying huge systems using FSM is difficult to manage without any design ideas.
● Not applicable to all domains
● The order of state transitions is inflexible

2, Extended Finite State Machine:

It is an advanced model based on the traditional finite state machine. An extended


finite state machine consists of four main components:

● Statuses
● State transition functions
● Input and output events
● Tasks and decisions

Extended Finite State Machines (EFSM) are widely used in linguistics, computer science,
philosophy, biology, mathematics, logic, and reactive system modeling. One of the
application areas of EFSM is automated data-driven programming where EFSM is used as a
core component of a software system. The use of EFSM inductive methods greatly increases
the degree of automation in automated data-driven program development.

It is used in various equipment and tools such as fireplace systems, subway passageways,
alarms, home garages, fax systems, air conditioning systems and temperature controllers. .

In software development, EFSM can be implemented to model an object at a high level of


abstraction such as an entire system or a use case, or at a low level of abstraction, such as a
software object. soft.

D , Explain why data-driven software can improve its reliability and efficiency

1 , Data-driven software :

Data-driven software is software that automates processes, problems, and


opportunities. In data-driven software, data is the central part of the architecture and all the
rest is designed around this of the tasks. The main application of data-driven software is that
it helps to explore data relationships, export or import files, browse and filter large data sets,
and interact with other systems. Data-driven software helps establish patterns between
operations and business. The decisions made by data-driven software are relevant and
effective.

In today's digital world, data is constantly being created, evaluated and updated. It
also plays an important role in the work of software engineers by providing accurate,
actionable feedback that helps engineers understand where and how to make improvements
to a product or procedure.

Data also helps IT leaders visualize how work is being done, the quality and quantity
of output, and how they can improve the lives of their employees. And it's an important part
of any digital transformation.
Outside of IT, much of what people do is also document-oriented. Day-to-day
transactions like sending emails, viewing pages in a web browser, filling out forms, creating
Word documents, and doing financial modeling in Excel are all document-centric activities
that aren't represented in a way natural in the context of limited relational data. Multi-model
databases accept data in a form the world already understands.

A data-driven approach requires a new way of thinking about data; streamlining into
a multi-paradigm environment that allows us to grow rapidly, bringing new agility - and
hopefully better job satisfaction.

DDS reduces the problem of data homogeneity to a problem of tracking the code used
to generate the code that has been thoroughly investigated. DDS can dramatically simplify
building data pipelines and enhance collaboration within data teams of engineers, data
scientists, and analysts. In fact, existing DDS users have found that their expectations of
cooperation have increased dramatically since the adoption of DDS, now assuming that
accessing any piece of data is time and running any notebook takes only a few seconds to
complete. All the usual collaborative operations of branching or merging can be performed
without fear of breaking production data. Provisioning or updating to the latest version of
data is usually as fast as checking out Git.

Overall , to improve the reliability and efficiency of data-driven software .


Organizations need to activate the software according to the following 5 components:

● Strategic mind

Strong strategic vision will influence each pillar and define what those pillars are. The
company vision is the "why" of the organization and should be reflected strongly in your
KPIs and OKRs.

● KPI

These metrics measure your organization's ongoing business performance, including


profitability and how it achieves its vision. If your KPIs lack one of these points, your
employees may be disconnected from the company's vision.

● OKRs
These are more temporary measurable goals than KPIs. Your OKRs should measure
what is happening now (this month, this quarter, this year) to achieve and improve results.
Strong OKRs lead to improved KPIs. At their best, they show that you've chosen the right
job and done it well.

● Technical Indicators

Good technical metrics will lead to unified standards for software engineers, a high
standard for quality work, and the production of more and better features to support more
valuable work. .

● Positive Behavior Index

When you have a bad quarter or a struggling team, what gives your people the energy
and lifts them up so they still deliver? What keeps them going? What makes them feel that
doing so is worth it? Each of these is driven by positive behavioral indicators.

2, How to improve the above components:

● Most KPIs should be an accounting function

Which should not be, or they should be included in the software product as a primary
management function. Careful with special cases and subdivisions makes KPI reporting more
effective. Everyone should get the same measurements. Large organizations with truly
divisible business divisions.

● Experiment with OKRs and scale as needed

One suggested solution is to create some basic OKRs for the teams each quarter and use a
spreadsheet to track them. Then periodically review and discuss the spreadsheet results.

● Get a technical measuring tool

The available support tools will provide you with free usage options to help you track
successful technical indicators and some of the available indicators. An effective tool will
help them understand their work and how to get more done.
For positive behavior metrics, the right tools can help channel positive energy to more
individuals by sending emails, texts, or automated messages. Those things give managers a
boost, show employees and bosses that managers will channel that energy and give them all a
boost as well.

If you don't have a tool, just find a way to channel as much positive energy as you can
and practice reporting. This will help the employees of the organization feel better, and that is
positive energy.

● Go beyond the numbers

Data-driven software engineering produces benefits that go beyond the numbers if you
have an effective process or framework that minimizes the hard points and drives success. As
your organization moves towards digital transformation, you will need to focus more on
delivering value. With these metrics, the value you deliver will be measurable and your
employees will stay engaged and happy to contribute to the success of the organization.

REFERENCE:

Nguyen Nam Hoai, 2021, Project related parties , 07/07/2022:

https://vndoc.com/cac-ben-lien-quan-den-du-an-237126

Ha Ngoc Anh, 2019, What are Stackholders?, 07/07/2022:

https://timviec365.vn/blog/stakeholders-la-gi-new7503.html

2019 , What is Data Flow Diagram (DFD)?, 07/07/2022

https://vietnambiz.vn/so-do-luong-du-lieu-data-flow-diagram-dfd-la-gi-20190909111117996.
htm
Thuy Ngoc, 2021, What is Software Quality? The criteria of quality software, 07/07/2022:

https://mona.software/chat-luong-phan-mem-la-gi/

Phuong Duong Thi, 2021, Ways to improve software quality, 07/07/2022:

https://viblo.asia/p/cac-cach-de-cai-thien-chat-luong-phan-mem-OeVKBkAdZkW

Definitions for user requirements document , 07/07/2022

https://www.definitions.net/definition/user+requirements+document

Specifying Software Behavior for Requirements and Design , 2012, James Kirby,
07/07/2022:

https://www.researchgate.net/publication/258808974_Specifying_Software_Behavior_for_R
equirements_and_Design

What is flowchart? Steps to draw Flowchart , 2020, 07/07/2022:

https://sieunhanh.com/bai-viet/flowchart-la-gi-cac-buoc-de-ve-flowchart-2924.htm

https://ladigi.vn/ma-gia-la-gi-chi-tiet-ve-ma-gia-moi-nhat-2021

https://www.elprocus.com/finite-state-machine-mealy-state-machine-and-moore-state-machi
ne/

https://www.elprocus.com/finite-state-machine-mealy-state-machine-and-moore-state-machi
ne/

https://ulyantsev.com/assets/papers/2011-Ulyantsev-ICMLA.pdf

https://nguyenquanicd.blogspot.com/2017/08/verilogsystem-verilog-may-trang-thai.html

https://databricks.com/blog/2021/05/04/data-driven-software-towards-the-future-of-program
ming-in-data-science.html

https://www.oreilly.com/library/view/defining-data-driven-software/9781492049272/ch01.ht
ml
https://techbeacon.com/app-dev-testing/data-driven-software-engineering-how-avoid-commo
n-problems

You might also like