Decision
Trees, Structure Analysis and Decision Tables
Decision
Trees
Decision trees is a supervised learning approach that
is most often employed to solve classification difficulties. With internal
nodes representing data sets characteristics, branches representing decision
rules, and each leaf node representing the result, and basically it is a tree
structured. It can be applied for both regression and classification problems.
For example:-
Consider a GYM membership automation software (GMS)
where it should support the following three options:
· New member
· Renewal
· Cancel Membership
New member
option:-
Decision: When the new member option is selected then the software asks the
details such as name, address, phone number etc. of the member.
Action: If proper information is entered then software create a membership
record of the member and a bill is printed for the monthly membership.
Renewal Option:-
Decision: If renewal option is chosen then the GMS software asks the membership
number to check whether the he is valid member or not.
Action: If the membership is valid the membership expiry date is updated and
the annual membership bill is printed, otherwise an error message is displayed.
Cancel Membership
option:-
Decision: If the cancel membership option is selected the the software asks for
membership number.
Action: The membership is cancelled and the membership record is deleted from the database.
Decision
Table
To represent the complex processing logic in tabular
form a decision table shall be used. The variables or conditions to be
evaluated shall be specified in the upper rows of the table. Actions to be
taken if the corresponding conditions are met are set out in the lower rows of
the table. A column in a table is called a rule. A rule implies that if a
condition is true then the corresponding action is to be executed.
Example:-
Considering the above given example of GMS. The following decision table shows how to represent the GMS problem in a tabular form. The table is divided into two parts, the upper part shows the condition and the lower part shows what actions are taken. And each column of the table is called a rule.
From the above table one can easily understand that if
the valid selection condition is false then the action taken for this condition
displays error message. Similarly other conditions can be also inferred from
the table.
Structured
Analysis
Structured Analysis is a diagrammatic representation
of the system , which makes system easier to understand. The main aim of
structured analysis is to improve quality and to decrease the risk of system
failures. It establishes a concrete management specifications and
documentation. The focus is on the stability, reliability and sustainability of
a system. The method is based on structured programming which emphasizes the
importance of breaking down a software system into smaller and simpler
components.
Basically in SA/SD , the software development process
is divided into two steps i.e. structured analysis and structured design.
During Structured analysis phase, the problem is analyzed and requirements are
gathered for problem solving. And during Structured Design phase the system is
designed to meet the requirements which was gathered during structured analysis
phase.
Structure Analysis/Structured Design is a set of methods for designing and building software systems in a systematic and organized manner.
Here are some common concepts used in SA/SD:
Functional
decomposition: functional
decomposition is used to break down a complex system into smaller subsystems,
which are easy to manage. In this technique a main function is identified and
this main function is then break down into smaller function which can be
implemented independently.
Data flow
diagram: DFDs are basically
graphical representation of the system which is used to represent the flow of
the data in a system.
Data dictionary: A data dictionary contains descriptions of all the
elements which is used in the system, which makes it easier to understanding
the working of the system.
Modular
programming: Modular
programming technique is used to breaking the systems code into smaller modules
which makes it easier to develop, test and maintain the system.
Structured design: To develop systems architecture and components structured design technique is used.
The main steps involved in the SA/SD process are:
Requirement
gathering: The SA/SD process
begins with gathering stakeholders feedback from users, clients, and business
partners.
Structured
Analysis: In structured
analysis stage, the requirements are examined to determine the main parts of
the system, relationships between those parts, and the flow of data within the
system.
Data modelling: During this stage, a model is created that represents
the information used in the system, as well as the relationships between the
data elements.
Process
Modelling: At this stage, the
flowcharts or data flow diagrams are used to model the processes in the system.
Input/Output
Design: This stage
includes the development of the system’s input and outputs, including user
interfaces and reports.
Structured
Design: In the Structured
Design stage, the system is developed to meet the needs identified during the
Structured Analysis stage. This may include the selection of suitable hardware
and software environments, database design, and data structure definition.
Implementation
and Testing: Once the design is
done, the system is put into practice and tested.
But nowadays, SA/SD is replaced by modern software
methodologies, but its principle of structured analysis and design continue to
influence current software development practices.
In a nutshell, the SA/SD approach is based on the data
flow diagram. SA/SD is simple to understand, but it concentrated on well-defined
system boundaries. Whereas, JSD approach is overly complicated and has no
graphical representation.
SA/SD involves 2 phases:
i.
Analysis phase: In this Data flow Diagram, Data Dictionary, State
Transition Diagram and ER Diagram.
ii.
Design Phase: It uses Structure Chart and Pseudo Code.
Advantages of Structured Analysis:
- This methodology emphasis on breaking down the complex system into smaller subsystems, which makes system easy to understand and more manageable.
- The SA/Sd methodology offers a common language ad structure for communicating a system’s design, which can enhance stakeholder communication and ensure that the system satisfies stakeholders’ needs and expectations.
- With the SA/SD method, a system is structured in a way that makes it easier makes it easier to keep track of and update over time.
- SA/SD defines the outputs and inputs of the system, making it easier to validate the system and make sure it meets your needs.
Disadvantage of Structured Analysis:
- Because of large amount of data and analysis required, this process is quite time consuming.
- It is difficult to make changes once the system is designed because this process is highly structured and documentation-intensive.
0 Comments