silvia preston ph. d. candidate dissertation...

36
Silvia Preston Ph. D. Candidate Dissertation Proposal

Upload: others

Post on 29-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Silvia Preston

Ph. D. Candidate

Dissertation Proposal

Page 2: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Presentation Outline Problem Statement

Background of the Problem Importance of the Problem

Research Objective Objective of the Study Related Work

Research Approach Methodology Timeline

Expected Results Impact of Results Limitations of the Study Prospectus Outline

Page 3: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Background of the Problem The role of Functional Requirements is critical in

Software Engineering

Functional Requirements is a section of the Software Requirement Specification – describes how the inputs should be transformed into outputs

Unambiguous, complete, verifiable, consistent, modifiable, traceable usable

Requirements are elicited from customers

Techniques are available for requirements elicitation

Novice customer is not knowledgeable of techniques

Page 4: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Importance of the Problem Ambiguous requirements lead to poor software

products

Personnel experience affects requirements elicitation

Good requirement specifications

Produce quality software products

Save time and money

Page 5: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Problems in Requirements Elicitation Lack of discipline

Lack of domain knowledge Knowledge gap between development team and novice customers

Knowledge gap between within the development team

Insufficient requirement detail

Ambiguities exist in requirements during elicitation

No training for new customer is available Novice customers do not have the experience of a domain expert.

Requirement elicitation process is too complicated for inexperienced stakeholders There is a need for a step by step scripted procedure in

combination with a tool for reducing ambiguities

Page 6: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Objective of the Study Create a step by step scripted procedure to reduce

requirement ambiguities during elicitation process No scripted process exists for reducing requirement

ambiguities based on existing software application requirements

Create a tool for holding knowledge about new and existing requirements Scripted procedure will aid novice customer and novice

developer how to use the tool

The cognitive distance between novice and experienced stakeholders will be reduced with the use of the scripted procedure and the tool

Page 7: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Research Question (1) How can ambiguities be reduced from customer

requirements and converted to clearer set of functional requirements that is understood by all stakeholders?

Create a disciplined approach using a step by step procedure to control the behavior of the elicitation process

Create a tool to hold knowledge from existing requirements of existing applications

Page 8: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Research Question (2) What can be done to bridge the gap between the two

groups: 1) the novice users and the domain experts and 2) novice users and the development team during the elicitation process of requirements?

Reduce the cognitive distance using a semi-automated smart elicitation process and a tool

Page 9: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Portfolio

E.P. O.

W.O.

Page 10: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Related Work: Ontology-based Reasoning in Requirements Elicitation Ontology-based checking tool takes initial

requirements and ontology as input in a reasoning cycle until no new mandatory, redundant, or inconsistent requirement is found. Questions are generated to customer when one of the issues are found.

Problems: no reusability is proposed; tool requires experienced domain user; does not reason about detailed description of requirements; not reverse engineered;

Dzung, D. V., & Ohnishi, A. (2009). Ontology-based Reasoning in Requirements Elicitation. Seventh IEEE International Conference on Software Engineering and Formal Methods (pp. 263-272). Hanoi, Vietnam: IEEE.

Page 11: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Related Work: Matching Functional Business Requirements to Application Software

Approach for describing business requirements and software attributes in terms of ontologies. Used for semi-automated reasoning about the suitability of a certain software product.

Problems: Dynamic ontology; no algorithm to support the matching between the ontologies;

Kluge, R., Hering, T., Belter, R., & Franczyk, B. (2008). An Approach for Matching Functional Business Requirements to Standard Application Software Packages via Ontology. 32nd Annual IEEE International Computer Software and Applications Conference, COMPSAC'08, (pp. 1017-1022).

Page 12: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Related Work: Towards a Multiple Ontology Framework For Requirements Elicitation and Reuse

Multiple ontology framework for requirements elicitation and reuse; each of the 4 ontologies are responsible for a task in the framework; domain users use questionnaires directed by the framework to elicit requirements.

Problems: no method is provided for reasoning about new requirements; users are assumed to be knowledgeable of the domain under discussion;

Zong-yong, L., Zhi-xue, W., Ying-ying, Y., Yue, W., & Ying, L. (2007). Towards a Multiple Ontology Framework for Requirements Elicitation and Reuse. COMPSAC 2007, (pp. 189-195)

Page 13: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Research Approach (1) Overview

An approach to reduce functional requirements ambiguities through a smart elicitation process

Semi-automated scripted process for functional requirements elicitation Incorporate ontology for classification of attributes and Neural Networks for

training

Overall Goal Bring together domain and development experts through a process that learns

and gain experience on previous and new requirements Provide reusability of functional requirements through historical data Develop a semi-automated scripted process to develop form based functional

requirements.

Core Techniques Ontology - higher level of abstraction Neural Network - learning and automation reduces effort Scripted process and ontology/neural network combination - generates good

functional requirements with little or no ambiguities

Page 14: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Research Approach (2) Why do we need Ontology/Neural Network (NN)

