Running Head: Lab 2 – ICAT Prototype Product Specification 1

advertisement
Running Head: Lab 2 – ICAT Prototype Product Specification
Lab 2 – ICAT Prototype Product Specification
Team Red
Chris Dashiell
CS 411 W
Professors J. Brunelle and G. H. Price
April 14, 2014
Version 2
1
Lab 2 – ICAT Prototype Product Specification
2
Table of Contents
1. INTRODUCTION .................................................................................................................................. 3
1.1
Purpose ......................................................................................................................................... 4
1.2
Scope ............................................................................................................................................. 5
1.3
Definitions, Acronyms, And Abbreviations ................................................................................. 5
1.4
References .................................................................................................................................... 6
1.5
Overview ....................................................................................................................................... 7
2. GENERAL DESCRIPTION .................................................................................................................. 8
2.1 Prototype Architecture Description .................................................................................................. 8
2.2 Prototype Functional Description .................................................................................................... 10
2.3 External Interfaces ........................................................................................................................... 10
List of Figures
Figure 1: Major Functional Component Diagram (MFCD) For ICAT ......................................................... 8
Lab 2 – ICAT Prototype Product Specification
3
1. INTRODUCTION
Every organization has successes and failures to the problems it tries to solve. Often, a
solution is provided but it turns out that the organization solved the wrong problem because it is
more complex than originally thought. This is considered to be a Type III error. While originally
defined in the field of statistics, by Mitroff and Featheringham, as “the error ... of having solved
the wrong problem ... when one should have solved the right problem,” it has since been applied
in other applications. Committing a Type III error can cause a significant amount of damage,
because the true problem has not been solved and a significant amount of time and/or resources
might have been wasted. Type III errors have been a contributor to more than 80% of project
failures within organizations.
Albert Einstein once said, “If I were given one hour to save the planet, I would spend
fifty-nine minutes defining the problem and one minute resolving it.” It is common for
organizations to do the exact opposite, spending the majority of the time working on a solution to
a problem and little time on defining the problem. Systems engineering is a field that focuses on
analyzing large projects in order to ensure they will be successful. Problem domain analysis is
one of the tools used within systems engineering and can help organizations prevent Type III
error. One reason problem domain analysis is only done on very large projects is that it can be a
complex and time consuming process. This process can be shortened and simplified with the
right software tools.
Interactive Context Analysis Tool (ICAT) is a software tool intended to be used by
systems engineers for problem domain analysis. With ICAT, a system engineer can create a
visual model of a problem domain. The engineer can then use algorithms provided by ICAT for
analysis to gain a greater understanding of the problem’s characteristics. It is possible to change
Lab 2 – ICAT Prototype Product Specification
4
aspects of the model in order to see how the problem domain is affected. This visual tool can
quicken the process and help eliminate some of the complexities of problem domain analysis
which will reduce the risk of type III error.
1.1 Purpose
Using ICAT, an engineer can create a visual model by using a set of diagramming tools that
can be used to create entities. These entities are then assigned a type which is represented on
visual model as different shapes. The user can then connect those entities together with forces
which are represented by directional lines connecting the two entities together. The result is a
directed graph with a viewport that can be zoomed in and out and panned to focus on certain
sections of the model. After a model has been created, ICAT can be used to run a set of
analytical algorithms to provide a better understanding of the problem domain. Examples of two
algorithms that are provided are influence and prominence. Influence, also known as out-degree
centrality, is a measure of the effect one entity has on all others in system. Prominence, also
known as in-degree centrality, is a measure of effect that other entities have on one specific
entity. Using these analytics, systems engineers can explore the impact of changing relationships.
They do this by adding, deleting, or modifying both entities and forces to figure how the
analytics will be changed.
The goal of ICAT is to reduce the risk of type III errors by reducing the complexity and the
amount of time spent on problem domain analysis. It is possible to use already existing, but
general purpose, diagramming applications to create a visual model but they do not provide the
analytical algorithms that ICAT provides. Also, because ICAT is a domain specific program
created for problem domain analysis, the interface is more powerful and simpler.
Lab 2 – ICAT Prototype Product Specification
1.2 Scope
The ICAT prototype will primarily focus on providing a graphical interface that allows a
systems engineer to accurately model a problem domain. This is the most important feature for
the prototype because the analysis algorithms cannot be used without creating a model first.
Although the analysis functionality of ICAT will not be the primary focus, two important
algorithms, influence and prominence, will be implemented that can be used to evaluate the
model of the problem domain. This capability of a key feature is what differentiates ICAT from
other diagram software. The analysis engine will be implemented in a library that makes it easy
to add more algorithms after the prototype is completed. It will also be possible to save and load
models to the file system. However, convenience features such as tools for easier collaboration
between multiple people on the same project and multiple export formats will not be
implemented in the prototype. Overall, the ICAT prototype will be a close approximation of the
final product and will demonstrate the viability of ICAT as a useful tool in problem domain
analysis.
1.3 Definitions, Acronyms, And Abbreviations
Attribute: an entity that represents some quality that exhibits an effect on other entities
Entity: objects within the data model; types include: problem, stakeholder, objective, attribute
resource
Force: constraining or enabling forces that show influence between entities
Influence: A measure of the effect that one entity has on others in the system; also known as
out-centrality
Metadata: Data associated with entities or forces
Objective: An entity that represents a goal or target of the real world project
5
Lab 2 – ICAT Prototype Product Specification
6
Problem: An entity that represents the issue or conflict that the solution is designed to address
Project: the collection of metadata and associated diagram created by the user
Prominence: A measure of the effect that other entities in a system have on a specific entity;
also known as in-centrality
Resource: An entity that represents a required good or service
Stakeholder: An individual or group affected in some way by the undertaking (Stevens Institute
of Technology, 2008)
Systems Approach: The application of a systematic disciplined engineering approach that
considers the system as a whole, its impact on its environment and continues throughout the
lifecycle of a project (Stevens Institute of Technology, 2008)
Systems Engineering: The orderly process of bringing a system into being using a systems
approach (Stevens Institute of Technology, 2008)
Type III Error: The type of error described as “giving the right answer to the wrong problem”
(Kimball, 1957)
Workspace: The area within ICAT in which the user edits or views the project
1.4 References
Kimball, A. (1957). Errors of the third kind in statistical consulting. Journal of the American
Statistical Association, 52(278), 133–142.
Robert Bea, Ian Mitroff, Daniel Farber, Howard Foster, Karlene Roberts.
"A new approach to risk: The implications of E3." Risk Management 11.1 (2009): 30-43.
http://ccrm.berkeley.edu/resin/pdfs_and_other_docs/bea_etal_RiskManagementArticlefin
al.pdf.
Lab 2 – ICAT Prototype Product Specification
Stevens Institute of Technology. (2008). Core Concepts of Systems Engineering: Glossary.
Retrieved from The Center for Innovation in Engineering and Science Education:
http://www.ciese.org/curriculum/seproject/glossary.html
Yadav, S. B., & Korukonda, A. (1985). Management of Type III Error in Problem
Identification. Interfaces, 15(4), 55-61
1.5 Overview
This product specification provides the hardware and software configuration, external
interfaces, capabilities and features of the ICAT prototype. The information provided in the
remaining sections of this document includes a detailed description of the hardware, software,
and external interface architecture of the ICAT prototype; the key features of the prototype; the
parameters that will be used to control, manage, or establish that feature; and the performance
characteristics of that feature in terms of outputs, displays, and user interaction.
(This space left intentionally blank.)
7
Lab 2 – ICAT Prototype Product Specification
8
2. GENERAL DESCRIPTION
The ICAT prototype architecture and features will be focused on providing graphical
interface that can be used to create a usable model of the problem domain. This includes creating
a suitable data structure for both the visual view of the model as a diagram but also one that
analysis algorithms are able to operate on. Only after sufficient capability to create a model can
the analysis algorithms start to be implemented. Saving and loading files will also be a
requirement for the prototype.
2.1 Prototype Architecture Description
The ICAT prototype is a Java desktop application which can be run on Windows, Linux,
and the Mac operating systems and requires no connection to the internet. The prototype can be
broken into five major software components as shown inside the blue box of Figure 1. The
testing dashboard is a component that has been added to the prototype to ensure the
implementation of ICAT is correct.
Figure 1: Major Functional Component Diagram (MFCD) For ICAT
Lab 2 – ICAT Prototype Product Specification
9
The data model defines how all data for an ICAT project is stored both in memory and on
disk. The underlying structure of an ICAT model of the problem domain can be represented as a
weighted, directed graph structure with a set of vertices and a set of edges. Each vertex
represents an entity and each edge represents a force. A project can be saved to the disk as a
single file, using a defined XML format that contains all the entities, forces, and metadata about
the model such as the name and rationale.
The graphical interface handles all of the interaction with the user. The graphical
interface displays the model to the user. It also provides a set of tools for modifying the model
such as adding, editing, and deleting both entities and forces. The model will be updated in real
time as the user makes changes to it. The user can zoom in or out on the graph and also pan the
view. The graphical interface provides a method of generating analysis reports and displaying
them to the user. Finally, it also provides the user with the ability to save and load projects.
The controller handles the modification of information in the data model. When a user
adds a new entity using the GUI, it is the controller that provides this service for the user and
then updates the GUI with the new values to be displayed to the user. The controller also
interfaces with the analysis engine and feeds the GUI data from it when a report is requested.
The final major component of the ICAT prototype is the analytics engine. It consists of
the implementation of the algorithms that the user can use for analysis on the model. For the
prototype, these are only the influence and prominence algorithms. When more analysis
algorithms are implemented, they will be included as a part of this component.
(This space left intentionally blank.)
Lab 2 – ICAT Prototype Product Specification
10
2.2 Prototype Functional Description
When ICAT is first started, the user will be presented with the dashboard window. From
the dashboard, the user can view a list of recent projects that have been saved along with an
accompanying thumbnail of what the model of the project looks like. It is also possible to search
by name for a specific project and start a new project from this screen.
Once a project is loaded, or a new project is created, the workspace window is presented
to the user. The workspace window contains a diagram with an interactive display of the problem
domain. The user can then add new entities and forces to the canvas. By selecting an entity or
force that already exists on the diagram, it is possible to modify the data associated with them. It
is possible to give each entity a name that is both displayed on the diagram and also can be used
in a search box. Because a problem domain can have a large number of entities and forces, it is
possible to zoom in or out of the diagram as well as pan the viewport. After the model of the
problem domain is complete, a user can use the analytics to generate a report. From the
workspace, it is possible to save the project as a XML file and export it as a CSV file. The user
can also print the diagram and save it as a PDF file.
2.3 External Interfaces
The ICAT prototype is a desktop application that can be used with common PC hardware and
is run on Windows, Linux, and the Mac operating systems. Because ICAT is a Java application,
a Java virtual machine is required to be installed. The following sections list the hardware,
software, user, and communication interfaces of the ICAT prototype.
(This space left intentionally blank.)
Lab 2 – ICAT Prototype Product Specification
11
2.3.1 Hardware Interfaces
ICAT does not interface with any special hardware. It is designed for the use of a keyboard
and mouse for input and a screen for visual output. It is also possible to print out images of the
diagram.
2.3.2 Software Interfaces
ICAT will not interface with other applications such as a database but will use many free and
open source libraries in the implementation of its features. It uses libraries for converting the
diagram from an image to the PDF file format, for saving and loading the project to an XML file
format, and for the creation of the GUI. It is also likely that the prototype use a low level
graphics framework or a more specialized charting layout and rendering library for the display of
the diagram.
2.3.3 User Interfaces
The user interface of ICAT is provided as a graphical desktop application. It is intended to be
used with a normal computer monitor, a mouse, and a keyboard. It might be possible to use a
touch screen but is not supported.
2.3.4 Communications Protocols and Interfaces
ICAT does not use any communications protocols or interfaces.
Related documents
Download