The Obversive project uses a user centered design model combined with a project workbook based management method. This means that the design of the program will be driven by documentation. The following documentation is available:

Requirements

Develop the initial user interface based on current user activities and types. Group requirements into Use Cases and prioritize by importance, window of opportunity, and technical complexity.

ProblemStatement
Description of the problem being solved in non-technical terms.
UserProfiles
A description of the specific user characteristics relevant to user interface design for the intended user population.
ContextualTaskAnalysis
A study of user's current tasks, work-flow, patterns, and conceptual framworks, resulting in a specification of underlying user goals.
UsabilityGoalSetting
Specific 'qualitative' and 'quantitative' goals, reflecting usability requirements extracted from the UserProfile and ContextualAnalysis.
PlatformCapabilitiesAndConstraints
The user interface capabilities and constraints of the target platform.
GeneralInterfaceDesignPrinciples
Relevant general user interface design principles from Usability literature.
UseCaseModel
An object-oriented formalization of functional requirements specifying usage of the application by external agents.
NonFunctionalRequirements
Requirements that do not relate to user function, such as performance, integration, platform, etc. Functional requirements are picked up during user analysis.
PrioritizedRequirements
Defines the relative priorities of system requirements covering both functional and non-functional requirements.

User Analysis

Detailed analysis of what the user wants in the application based on iterative usability studies of the proposed user interface.

WorkReengineering
User tasks are re-designed based on all Requirements Analysis and usability goals. No user interface design is involved in this task, just abstract organization of functionality and work-flow design.
ConceptualModelDesign?
Generate initial high-level design alternatives. Navigational pathways, rules for consistent presentation, and possible actions are established.
ConceptualModelMockups?
Generated prototype mock-ups of high-level design ideas, representing ideas about high-level functional organization.
IterativeConceptualModelEvaluation?
The mock-ups are evaluated and modified through iterative techniques which verify the usability of the interfaces. This WorkProduct? should record the changes made, and the results should go in the target WorkProduct?.
ScreenDesignStandards?
A set of product-specific standards and conventions for all aspects of detailed screen design is developed, based on any industry and/or organizational standards.
ScreenDesignStandardsPrototyping?
The ScreenDesignStandards? and ConceptualModelMockups? are applied to the design of the detailed user interface.
IterativeScreenDesignStandardsEvaluation?
The ScreenDesignStandards? are evaluated for usability. The changes made are recorded in this recorded in this WorkProduct?, and the results are put in the target WorkProduct?.
StyleGuideDevelopment?
A detailed recording of all specific UserInterface? design guidelines, as discovered during UserAnalysis?.
DetailedUserInterfaceDesign?
Detailed design of the complete product user interface is carried out based on the refined and validated UserAnalysis? to date.
IterativeDetailedUserInterfaceDesignEvaluation?
The usability of the DetailedUserInterfaceDesign? is evaluated and altered as needed. The changes are recorded here, the results are placed in the target WorkProduct?.

Project Management

Allocate requirements to releases and/or increments and plan activities that manage resource availability and other project constraints.

IntendedDevelopmentProcess
Outlines the general approach to be adopted in terms of techniques, work products, standards, etc.
ProjectSchedule
Time line showing dates, milestones, critical paths, etc.
ReleasePlan
For a multi-release project, this shows what functionality will be delivered in what release of the project.
QualityAssurancePlan
Documents quality assurance activities for topics such as Defect Removal.
RiskManagementPlan
Describes the plan for minimizing project failure risk.
ReusePlan
Describes what approaches will be followed to achieve the desired level of reuse.
TestPlan
Outlines the project's plans for testing the application.
ProjectDependencies
Describes what dependencies or assumptions the project is relying on (for example, a deliverable from a vendor).
ProjectIssues
A list of all outstanding issues, questions, and concnerns that are reviewed on a regular basis. This should just be a link to your Request Tracking queue, since that accomplishes the same thing.

Analysis & Design

Develop solutions to scenarios in terms of active objects that group related tasks and communicate with other object in order to complete them. Plan a solution to the problem explained from this analysis in terms of interacting objects, within constraints specified by the NonfunctionalRequirements?. Do this in an iterative fashion, revisiting UserAnalysis? as new information is found.

AnalysisDesignGuidelines?
Records the details on the analysis and design approaches being followed.
SubjectAreas?
A distinct business domain of interest that can be identified at analysis time perhaps allowing it to be analyzed and developed as a separate unit.
ObjectModel?
A consolidated model of objects' data (attributes), behavior, and relationships. Gives a high-level overview of the domain being analyzed
UsageScenarios?
UseCase? plus assumptions plus outcome.
ObjectInteractionDiagrams?
A working out of a scenario, showing interactions between objects to accomplish a task.
StateModels?
Show the life cycle of an objects -- its possible states and how it can change states.
ClassDescriptions?
A detailed description of each class. You should just point at your JavaDoc? (or similar) documentation generated from the source. Initially this can be like a DataDictionary?, but should be replaced with the JavaDocs?.
SystemArchitecture?
Description of the high-level components/structures of the implementation and the design principles guiding the implementation.
ApplicationProgrammingInterfaces?
Describes the programming interfaces to the project (from external sources). Simply linking to the JavaDocs? for the project will do.
TargetEnvironment?
Describes hardware and software environment in which the software will run.
SubsystemModel?
Partitioning of the system into smaller pieces (subsystems).
RejectedDesignAlternatives?
Details of designs considered, but rejected.
UserFeedback?
Records of what users thought of the interface at different stages.

Implementation

Develop the classes specified as a result of analysis and design in a programming language according to documented public/private interfaces so that they can be built and installed on the target platforms.

CodingGuidelines
Guildelines for develoeprs. Focus on naming conventions and packaging, not on source formatting. Source formatting should be left to AutoFormatters?.
PhysicalPackagingPlan?
Documentation about deliverables that will be shipped with the product.
DevelopmentEnvironment?
Describes the Development Environment developers will use.
SourceCode?
Actual implementation source code for the project. Simply point to the CVS browser or JavaDocs?.
UserSupportMaterials?
Documentation, delivered in various forms, which support the customer's use of the product.

Testing

Insure that the application meets the requirements, usability goals, and stability requirements as described in the Requirements and User Analysis sections.

BlackboxTests
Tests done against the system as a regular user, but much more intense.
BuildTests
Tests which verify that the system will build and run on each platform planned as a target.
InstallTests
Tests that ensure that the system is installable by the intended user.
UnitTests
Tests written by developers intended to verify the internal operation of the system. See UnitTesting.
UserInterfaceTests
Records of the UsabilityTests performed on the system. This should be the raw records that result from the User Analysis section.

Last edited on Friday, February 7, 2003 5:00:19 pm.


Edit PageHistory Diff Info