blob: 85edae01af3363374f6b55683df0b3e8baf56a4c [file] [log] [blame] [view]
![osee.jpg](/docs/images/osee.jpg "osee.jpg")
OSEE was designed from the ground up to be a single tool that captures
all artifacts through-out the life-cycle of engineering. Since the
original OSEE project use was DoD, very strict guidelines are placed on
how we capture, trace and deliver our product. OSEE does this for us.
In addition to solving our specific engineering needs, it was decided
that a single engineering framework could be used for any software
development project. OSEE was designed to scale from a small team of 1
or 10 to a project of any size.
The team also wanted to address the issues of obsolesce. Too many times,
a tool is developed by one or more people to resolve a very specific
need. This tool is maintained and updated as needs change. Then the
engineers that developed that tool move to other positions. Or the
technologies that were used to develop that tool become obsolete. OSEE
was designed and developed under the Eclipse open source development
environment that is used world-wide. It was developed using one of the
leading software languages, Java, and it was made open-source so that
others could easily continue its development even if the existing
program moved to a different solution.
You can learn more about OSEE on our [project website](https://eclipse.dev/osee/).
# What is OSEE
The Open System Engineering Environment (OSEE) project provides a
tightly integrated environment supporting lean principles across a
product's full life-cycle in the context of an overall systems
engineering approach. The system captures project data into a common
user-defined data model providing bidirectional traceability, project
health reporting, status, and metrics which seamlessly combine to form a
coherent, accurate view of a project in real-time. By building on top of
this data model, OSEE has been architected to provide an all-in-one
solution to configuration management, requirements management, testing,
validation, and project management. All of these work together to help
an organization achieve lean objectives by reducing management
activities, eliminating data duplication, reducing cycle-time through
streamlined processes, and improving overall product quality through
work flow standardization and early defect detection.
# OSEE can be used for
- Configuration Managed Requirements Development
- Multiple dynamically configured Problem-Change-Request (PCR) systems
- Product Unit and Integration Testing
- Publishing deliverable documents
- Full traceability from high-level customer requirements to decomposed lower level requirements and even code, test and output files.
- Full Level A, B and C coverage tracking and reporting
- Agile Software Development
- Peer Reviews
- Process management
- Linking in other tools / databases
- Support for system safety tracking/reporting
- And any other use cases that need to be developed
# The major features of OSEE include
## OSEE Artifact Framework
The artifact is the fundamental object in OSEE. All data objects stored
within OSEE are artifacts. Artifacts are strongly typed and can store
any data throughout the systems engineering lifecycle. Any type of data
can be stored in OSEE as an artifact; not only systems engineering data
(such as processes and requirements), but also anything from meeting
minutes to architecture diagrams.
## Variant Management
Products developed in OSEE can take advantage of it's variant management
by using the waterfall method of build/release branching off each other
as children, or take advantage of our recent changes to a product-type
management where each product/feature is managed separately and parts
that are different for different customers/use-cases are tagged with
their applicability to that version.
## Full History
OSEE stores all changes to all artifacts in the database. This allows
for accidental changes to be backed-out and also facilitates research
into who did what and why.
## Dynamically Configured Model
Unlike relational databases where a new table is needed for each type of
object, OSEE Artifact Framework is an object database that can be run on
any SQL compliant database. Currently, Oracle, Postgres and HSQL are
used/tested. New objects can be created dynamically. This include meta
data on the artifacts and relations between artifacts. These models are
used by the features/applications that are built for different use cases
like problem tracking, configuration management, coverage, requirements
management and etc.
## REST and Web Interfaces
The need to easily access data stored within OSEE drove our architecture
to start providing many RESTful
(https://en.wikipedia.org/wiki/Representational_state_transfer)
services. And with those services available, the features of OSEE are
continually being provided through Web UI.
## Unit and Integration Testing
OSEE has a Test Environment that supports both unit and integration test
"scripts" that can be run individually or in a continuous integration
environment. Emulators can also easily be created to emulate different
pieces of hardware.
## Problem Change Request / Configuration Management
OSEE has a tightly integrated PCR and CM system built in. This allows
any number of teams to track their work within the same system. This
allows for a single user-interface for all PCRs, ability to link between
"actions", easily group different work for different teams within the
same "action" and dynamically configure each teams "work-flow" to be
different. Also integrated is a full-blown Peer Review system that
easily allows peer reviews to be created against a product, team or
action and be tracked similar to the PCRs.
# Usage
OSEE is currently used internal to Boeing. In addition, the OSEE Framework and some of its applications are in use by the Bosch company for their world-wide operations.
# Maturity
Different portions of OSEE are in different stages of maturity. In addition, all mentioned programs/companies can and have provided new features/fixes to the OSEE code-base. This is done through both the external eclipse.org development processes and the internal OSEE-team development processes.
# Contact
More information about OSEE can be obtained by visiting our [Eclipse
website](https://eclipse.dev/osee/) or by contacting one of the team
leads: Ryan Brooks (ryan.d.brooks AT boeing.com) or Don Dunne
(donald.g.dunne AT boeing.com)