Running Head: LAB 1 – ICAT DESCRIPTION 1

advertisement
Running Head: LAB 1 – ICAT DESCRIPTION
Lab 1 – ICAT Product Description
Team Red
Kirby Weeks
CS 411W
Janet Brunelle / Hill Price
March 17, 2014
Version 3
1
LAB 1 – ICAT DESCRIPTION
2
Table of Contents
1. INTRODUCTION…………………………………………………………………………….3
2. PRODUCT DESCRIPTION…………………………………………………………………..4
2.1. Key Product Features and Capabilities…………………………………………………...4
2.2. Major Components (Hardware/Software)………………………………………………..5
3. IDENTIFICATION OF CASE STUDY………………………………………………………8
4. ICAT PRODUCT PROTOTYPE DESCRIPTION…………………………………………...9
4.1. Prototype Architecture (Hardware/Software)…………………………………………….9
4.2. Prototype Features and Capabilities…………………………………………………….10
4.3. Prototype Development Challenges…………………………………………………….11
GLOSSARY……………………………………………………………………………………..12
REFERENCES…………………………………………………………………………………..14
List of Figures
Figure 1. Major Functional Component Diagram (MFCD) for ICAT…………………………...6
Figure 2. Data Model……………………………………………………………………………..7
Figure 3. Centrality Algorithms………………………………………………………………….8
Figure 4. Major Functional Control Diagram (MFCD) for the ICAT prototype……………….10
LAB 1 – ICAT DESCRIPTION
3
Lab 1 – ICAT Description
1
INTRODUCTION
When systems engineers attempt to solve large scale problem domains, one of the key
factors is identifying those problems. If this is done incorrectly, it results in a type III error. The
type III error occurs when an incorrect problem is solved correctly. The term was originally
coined by Mitroff and Featheringham in 1974 (Yadav & Korukonda, 1985). The type III error
accounts for more than 80% of organizations’ failures when solving problems. This results in
wasted resources, such as time and money.
The ICAT, or Interactive Context Analysis Tool, will be built to minimize type III errors.
The phrase “a picture is worth a thousand words” is what the ICAT is based on. It will be a
brainstorming tool for systems engineers. By taking information in the form of data or words,
and transforming it into a graph or “picture”, the problem domain will be easier to visualize. The
ICAT will not eliminate type III errors automatically, but it will make identifying the problem
easier.
The ICAT will be an interactive software tool that allows the user to create a visual
representation of the problem domain. Users will be able to generate interactive and dynamic
diagrams that show the entities and forces involved in the problem domain. Usability will be
asynchronous for all users involved in the problem domain analysis process. Traceability, and
hence accountability, via notes on each user’s input on the diagram, will be available should the
project manager decides to keep track of team members’ input.
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.” Correctly understanding
LAB 1 – ICAT DESCRIPTION
4
the problem domain is an important part of the entire problem solving process. Problem domain
analysis is what the ICAT will improve.
(This space intentionally left blank.)
LAB 1 – ICAT DESCRIPTION
2
5
PRODUCT DESCRIPTION
ICAT stands for interactive context analysis tool, and will be built for problem domain
analysis for systems engineers. Using a graphical user interface, the user will be able to create a
visual representation of the problem domain. By inputting different entities, such as
stakeholders, objectives, attributes, and resources that will affect, or are affected by the problem
domain, and connecting them with lines of varying influence (known as forces), a directed graph
will be made.
The ICAT is an enhanced drawing tool for systems engineers in their attempts to identify
the correct problem before continuing to solve the problem. As with basic drawing software,
there will be pan and zoom, exporting the image to different software types, such as .png, .jpeg,
.csv, and printing. The reports that it can generate will make it stand out from a simple drawing
tool. ICAT will have the ability to show Prominence, and Influence of the current Project.
The ICAT’s main goals are to decrease the risk of type III errors and to shorten the time it
takes to solve problems. Instead of having raw data, a visual representation will be created,
allowing the systems engineer to have a better understanding of the problem and the problem
scope. This will reduce the risk of type III errors and shorten the entire process of solving
problems. The ICAT will give the user the ability to solve the correct problem the first time.
2.1
Key Product Features and Capabilities
The ICAT has several features and capabilities that will help the user correctly identify
the problem. Panning and zooming will be available, allowing the user to focus on a particular
subset of Entities or Forces. This will be particularly helpful in large scale problem domains. It
will also have the ability to export a specific image to different software types. This could be an
LAB 1 – ICAT DESCRIPTION
6
image of the entire project, or, for example, an image of the project that has been zoomed in 75%
and panned to the left several units. The software types available for export will be .png, .jpeg,
and .csv.
This same option will be available for printing. Printing will be available for the entire
project, or for subsections that have been panned and zoomed. Having a hard-copy could always
prove useful to the systems engineers working on defining the problem.
There will be forces that connect the entities, and those forces will have specific weights
to them. Each entity will have an area for the user to enter meta-data. The forces, and the metadata from the user, will transform the graph to represent the problem domain.
As mentioned in Section 2, the reports that ICAT can generate will be what separate it
from a simple drawing tool. The user will be able to generate reports based on Prominence, and
Influence. By running these reports, a systems engineer will be able to tell how complex a
problem domain is, and which Entities have the most effect on that problem domain.
2.2
Major Components (Hardware/Software)
The hardware components for ICAT are basic. Any computer built within the last ten
years will have the specifications to run ICAT. A keyboard, mouse, and screen will also be
required. Also, any laptop with any basic computing power will suffice. ICAT does not require
intense processing speed or large amounts of memory.
Figure 1 illustrates the software representation of ICAT or the MFCD (Major Functional
Component Diagram). The software will be modeled around the MVC or Model View
Controller concept. There are three parts with this pattern, the data model, the viewer (Graphical
LAB 1 – ICAT DESCRIPTION
7
Interface), and the controllers. There will also be an analytics engine, another controller, where
the algorithms will be handled, and a file system, where data will be saved and loaded.
Figure 1
The controllers will be coded to keep everything up-to-date. As Figure 1 illustrates, it
will also update the file system. The viewer will be a Graphical Interface. It will give a visual
representation of the data model to the user. It will also consist of the drawing canvas, as well as
the buttons, scroll bars, menus, checkboxes, and any other design elements the user can “see”
while looking at the screen. The model component of the MVC is shown in Figure 2.
LAB 1 – ICAT DESCRIPTION
8
Figure 2
The data model, shown in Figure 2, is comprised of a single Project, Entities, and Forces.
A Project contains zero to infinite Entities, and zero to infinite Forces. An Entity contains zero
to infinite Forces, Metadata, a vertex, and radius. A Force contains a weight, a destination
Entity, and a Source entity. Although the source is already known upon creation of the Entity, it
must be stored in the Force component of the data model.
The analytics engine is where the reports algorithms for ICAT will run. This includes
Influence, and Prominence. The Influence algorithm will generate a report to show how many
Forces are coming out of each Entity, while the Prominence algorithm will generate a report
showing how many Forces are going into each Entity. A mathematical representation of the
algorithms can be viewed in Figure 3.
LAB 1 – ICAT DESCRIPTION
9
Figure 3
The last piece of software necessary to run ICAT will be a file system. No centralized
database will be necessary. The file system on the computer will store all of ICAT’s projects.
(This space intentionally left blank.)
LAB 1 – ICAT DESCRIPTION
3
10
IDENTIFICATION OF CASE STUDY
The red team’s case study is the team’s faculty advisor, Dr. Patrick Hester. Dr. Patrick
Hester is an associate professor in the engineering management and systems engineering
department at Old Dominion University. He has a Ph.D. in Systems Engineering, and his work
entails solving large scale problems.
Dr. Hester has made it clear that when solving problems, the type III error happens much
too often. Too little time is spent identifying the problem. He proposed a software tool that
would aid him strictly in problem domain analysis. He has expressed his want to visualize the
problem, instead of looking at raw data.
(This space intentionally left blank.)
LAB 1 – ICAT DESCRIPTION
4
11
ICAT PRODUCT PROTOTYPE
The ICAT prototype is little different than the real-world product. The ability to take raw
data and transform it into a visible, interactive diagram, hence making a problem domain more
understandable, is what this prototype is going to do. The user will be able to “draw” his or her
problem on the canvas, and also run algorithms on it from the analytics engine, as described in
Section 2.2. The user will also be able to set an entity as controllable or non-controllable, and
visible or non-visible.
The prototype must have all the components available, the drawing canvas, the GUI, and
the algorithms. Originally, the ICAT was planned to be able to plugin to S.T.A.T. and C.O.R.E.
(other systems engineering tools), however, due to time constraints, this was eliminated. The
ability to view a graph’s connectivity has also been eliminated from the prototype as Dr. Hester
said this algorithm was not necessary. The ICAT prototype will have the capability to
implement these in the future, should someone desire to do so.
4.1
Prototype Architecture (Hardware/Software)
The hardware required for the prototype will be the same as the real world product. Any
computer built with sufficient processing power, a keyboard, mouse, and a screen will suffice.
Also, any laptop with the same specifications will be able to run ICAT.
The software for the prototype is similar the real world product with some minor changes
illustrated in Figure 4. Most of the changes in the MFCD or Major Functional Component
Diagram for the prototype, all have to do with testing. A testing dashboard has been created for
LAB 1 – ICAT DESCRIPTION
12
better automation of testing. This will reduce the time spent in the testing phase. The file system
will also save project tests for examination.
Figure 4
The prototype will also be creating .csv and .pdf files in the file system. This is shown in
Figure 4 as well. All of these changes from Figure 1 revolve around the prototype’s ability to
run test data efficiently.
4.2
Prototype Features and Capabilities
The ICAT prototype will demonstrate the ability to draw on the canvas, creating a project
with entities and forces. It will also showcase the ability to run two centrality algorithms,
prominence and influence, defined in Section 2.2, to generate reports. As seen in Figure 4, the
LAB 1 – ICAT DESCRIPTION
13
prototype will export to .csv and .pdf, for any needs the user may have in his attempts at solving
problems.
The prototype will provide full functionality on the canvas. This includes pan and zoom,
set controllability, and set visibility for the entities. For the project, there will be the options to
save project, save project as, delete project, print, and export to .csv and .pdf. For the ICAT,
there is little difference between the real world product and the prototype.
4.3
Prototype Development Challenges
A very challenging aspect of developing the ICAT prototype is the large scale on which
this software must be developed. There are many new things the red team will have to learn in
order to be successful. No one on the team is familiar with graphics, as it was not taught in
previous classes. The red team has decided to use Github to share code, which will also be a
challenge to learn. In order for this to be a success, it will require great amounts of effort and
determination from everyone involved, however, based on everyone’s effort in CS410, the red
team has no doubt they will succeed.
(This space intentionally left blank.)
LAB 1 – ICAT DESCRIPTION
14
GLOSSARY
Attribute – an entity that represents some quality that exhibits an effect on other entites
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
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 the 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
LAB 1 – ICAT DESCRIPTION
15
Stakeholder – an individual or group affected in some way by the undertaking (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
LAB 1 – ICAT DESCRIPTION
16
REFERENCES
Kimball, A. (1957). Errors of the third kind in statistical consulting. Journal of the American
Statistical Association, 52(278), 133-142.
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
Download