Running Head: CS411 LAB I – ICAT PRODUCT DESCRIPTION ... LAB I – ICAT Product Description

advertisement
Running Head: CS411 LAB I – ICAT PRODUCT DESCRIPTION
LAB I – ICAT Product Description
Daniel Spangler
CS411
Janet Brunelle and Hill Price
March 17, 2014
Version 2
1
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
Table of Contents
1 INTRODUCTION ........................................................................................................ 3
2 ICAT PRODUCT DESCRIPTION............................................................................... 4
2.1 Key Product Features and Capabilities .................................................................. 4
2.2 Major Components (Hardware/Software).............................................................. 5
3 IDENTIFICATION OF CASE STUDY ....................................................................... 5
4 ICAT PRODUCT PROTOTYPE DESCRIPTION ...................................................... 5
4.1 Prototype Architecture (Hardware/Software) ........................................................ 6
4.1.1 Data Model...................................................................................................... 7
4.1.2 Graphical Interface.......................................................................................... 8
4.1.3 Analytics Engine ............................................................................................. 8
4.1.4 Controller ........................................................................................................ 9
4.2 Prototype Features and Capabilities....................................................................... 9
4.3 Prototype Development Challenges ..................................................................... 10
5 Glossary .......................................................................Error! Bookmark not defined.
6 References ....................................................................Error! Bookmark not defined.
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
CS 411 Lab I – ICAT Product Description
1 INTRODUCTION
It is estimated that 80 percent of all systems engineering failures can be traced back
to Type III errors (Bea, Mitroff, Farber, Foster, & Roberts, 2009, p. 36). Type III errors
can loosely be defined as “the error associated with solving the wrong problem precisely”
(Mitroff, 1998, p. 15). They are a result of not properly defining a problem before
implementing a solution. The proper definition of a problem might seem to be an
obvious step in problem solving, but as systems get increasingly complex, with growing
numbers of dependencies, this seemingly obvious issue becomes more problematic. The
problem definition process is denied the same engineering rigor that implementation
receives and often results in a loss of resources.
A recent example of this is the case where Boeing decided that their domestic
suppliers were too expensive and that outsourcing parts of their production would reduce
costs. Outsourcing their components ended up costing 12-18 billion dollars, a delay on
their Boeing 787 Dreamliner, and a large amount of negative publicity. Had they
properly analyzed the problem domain they might have chosen a different solution
(Boeing, 2013).
Another example is the case where JC Penney decided to change their pricing
structure to address sagging sales. The assumption was that customers would buy more if
they had a simplified pricing structure, but their core customer base preferred the existing
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
structure. This cost the company an estimated one billion dollars as their repeat
customers began shopping at other stores (J.C. Penney, 2013).
2 ICAT PRODUCT DESCRIPTION
It is theorized that a major reason that Type III errors are often neglected a proper
analysis is a lack of modeling tools and methodologies (Bea et al, 2009, p. 37). The
Interactive Context Analysis Tool (ICAT) attempts to fill that void by providing a
graphical user interface in which software engineers can model a problem domain. The
ICAT allows stakeholders to visualize, perform analytics and experiment with a problem
domain, facilitating improved decision-making.
2.1 Key Product Features and Capabilities
The primary feature of the ICAT is the ability to model a problem domain in a
visual context. It does this by allowing a systems engineer to create a digital model of a
problem domain within a diagramming tool. The layout of the diagram is similar to a
context diagram with additional features relevant to the specific use case of modeling a
problem domain.
The diagrams have features common to other diagramming tools such as zooming,
panning, and exporting; but the ICAT also adds capabilities unique to the specific task of
modeling and analyzing problem domains. The ICAT narrows down the shapes in a
diagram to circles and arrows. A circle represents an entity and an arrow represents the
influence between two entities. An entity is something within the problem domain such
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
as a stakeholder, resource, or objective, while a force represents the influence between
entities.
The systems engineer constructs a diagram by adding entities and forces. Each
entity and force contains domain specific properties that influence the visualization of
these shapes. One example of this is the weight associated with a force. The ICAT will
style the connecting lines behind a weight differently based on the weight entered by the
user. A force with a higher weight will have a thicker line. Another example is the use
of background color to represent the type of entity being rendered.
The most important of the domain specific features is the ability to provide
analytics on the domain. A systems engineer can perform a suite of standard algorithms
to assist in analysis. The initial implementation consists of in-degree and out-degree
centrality. These algorithms assist the systems engineering in determining how much
influence is directed on specific entities and the degree in which an entity influences
others.
2.2 Major Components (Hardware/Software)
The ICAT is a standalone desktop style application. It has no external hardware or
software dependencies outside of a file system and an operating system capable of
running Java. The application consists of the following major software components:
Graphical Interface, Controller(s), Data Model, and Analytics Engine.
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
Figure 1 - Major Functional Components Diagram
2.2.1 Graphical Interface
A systems engineer always interacts with the system through the ICAT graphical
interface. This is the only software component directly accessible to a user of the system.
Additional components are utilized internally to facilitate the user experience. The first
view that a user encounters is the Dashboard. The Dashboard allows a user to search for
projects, view recent projects, and load a specific project. The Workspace view is
presented to the user once a project is selected. The Workspace is where all project
specific functions are performed such as the creation and analysis of a problem domain.
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
2.2.2 Data Model
Figure 2 – Data Model High Level Class Diagram
The data model for the ICAT is similar to a directed graph. Each vertex in the
graph represents an Entity within the problem domain. A user can include descriptive
information about the Entity including things such as name, classification, and
controllability. Additionally, visual coordinates are also stored on the Entity to identify
positioning in the visual representation. The edges of the graph represent Forces within
the problem domain. A Force goes from one Entity to another Entity. In addition to
maintaining this relationship, the Force can also contain weighting to indicate that some
Forces represent more influence than others.
2.2.3 Analytics Engine
The Analytics Engine is responsible for executing analytics algorithms on the data
model and producing reports depicting the results. Each algorithm is implemented using
a well-defined interface to allow for future extensibility, but only In-Degree and OutDegree centrality are initially implemented.
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
Figure 3 – Mathematical Description of In-degree and Out-degree Centrality
The in-degree algorithm describes how an entity is influenced by other entities while the
out-degree algorithm describes how much influence a given entity has on others. These
algorithms also take into account user provided data such as the weight of a force.
2.2.4 Controller(s)
The ICAT utilizes a standard Model View Controller (MVC) architecture to manage
internal interactions within the application. The Graphical Interface represents the View
and the Data Model represents the Model within the MVC. The Controller is used to
manage the interactions between the various components in the system. It instructs the
Graphical Interface on what should be displayed at any given time, and the Graphical
Interface notifies it of any actions performed by the user. This sort of interaction occurs
between the Data Model and Analytics Engine as well. The Analytics Engine could be
considered a type of Controller, but is listed independently given the scope and
importance it plays in the overall application.
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
3 IDENTIFICATION OF CASE STUDY
The primary stakeholder for this project is Dr. Patrick Hester. He is an associate
professor in the Engineering Management and System Engineering department at Old
Dominion University. Dr. Hester is frequently presented with large, complex problems
in which Type III errors are often present. Dr. Hester currently uses combinations of
generic diagramming and mind mapping tools to develop context analysis diagrams for
his various projects but has expressed the need for a custom tool developed for the
explicit purpose of modeling problem domains.
4 ICAT PRODUCT PROTOTYPE DESCRIPTION
The primary goal of the ICAT prototype focuses on the ability to model a problem
domain in a visual context. Once the problem domain is modeled, then it can be analyzed
both manually and programmatically. The secondary goal is to execute one or more
analytics algorithms on the model.
It is important that both of these goals be addressed in order to prove the viability of
the product. If analytics cannot be executed against the model, the problem domain could
be created in a generic diagramming tool such as Microsoft Visio. If the problem domain
cannot be modeled then analytics cannot be executed. A successful prototype will allow
systems engineers to use the ICAT to quickly create and traverse a real problem domain
and have the system provide meaningful analytics driven reports about the problem.
Capability reduction occurs in the following categories: collaboration, export
formats, and number of analytics algorithms. These features are not considered necessary
to prove the viability of the ICAT, however, the prototype will be constructed in such a
way that future teams could add these capabilities by implementing well-defined
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
abstractions around these areas. For example, a pluggable architecture will be used to
allow additional analytics algorithms to easily be registered with the application.
4.1 Prototype Architecture (Hardware/Software)
Given that the ICAT is a standalone desktop application with no external
dependencies, no changes to the previously defined major hardware and software
components are need for the prototype. An additional component called the Testing
Dashboard will be added to facilitate verification of the application. The Testing
Dashboard will provide a mechanism to construct and execute automated tests to verify
that the application is working as expected and returning appropriate results from the
analytics engine. This will be important in verifying that the prototype meetings its
goals.
Figure 4 – Major Functional Components Diagram with Testing Dashboard
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
4.2 Prototype Features and Capabilities
The prototype demonstrates the graphical modeling of a problem domain including
all of its entities, and the weight and direction of influence between them. The visual
representation of this information is easier to understand than verbose textual
descriptions, allowing stakeholders to more quickly and accurately notice missing or
incorrect elements. Users are capable of printing or exporting a project to facilitate the
sharing of information with stakeholders that do not have the ICAT.
The ICAT allows for the storing of as many versions of a project as is desired. The
ability to rapidly change a project has the added benefit of facilitating experimentation
with hypothetical scenarios that would be impractical otherwise. This allows
stakeholders to visualize what would happen if they were able to impact the influence of
a particular entity within the domain. It also may serve as a revision history for the
purposes of providing traceability throughout the project.
4.3 Prototype Development Challenges
The largest usability challenge for the prototype will be developing a graphical
representation that is informative and appealing to the user. If it is too overwhelming or
becomes difficult to navigate, then the prototype will fail. To mitigate this it is
imperative to focus on the diagraming portion of development as quickly as possible such
that many iterations can be developed and reviewed by Dr. Hester. Early development of
large test scenarios will also be required.
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
The rendering of the diagrams is also the most difficult technical challenge. There
are potential libraries that may help, but the team has no experience with any of them. If
a library is not found, then there is a high risk of failure.
Most of the team members have never worked on a project this large before,
resulting in a learning curve that may prove to be challenging. This learning curve
includes using version control software, writing modular code, limited exposure to the
selected programming language, and the challenges of working in a shared codebase. All
of these issues can be overcome but are more problematic given the relatively short
timelines for the prototype.
5 GLOSSARY
Attribute – an entity that represents some quality that exhibits an effect on other entities
Dashboard – the area within ICAT in which the user searches for and loads projects into
the workspace.
Entity – objects within the data model; types include: problem, stakeholder, objective,
attribute, and resource
Force – show a directional influence between entities
Influence – a measure of the effect that one entity has on others within the problem
domain; 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
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
Problem – an entity that represents the issue or conflict that the solution is designed to
address
Problem Domain – the collection of entities, forces and associated information
necessary to consider when solving a problem
Project – a digital representation of the problem domain as entered by an ICAT 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 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, 19567)
Workspace – the area within ICAT in which the user edits or views a project
6 REFERENCES
Robert Bea, Ian Mitroff, Daniel Farber, Howard Foster, Karlene H Roberts (2009).
A new approach to risk: the implications of E3.
Risk Management (2009) 11, 30 – 43. doi: 10.1057/rm.2008.12
Mitroff, I.I. (1998). Smart Thinking for Crazy Times: The Art of Solving the Right
Problems. San Francisco: Berrett-Koehler Publishers.
CS 411 LAB I – ICAT PRODUCT DESCRIPTION
J.C. Penney (28 Jul 2013). Retrieved from Why Projects Fail: Catalog of Catastrophe:
http://calleam.com/WTPF/?p=5874
Boeing Commerical Aeroplanes (3 Feb 2013). Retrieved from Why Projects Fail:
Catalog of Catastrophe: http://calleam.com/WTPF/?p=4617
Stevens Institute of Technology. (2008). Core Concepts of Systems Engineering:
Glossary. Retrieved from The Center for Innovation in Engineering and Science
Education: http://ciese.org/curriculum/seproject/glossary.html
Kimball, A. (1957). Errors of the third kind in statistical consulting. Journal of the
American Statistical Association, 52(278), 133-142.
Download