Fact Finding Techniques:
Introduction to Fact finding techniques,
Decision Tables and trees,
Normalization and its types-
(1st, 2nd, 3rd, 4th, 5th, and Boyce code normal forms),
Introduction to Object oriented programming concepts.
1. (BAST -306)
Software Analysis and Design:
Fact Finding Techniques-
Dr Sharmila Sharad More,
Assistant Professor , Dept Of Science and Computer
Science,
MIT, ACSC,Alandi, Pune
2.
3. Introduction To Fact Finding Techniques
Unit-II Fact Finding Techniques- (9)
Introduction to Fact finding techniques,
Decision Tables and trees,
Normalization and its types-
(1st, 2nd, 3rd, 4th, 5th, and Boyce code normal forms),
Introduction to Object oriented programming concepts.
4. Fact-Finding Techniques
Fact-finding techniques are a process of collection of data and information based on techniques that contain a
sampling of existing documents, research, observation, questionnaires, interviews, prototyping, and joint
requirements planning.
System analyst uses suitable fact-finding techniques to develop and implement the current existing system.
Collecting required facts are very important to apply tools in System Development Life Cycle because tools cannot
be used efficiently and effectively without proper extracting from facts.
Fact-finding techniques are used in the early stage of the System Development Life Cycle including system analysis
phase, design, and post-implementation review.
Facts included in any information system can be tested based on three steps: data facts used to create useful
information, process- functions to perform the objectives, and interface- designs to interact with users.
Seven common fact-finding techniques are:
1) A sampling of existing documentation, forms, and databases
2) Research and Site visits
3) Observation of the work environment
4) Questionnaires
5) Interviews
6) Prototyping
7) Joint requirements planning
5. A sampling of existing documentation, forms and databases:
• The best way to analyse the existing system is to collect facts from existing documentation rather than from human
sources. There are various kinds of documents to collect facts from existing documents.
• These include e-mails, customer complaints, suggestion box notes, and reports that document the problem area problem
performance reviews, samples of completed manual forms and reports, and samples of completed computerized forms
and reports various types of flowcharts and diagrams, program documentation and user training manuals.
• System analyst uses sampling techniques in order to organize the above documentation.
• The sampling technique is the process of combing a representative sample of documents, form, and records.
Observation of the work environment:
Another fact-finding technique is observation. In this technique, the system analyst participates in the organization,
studies the flow of documents, applies the existing system, and interacts with the users. Observation can be a useful
technique when the system analyst has a user point of view. A sampling technique called work sampling is useful for
observation. By using this technique, system analyst can know how employees spend their days.
6. Advantages of Research and Site visits:
It can save time if the problem is already solved.
A researcher can know how different people previously solved the same problems. Researchers always know detailed
information about the current development system.
Disadvantages of Research and Site visits:
Need the authority to access the appropriate source of information.
As documentation of the problem is not recorded, there is difficult to solve the problem.
Research and Site visits:
Research and site visits, second technique, is the process of examining the problems which had previously solved by
other sources that can be either human or documents.
To solve the requirements of the problem, the analyst visits other organizations that had previously experienced
similar problems.
In addition, the analyst can also find the information from the database, reference books, case studies, and the
Internet.
7. Questionnaires:
Questionnaires are also one of the useful fact-finding techniques to collect information from a large number of users.
Users fill up the questions which are given by the system analyst and then give the answers back to the system analyst.
Questionnaires can save time because the system analyst does not need to interview each of the users and if the time of
the interview is short, questionnaires are more useful. To fulfill the requirements of the system objective, a system
analyst should have the ability to clearly define the design and frame of questionnaires.
There are two types of questionnaires:
Free-format questionnaires-
In free format questionnaires, users are allowed to answer questions freely without an immediate response. The results
are also useful in learning about the feelings, opinions, and experiences of the respondents.
Fixed-format questionnaires-
The purpose of fixed-format questionnaires is to gather information from the predefined format of questions. Users are
allowed to choose the result from the given answers. There are three types of fixed-format questions: multiple-choice
questions (Yes or No type), rating questions (Strongly Agree, Agree, No opinion, Disagree, Strongly disagree), ranking
questions.
8. Interviews:
An interview is the most commonly used technique to collect information from the face to face interviews. The purpose
of the interview is to find, verify, clarify facts, motivate end-users involved, identify requirements, and gather ideas and
opinions. The role of the interview includes interviewer who is a system analyst and interviewee who are a system
owner or user. The interviewing technique needs good communication skills for interaction between system analysts and
users.
There are two types of interviews.
Unstructured interviews-
An interview that is conducted with only a general goal or subject in mind and with few, if any, specific questions.
Open-ended questions type is used in an unstructured interview that allows the user to answer freely in an appropriate
way.
Structured interviews-
A structured interview is an interview that contains a predefined set of questions. In a structured interview, close-
ended questions type is used to limit answers to specific choices, short and direct responses from the interviewees.
9. Prototyping:
Another fact-finding technique is known as prototyping which collects the requirement facts of the system. Prototyping
is sampling a small working model and it is more related to the pre-design of the information system. The
implementation of prototyping can be developed in an earlier stage of the system development life cycle when analysing
the facts. The process of prototyping facts in order to specify the users’ requirements is also known as discovery
prototyping.
Joint requirements planning:
JRP is the structured group work meeting to identify, analyse problems, and define the requirements of the system. JRP
is becoming increasingly common in systems planning and systems analysis to obtain group consensus on problems,
objectives, and requirements. JRP can tabulate the facts efficiently in a short time and it can also replace in the place of
numerous and separate interviews. JRP contains different participants with each specialized roles to perform structured
meeting. JRP participants include sponsors, facilitators, users and managers, scribes, and IT staff. The sponsor is an
individual in top management, who has full authority to decide who will be participants, time, and location of JRP
session. The role of a facilitator is to lead the JRP session, motivate participants, solve conflicts and meet the
requirements of meeting during the JRP session. Users in the JRP session are responsible for the rules and requirements
of a business, prototype, and satisfactory decisions. And Managers are responsible for projects, schedules, and costs and
training requirements. The scribe’s job is to record everything discussed in the meeting. IT staff responsible for models
and documentation concerning facts during the discussion.
10. Advantages of JRP
JRP is formed by different individuals with various roles and covers both in users and in management
levels. JRP saves time to develop systems as it is not required one-on-one interviewing of each
participant within the organization. When JRP incorporates prototyping as a means for confirming
requirements and obtaining design approvals, the benefits of prototyping are realized.
Disadvantages of JRP
Extensive training is required for JRP as it is a group form. Active participation of all individuals will
result in the solution of JRP sessions.
11. Decision table is a brief visual representation for specifying which actions to perform depending on
given conditions. The information represented in decision tables can also be represented as decision trees
or in a programming language using if-then-else and switch-case statements.
A decision table is a good way to settle with different combination inputs with their corresponding
outputs and also called cause-effect table. Reason to call cause-effect table is a related logical
diagramming technique called cause-effect graphing that is basically used to obtain the decision table.
Importance of Decision Table:
1.Decision tables are very much helpful in test design technique.
2.It helps testers to search the effects of combinations of different inputs and other software states that
must correctly implement business rules.
3.It provides a regular way of stating complex business rules, that is helpful for developers as well as for
testers.
4.It assists in development process with developer to do a better job. Testing with all combination might
be impractical.
5.A decision table is basically an outstanding technique used in both testing and requirements
management.
6.It is a structured exercise to prepare requirements when dealing with complex business rules.
7.It is also used in model complicated logic.
Decision table
12. Advantage of Decision Table:
1.Any complex business flow can be easily converted into the test scenarios & test cases using this
technique.
2.Decision tables work iteratively that means the table created at the first iteration is used as input table
for next tables. The iteration is done only if the initial table is not satisfactory.
3.Simple to understand and everyone can use this method design the test scenarios & test cases.
4.It provide complete coverage of test cases which help to reduce the rework on writing test scenarios &
test cases.
5.These tables guarantee that we consider every possible combination of condition values. This is known
as its completeness property.
Decision Tree
•Decision tree algorithm falls under the category of supervised learning. They can be used to solve both
regression and classification problems.
•Decision tree uses the tree representation to solve the problem in which each leaf node corresponds to
a class label and attributes are represented on the internal node of the tree.
•We can represent any Boolean function on discrete attributes using the decision tree.
Decision Tree : Decision tree is the most powerful and popular tool for classification and prediction. A
Decision tree is a flowchart like tree structure, where each internal node denotes a test on an attribute,
each branch represents an outcome of the test, and each leaf node (terminal node) holds a class label.
13. Difference between Decision Table and Decision Tree
1. Decision Table :
Decision Table is just a tabular representation of all conditions and actions. Decision Trees are always used whenever
the process logic is very complicated and involves multiple conditions. The main components used for the formation
of Data Table are Conditions Stubs, Action Stubs, and rules.
2. Decision Tree :
Decision Tree is a graph which always uses a branching method in order to demonstrate all the possible outcomes of
any decision. Decision Trees are graphical and shows better representation of decision outcomes. It consists of three
nodes namely Decision Nodes, Chance Nodes and Terminal Nodes.
14. S.NO. DECISION TABLE DECISION TREE
1.
Decision Tables are tabular representation of
conditions and actions.
Decision Trees are graphical representation of every possible
outcome of a decision.
2. We can derive decision table from decision tree. We can not derive decision tree from decision table.
3. It helps to clarify the criteria.
It helps to take into account the possible relevant outcomes of
decision.
4.
In Decision Tables, we can include more than one
‘or’ condition.
In Decision Trees, we can not include more than one ‘or’
condition.
5.
It is used when there are small number of
properties. It is used when there are more number of properties.
6. It is used for simple logic only. It can be used for complex logic as well.
7. It is constructed of rows and tables. It is constructed of branches and nodes.
Difference between Decision Table and Decision Tree :
15. What is Normalization and its types?
Normalization is a technique of organizing data in such away that it reduces redundancy and
inconsistency of data.It decomposes the table to remove undesired anomalies.
Purpose of Normalization:-
1) Removing Data redundancy or Duplication
2) Removing Data dependency.
In this larger tables are divided into smaller ones and link is established between them
The concept of Normalization was introduced by Edgar Codd later joined by Raymond F. Boyce
Problems without Normal Form are:-
Updation , Deletion and Insertion Anomaly
Types of Normalization:-
1) First Normal Form
2)Second Normal Form
3) Third Normal Form
4) Fourth normal forms
5) Fifth normal forms
6) Boyce code normal forms