Contact Us

Contact us if you have any questions or suggestions regarding Almware. Use the form or write us a letter.
Resources User Manual Requirements Requirements Management

Requirement Artifact Types Overview

Types of artefacts used to describe requirements in Almware

In Almware, requirements are explained using different types of artifacts, which are interconnected. These artifacts detail various parts of a requirement and help maintain consistency. They also make it possible to reuse specific artifacts, like data models or UI screens, across multiple requirements.

This method allows you to view requirements from different angles. For instance, you can see which requirements are using a specific data entity, UI screen, or API method. This way, if you need to change something in the data model or UI, you can easily identify which requirements and API methods are affected and how they are tested.

Almware organizes requirements into three levels:

  1. Business requirements
  2. Software requirements
  3. Specifications
Requirements Artifacts

Business Requirements

Business requirements are used to define any high-level requirements of projects, like objectives, goals, outcomes from both the user’s and business’s perspectives. They include:

  1. Business Requirements (business goals, constraints, rules)
  2. User Requirements (use cases, user stories)
  3. Other Types of high-level requirements

Software Requirements

Software requirements are used to describe the software's functions and features and to link business requirements to the implementation.

Software requirements have two levels:

  1. Requirements Modules
  2. Software Requirements

Requirement Modules

Requirement module are group of related software requirements that are developed and work together to provide specific functionality. Modules help organize multiple requirements based on software functionality, making it easier to focus on specific areas during project management.

A module can contain multiple software requirements, but each software requirement belongs to only one module.

For example, a module might group together requirements that describe CRUD (Create, Read, Update, Delete) functions for an entity. In contrast, a use case (as an example of a business requirement) might include only part of CRUD functionality (e.g. Create function) or combine different requirements from various modules needed to implement that use case.

Software Requirements

A software requirement artifact is a key type of requirement in Almware. It is used to break down and describe both functional and non-functional requirements for the system.

These requirements provide traceability and link business requirements with requirement specifications, as well as with testing and issue tracking activities.

For example, let's say we have a requirement module called "User Administration."
This module would include the following software requirements (with a separate artifact for each requirement):
-User Directory,
-User Search,
-View User Information,
-Add User,
-Edit User,
-Unlock User,
-Lock User,
-Delete User

Software requirements provide tre traceability between high-level requirements, specifications (like UI designs, data model entities, APIs, etc.), test cases (and their results), and software units (including the corresponding source code).

Specifications

In Almware, you can add extra artifacts to a project, beyond the main software requirements. These additional artifacts can be customized based on the project's needs and may include:

Data Model Entity

A data model entity describes the structure and relationships of data used in the system. It defines entities (like database tables, file classes, etc.) and their attributes.

This artifact helps to understand which entities are used in the system, how they are related, and which requirements they are used in.

User Interface (UI)

The user interface (UI) artifact describes a specific screen or a significant state of a screen of the user interface, or part of it.

This artifact can include visual information (screenshots, Figma frame links, screen prototypes), links to external systems (prototypes or layouts in other tools), and textual descriptions (UI specifications).

Application Programming Interface (API Methods)

API artifacts define how different parts of the software, or the software and external systems, communicate. These artifacts link API methods to the functional requirements they implement.

Customizable artifacts

Customizable artifacts are used for additional details about requirements or their implementation. They can describe events, notifications, configuration variables, and other system elements.

Customizable artifacts can be used to create lists of events, notifications, or other project artifacts that can be linked to requirements.