Functional Specification for InCase

Client: Acme Inc.
Developer: CyberSystems.com
Author: Jon Pearce

Introduction

InCase is a computer-aided software engineering (CASE) tool.

InCase helps developers create and edit the requirements, analysis, and design models typically needed by software development projects.

InCase maintains internal representations of these models that can be used for generating reports and source code.

InCase models are expressed using UML notation.

Business Context

Terminology:

Stakeholders: Stakeholders are people or organizations interested in the outcome of a software development project. Three major categories of stakeholers are customers, developers, and users.

System Model: The system model is a representation of a software system to be commissioned by customers, built by developers, and used by users. The system model contains three sub-models: the requirements model, the analysis model, and the design model.

Requirements Model: The requirements model describes the user's view of the system. Its intended audience are all stakeholders.

Analysis Model: The analysis model also describes the user's view of the system. Its intended audience are developers.

Design Model: The design model describes the system from the devloper's view.

InCase assumes that the goal of the requirements and design phases of a typical software development project is to build a system model consisting of a requirements model (featuring UML use case diagrams), followed by an analysis model (featuring UML class, sequence, and state diagrams), and finally a design model (featuring UML class, component, and sequence diagrams.)

Accordingly, InCase begins by creating the following package structure:

These packages might be elaborated during the requirements and design phases of a typical software development lifecycle:

 

Functional Requirements

InCase users are called developers.

InCASE use cases can be organized into five packages:

Edit Use Case Model Use Cases

UC 1.1 Elaboration of Add/Edit/Remove Association

Actors: Developer

Description: Developer connects an actor and a use case with an association.

Priority: High

Risk: Low

Scenarios

Main Scenario:

Developer: Selects "add association"

InCASE: Prompts user for a use case

Developer: Selects use case

InCase: Propmts user for an actor

Developer: Selects an actor

InCase: Asks developer if actor is primary, secondary, or unknown

Developer: Makes selection

InCase adds association between selected actor and use case to the requirements model.

Edit Analysis Model Use Cases

Edit Design Model Use Cases

Generate Code Use Cases

 

Non-Functional Requirements

Usability

Reliability

Performance

Supportability

Implementation

Interfaces

Operation

Packaging

Legal

Revision History

Revision

Revised by

Date

1.0

Pearce

7/30/2009

1.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Appendices