combination?

NN – allows for supervised learning and backpropagation for teaching

Ontology – representation of knowledge as a set of concepts within a domain

Similar to an OO Database IS A/HAS A

Supports intelligent decision

Allows for reusability

Allows NN to work as a trigger for data

Page 15: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Research Approach (3)

What is an Ontology?

Similar to a database it allows for objects and concepts to be created and classified by specifying their properties and relations

Allows for multiple inheritance

Supports expert systems

Example:

Page 16: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

PersonOntology

There is a fine line between the concepts that go into the ontology and what goes in the knowledge base.

Page 17: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Research Approach (4) What is a NN?

Mimics biological nervous system

Interconnected processing elements that works together to solve specific problems

Ability to learn by example in a specific environment

Page 18: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Neural Network

Page 19: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Research Approach (5)

Page 20: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Methodology Qualitative Case Study The following is a list of people that will be involved in this study:

1 novice software developer 1 experienced software developer 1 expert business analyst 1 novice user

The study will be conducted at the IT department of this university. The data to be collected will consist of two current software

applications, one new set of user’s requirements, and a set of other artifacts related to the case.

The result of this study will be a scripted process and a prototype of a tool for semi automating the process of eliciting requirements and reducing ambiguities through training.

Tools: Protégé, Jess rules (Clips-based rule engine), Eclipse (for Neural Network implementation in the Java language)

Page 21: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Ontology/KBSQL KB HTML KB

Page 22: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Mapping KB

Page 23: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Reports KB Creation (Portfolio)

Page 24: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Scripted Process (1)

Example:W.O. Requirement – “Students will enter their name”

Rough Requirement:

Student Name:

Scripted process: step by step instructions for hand drawing a rough form for the W.O. requirements.

Page 25: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Scripted Process (2) Scripted process: step by step process on how to eliminate ambiguities from the rough requirements (drawings) using trained data and searching for the best match.

Example:Student First Name: Student Middle Name:Student Last Name:

Page 26: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Elicitation Process (Scripted Process 2)

Page 27: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Scripted Process (3)

Example:Application will contain: Input text field of length 20 for Student First Name.Input text field of length 20 for Student Middle Name.Input text field of length 20 for Student Last Name.A table will be created for the application containing a column for each field described above. Each column will be of type varchar of length 20.

Scripted process: step by step process between novice and experienced developers on how to write the final functional requirements for the W.O.

Page 28: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Elicitation Process (Scripted Process 3)

Page 29: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Training Example

Page 30: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in
Page 31: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Expected Results A prototype of a tool containing a knowledge base

supporting inferences learned for requirement draft

A step by step scripted process will aid developers and customers in reducing ambiguities from functional requirements during the elicitation process

A process/tool that learns and gains experience on specific university department requirements

Cognitive distance will be reduced in the elicitation process as compared to the non-automated elicitation process

Page 32: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Req. 1: Application will contain Child’s name.Req. 2: Application will contain Parents’ name.Req. 3: Application will contain Employee ID.

Req. 1: Application will contain Child’s First Name in a input text box of 20 characters

maximum

Application will contain Child’s Middle Name in a input text box of 20 characters

maximum

Application will contain Child’s Last Name in a input text box of 20 characters maximum

Req. 2: Application will contain Mother’s First Name in a input text box of 20 characters

maximum

Application will contain Mother’s Middle Name in a input text box of 20 characters

maximum

Application will contain Mother’s Last Name in a input text box of 20 characters

maximum

Application will contain Father’s First Name in a input text box of 20 characters

maximum

Application will contain Father’s Middle Name in a input text box of 20 characters

maximum

Application will contain Father’s Last Name in a input text box of 20 characters

maximum

Req. 3: Application will contain Faculty or Staff ID in an input text box of 11 characters

maximum.

After

Before

Page 33: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Impact of Results Potential combination of an ontology, neural network,

and a process for reducing ambiguities in requirements during the elicitation process, imply the production of a better set of functional requirements

Benefit the development team and the users who write the functional requirements (Surveys?? Some kind of assessment)

Cognitive distance can be reduced between two groups: (1) customer and the development team and (2) the experienced and inexperienced developer

Page 34: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Limitations of the Study Limited to focusing on misused and misunderstood

parameters between domain and engineering experts from various departments

The theory here could be used to map requirements to software design during requirements elicitation

Page 35: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Summary Reverse engineer existing applications To build a historical ontology and train the neural

network to provide reusability for future application development.

Create a scripted process to control the elicitation process which will aid in reducing ambiguity Reduce the cognitive distance between developer and

customer so that inexperienced developer works with novice customer to write requirements.

Provide inexperienced domain users a way to learn from existing concepts.

Page 36: Silvia Preston Ph. D. Candidate Dissertation Proposalorca.st.usm.edu/~spreston/phd/SilviaPreston... · Background of the Problem The role of Functional Requirements is critical in

Questions

Thanks for you presence and patience!