Merged PR 325: update: Requirements Engineering Prozess dokumentiert und Beispiel-Fragebogen...
update: Requirements Engineering Prozess dokumentiert und Beispiel-Fragebogen angepasst.
This commit is contained in:
commit
773d12f34d
6 changed files with 452 additions and 70 deletions
|
|
@ -6,6 +6,22 @@ Best practices and guidelines for writing code documentation.
|
|||
|
||||
All documentation should be easy maintain and accessible. Easy formats should be preffered over more complex ones.
|
||||
|
||||
### Markdown
|
||||
|
||||
Markdown is the easiest format to write and read. It is recommended to use markdown for all documentation as long as more complex formatting is not needed.
|
||||
|
||||
### AsciiDoc
|
||||
|
||||
AsciiDoc allows more formatting and can create more official looking documents.
|
||||
|
||||
It is recommended to write a pipeline template to easily convert AsciiDoc files to PDFs. Thre we can also have an AsciiDoc template specifiying the look of the PDF. The pipeline template then makes it easy to consume the pdf creation functionality.
|
||||
|
||||
To manually create a PDF from an AsciiDoc file, you need asciidoctor and use the following command:
|
||||
|
||||
```bash
|
||||
asciidoctor-pdf -a pdf-theme=my-theme.yml example.adoc
|
||||
```
|
||||
|
||||
## PlantUML
|
||||
|
||||
Create png images from PlantUML files using the following command:
|
||||
|
|
|
|||
178
requirements-engineering-process.md
Normal file
178
requirements-engineering-process.md
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
# Requirements Engineering Process
|
||||
|
||||
This document provides a comprehensive overview of our requirements engineering process. It is designed to help experienced professionals understand how we collect, document, and manage requirements using Azure DevOps. By adhering to this guide, we ensure consistency, traceability, and compliance throughout our projects.
|
||||
|
||||
The requirements engineering proicess is tightly bound to the [traceability concept](traceability-concept.md) and the [requirements gathering interview](requirements-gathering-interview.md).
|
||||
|
||||
Requirements are work items in Azure DevOps and the summarizing AsciiDoc document is located within the [docs-requirements](https://dev.azure.com/ypsag/ITSandbox/_git/docs-requirements) repository.
|
||||
|
||||
## Overview
|
||||
|
||||
Our requirements engineering process is a structured approach that takes us from the initial stakeholder conversations to a finalized set of requirements. We emphasize:
|
||||
|
||||
- **Clarity and Testability:** Requirements should be simple statements that are testable. We are writing test cases along with the stakeholder requirements.
|
||||
- **Traceability:** Maintaining clear links from requirements through to implementation and testing and back.
|
||||
- **Compliance:** Ensuring all regulatory requirements are identified and addressed.
|
||||
- **Stakeholder Engagement:** Actively involving stakeholders throughout the process.
|
||||
- **Risk Management:** Identifying and mitigating risks associated with requirements. Recording them linked to the requirements.
|
||||
|
||||
We use **Azure DevOps** with the **CMMI process template** to manage our Work Items, facilitating collaboration and traceability.
|
||||
|
||||
## Process Steps
|
||||
|
||||
### 1. Initial Engagement
|
||||
|
||||
**Objective:** Establish a foundational understanding of the project and build relationships with stakeholders.
|
||||
|
||||
- **Activities:**
|
||||
- Conduct initial meetings to understand project vision and objectives with sponsors or, if already appointed, project managers.
|
||||
- Establish communication channels and protocols. E.g. use Teams channels, Slack or such for quick communication.
|
||||
- Set expectations for the requirements gathering process.
|
||||
|
||||
### 2. Stakeholder Identification
|
||||
|
||||
**Objective:** Identify all individuals and groups who have an interest in or influence over the project.
|
||||
|
||||
- **Activities:**
|
||||
- Create a stakeholder register. This should be part of the summarizing AsciiDoc document.
|
||||
- Analyze stakeholder roles, interests, and influence.
|
||||
- Prioritize stakeholders based on their impact on requirements.
|
||||
|
||||
### 3. Requirements Gathering
|
||||
|
||||
**Objective:** Collect detailed requirements from stakeholders.
|
||||
|
||||
- **Activities:**
|
||||
- Conduct interviews using our [Interview Questionnaire](requirements-gathering-interview.md) (refer to the separate file).
|
||||
- Hold workshops and brainstorming sessions.
|
||||
- Observe existing systems and workflows.
|
||||
- Capture raw requirements and create initial Requirement Work Items in Azure DevOps.
|
||||
- Demonstrate and teach how unexpierenced stakeholders can review requirements and their current state in Azure DevOps.
|
||||
|
||||
### 4. Requirements Documentation
|
||||
|
||||
**Objective:** Document requirements clearly and comprehensively.
|
||||
|
||||
- **Activities:**
|
||||
- Use the "Requirement" Work Item in Azure DevOps to record each requirement.
|
||||
- Include detailed descriptions, affected regulations, and stakeholder information.
|
||||
- Ensure each requirement is a simple, testable statement. Write test cases along with the requirements.
|
||||
- Add acceptance criteria.
|
||||
|
||||
### 5. Requirements Analysis
|
||||
|
||||
**Objective:** Refine and validate the collected requirements.
|
||||
|
||||
- **Activities:**
|
||||
- Analyze requirements for clarity, completeness, and feasibility.
|
||||
- Identify and resolve conflicts or duplicates.
|
||||
- Validate requirements with stakeholders.
|
||||
|
||||
### 6. Traceability
|
||||
|
||||
**Objective:** Maintain end-to-end traceability of requirements through the project lifecycle.
|
||||
|
||||
- **Activities:**
|
||||
- Link Requirement Work Items to related Specifications, Design Documents, Implementation Tasks, Test Cases, and other artifacts in Azure DevOps.
|
||||
- Use a Traceability Matrix to map relationships (see [traceability concept](traceability-concept.md)).
|
||||
|
||||
### 7. Requirements Management
|
||||
|
||||
**Objective:** Manage changes to requirements systematically.
|
||||
|
||||
- **Principles:**
|
||||
- **Immutability of Requirements:** Once a requirement is baselined, it should not be altered. If changes are needed, deprecate the old requirement and create a new version.
|
||||
- **Version Control:** Use Azure DevOps Work Items to link older versions with their successors and maintain history.
|
||||
- **Activities:**
|
||||
- Implement a change control process for requirements updates.
|
||||
- Communicate changes to all stakeholders.
|
||||
|
||||
### 8. Risk Management
|
||||
|
||||
**Objective:** Identify and mitigate risks associated with requirements early in the project.
|
||||
|
||||
- **Activities:**
|
||||
- Document risks as separate work item of type Risk and link it to the Requirement Work Items.
|
||||
- Assess the impact and likelihood of each risk.
|
||||
- Develop mitigation strategies and documente them along with the risk.
|
||||
|
||||
## Azure DevOps Guidelines
|
||||
|
||||
### Requirement Work Item Structure
|
||||
|
||||
When creating a Requirement Work Item in Azure DevOps, ensure the following fields are populated:
|
||||
|
||||
- **Title:** Clear and concise summary of the requirement.
|
||||
- **Stakeholders:** Names or roles of stakeholders associated with the requirement.
|
||||
- **Description:** Detailed explanation, including purpose and background.
|
||||
- **Affected Regulations:** List any laws, standards, or regulations impacting the requirement.
|
||||
- **Acceptance Criteria:** Conditions that must be met for the requirement to be considered fulfilled.
|
||||
- **Test Cases:** Linked test cases for validating the requirement.
|
||||
- **Attachments:** Include supporting documents if necessary.
|
||||
|
||||
### Maintaining Traceability
|
||||
|
||||
Traceability is crucial for tracking requirements through all stages of development. We use a Traceability Matrix to map requirements to other project artifacts. As of now the document is created manually in AsciiDoc format. We aim to automate this process in the future.
|
||||
|
||||
**Template:**
|
||||
|
||||
| Requirement ID | Requirement Title | Affected Regulations | Stakeholders | Test Case ID(s) |
|
||||
|----------------|-------------------|----------------------|--------------|-----------------|
|
||||
| RQ-001 | [Title] | [Regulations] | [Roles] | TC-001 |
|
||||
|
||||
- **Requirement ID:** Unique identifier, we are using the Azure DevOps work item id.
|
||||
- **Requirement Title:** Summary of the requirement.
|
||||
- **Affected Regulations:** Relevant laws, standards, or regulations. We are using a link to the requirement work item representing the regulation in Azure DevOps.
|
||||
- **Test Case ID(s):** Linked test cases for validation, we are using the Azure DevOps Test Case id.
|
||||
|
||||
## Best Practices and additional Notes
|
||||
|
||||
- **Simple and Testable Statements:** Write requirements that are clear and can be verified through testing.
|
||||
- **Regulatory Compliance:** When regulations affect a requirement, include specific clauses or references.
|
||||
- **Versioning:** Do not alter baselined requirements. Deprecate and replace with new versions as needed.
|
||||
- **Stakeholder Engagement:** Keep stakeholders involved throughout the process for validation and feedback.
|
||||
- **Risk Identification:** Address risks early by documenting them alongside requirements.
|
||||
- **Consistent Terminology:** Use standard terms and definitions to avoid confusion.
|
||||
- **Communication:** Utilize Azure DevOps **Discussion** section in Work Items for conversations and decisions. Set up notifications for stakeholders to keep them informed of updates.
|
||||
- **Training:** Familiarize yourself with the Azure DevOps CMMI process template and our customized fields. Stay updated on best practices in requirements engineering.
|
||||
- **Regulatory Awareness:** Stay informed about regulations relevant to our projects (e.g., GDPR, HIPAA). Consult with compliance officers when in doubt.
|
||||
|
||||
## LLM Prompt example
|
||||
|
||||
```text
|
||||
When writing requirements, use the following format to clearly articulate the need, the stakeholder’s perspective, the desired outcomes, and the rationale. Adhere strictly to this structure:
|
||||
|
||||
When [condition or situation triggering the requirement],
|
||||
As [stakeholder role],
|
||||
I want [specific actions or outcomes to achieve].
|
||||
This ensures [reason or benefit for implementing the requirement].
|
||||
|
||||
Key Guidelines:
|
||||
1. Condition or Situation: Clearly state when or under what circumstances the requirement applies. Use "When..." to frame this.
|
||||
2. Stakeholder Role: Explicitly identify the stakeholder requesting the requirement. Use "As [stakeholder role]..." to reflect the stakeholder's voice.
|
||||
3. Desired Outcomes: Use "I want..." to specify what the stakeholder expects or desires to be achieved. List actions or outcomes in a concise, actionable manner.
|
||||
4. Rationale: Use "This ensures..." to explain why the requirement is important or what benefit it provides.
|
||||
5. Add a list of relevant acceptance criteria
|
||||
6. Add a list of test cases
|
||||
|
||||
Example:
|
||||
Title: Document Authorship and Timestamps
|
||||
When creating or modifying documents,
|
||||
As IT QA CSV representative,
|
||||
I want every document to:
|
||||
- Record the author.
|
||||
- Include timestamps for creation and all modifications.
|
||||
This ensures compliance with the "Attributable" principle of ALCOA+.
|
||||
Acceptance criteria:
|
||||
- The author's name is recorded on every document.
|
||||
- Timestamps are added for document creation and all modifications.
|
||||
Test cases:
|
||||
- Verify author name is captured on document creation.
|
||||
- Verify timestamps are added for all document modifications.
|
||||
|
||||
The input data is:
|
||||
|
||||
Requirement title: >>fill in the title<<
|
||||
Stakeholder: >>fill in the stakeholder role<<
|
||||
Requirement description: >>fill in the requirement description in your words<<
|
||||
```
|
||||
|
|
@ -1,63 +1,137 @@
|
|||
# Requirements Gathering Interview
|
||||
# Requirements Gathering Interview Template
|
||||
|
||||
This guide should help anyone in our team to conduct a requirements gathering interview and collect information about the needs, desires, and constraints of stakeholders.
|
||||
- The goal is to collect comprehensive information about stakeholders' needs, expectations, and constraints to inform project requirements accurately. These items can be initially basic and refined over time, but they should capture all identified requirements from the interview. How to Conduct a Requirements Gathering Interview
|
||||
|
||||
As an outcome we want to have Requirement work items in Azure DevOps. They can rather raw and empty but should be created for each requirement we gather. They can be refined later on.
|
||||
|
||||
## How to Conduct a Requirement Gathering Interview?
|
||||
## How to Conduct a Requirements Gathering Interview
|
||||
|
||||
### Preparation
|
||||
|
||||
- **Identify Stakeholders:** Determine who needs to be interviewed. This could include business-users, project sponsors and managers, and qa as well as csv staff.
|
||||
- **Research:** Understand the background of the project and the implication and impact of the project on the stakeholders.
|
||||
- **Define Objectives:** Know what you need to find out from the specific interview and stakeholder. Have clear focus and goals in mind. E.g. a business person will have different needs than a qa person.
|
||||
- **Prepare Questions:** Use this list of questions as a basis, adjust it to the stakeholder’s roles and the project’s context.
|
||||
- Identify Stakeholders: Determine who needs to be interviewed, such as business users, project sponsors, managers, QA personnel, and compliance staff.
|
||||
- Research: Understand the project's background and its impact on stakeholders.
|
||||
- Define Objectives: Clarify what information you need from each stakeholder based on their role.
|
||||
- Prepare Questions: Customize the interview questions to fit the stakeholder's role and the project's context.
|
||||
- Logistics: Schedule the interview and inform the stakeholder about its purpose and expected duration.
|
||||
|
||||
### Conducting the Interview
|
||||
### During the Interview
|
||||
|
||||
- **Explain the Purpose:** Clearly explain why you are conducting the interview and what you hope to achieve.
|
||||
- **Ask Open-Ended Questions:** Encourage detailed responses by asking questions that cannot be answered with a simple “yes” or “no”.
|
||||
- **Take Notes:** Document the key points of the conversation as Requirements in Azure DevOps.
|
||||
- Explain the Purpose: Start by clearly stating why you're conducting the interview and what you hope to achieve.
|
||||
- Establish Rapport: Build a comfortable environment to encourage open communication.
|
||||
- Ask Open-Ended Questions: Use questions that prompt detailed responses rather than simple yes/no answers.
|
||||
- Active Listening: Pay attention to the stakeholder's answers and ask follow-up questions as needed.
|
||||
- Document Responses: Take thorough notes or record the conversation (with permission) for accuracy.
|
||||
|
||||
### After the Interview
|
||||
|
||||
- Review Notes: Go over your notes promptly to ensure clarity and completeness.
|
||||
- Create Requirement Work Items: For each requirement discussed, create a Requirement Work Item in Azure DevOps.
|
||||
- Follow-Up: If necessary, reach out for clarification on any ambiguous points.
|
||||
- Validation: Send a summary to the stakeholder to confirm understanding and accuracy.
|
||||
|
||||
## Interview Questions
|
||||
|
||||
### General Questions
|
||||
|
||||
- Can you describe your role and how it relates to this project?
|
||||
- What are the main goals you want to achieve with this project?
|
||||
- Who are the end-users of this product/service?
|
||||
- What problems or challenges are you currently facing that this project should address?
|
||||
- Role Understanding:
|
||||
Can you describe your role and responsibilities within the organization?
|
||||
- Project Involvement:
|
||||
How does this project relate to your work or department?
|
||||
- Objectives:
|
||||
What are the main goals you want to achieve with this project?
|
||||
- End-Users:
|
||||
Who will be the primary users of this system or service?
|
||||
- Current Challenges:
|
||||
What problems or challenges are you currently facing that this project should address?
|
||||
|
||||
### Functional Requirements
|
||||
|
||||
- What specific features or functions do you need the system to have?
|
||||
- Can you walk me through a typical use case or workflow?
|
||||
- Are there any specific tasks that the system must perform?
|
||||
- Features and Functions:
|
||||
What specific features or functionalities do you need the system to have?
|
||||
- Processes:
|
||||
Can you walk me through a typical workflow or use case?
|
||||
- Tasks:
|
||||
What tasks must the system enable users to perform?
|
||||
- Automation:
|
||||
Are there manual processes that could be automated through this system?
|
||||
|
||||
### Non-Functional Requirements
|
||||
|
||||
- What performance criteria should the system meet (e.g. speed, reliability)?
|
||||
- Are there any security requirements or concerns we should be aware of?
|
||||
- What are the scalability requirements for the system?
|
||||
- Performance:
|
||||
What performance criteria should the system meet (e.g., speed, responsiveness)?
|
||||
- Security:
|
||||
Are there any security requirements or concerns we should be aware of?
|
||||
- Scalability:
|
||||
How should the system handle growth in users or data volume?
|
||||
- Reliability:
|
||||
What uptime or availability is expected for the system?
|
||||
- Compliance:
|
||||
Are there industry standards or regulations we need to comply with?
|
||||
|
||||
### User Interface and Experience
|
||||
|
||||
- Do you have any preferences or standards for the user interface design?
|
||||
- Are there any accessibility requirements we need to consider?
|
||||
- What kind of user training or support will be necessary?
|
||||
- Design Preferences:
|
||||
Do you have any preferences or standards for the user interface design?
|
||||
- Accessibility:
|
||||
Are there any accessibility requirements we need to consider?
|
||||
- User Training:
|
||||
What kind of training or support will users need?
|
||||
- Localization:
|
||||
Will the system need to support multiple languages or regions?
|
||||
|
||||
### Data and Integration
|
||||
|
||||
- What data needs to be captured, stored, and processed by the system?
|
||||
- Are there existing systems or databases that this project needs to integrate with?
|
||||
- What data privacy and compliance requirements must be followed?
|
||||
- Data Requirements:
|
||||
What data needs to be captured, stored, and processed by the system?
|
||||
- Existing Systems:
|
||||
Are there current systems or databases that need to integrate with this project?
|
||||
- Data Migration:
|
||||
Is there existing data that needs to be migrated to the new system?
|
||||
- Data Privacy:
|
||||
What data privacy and protection requirements must be followed?
|
||||
|
||||
### Constraints and Assumptions
|
||||
|
||||
- Are there any budget or time constraints we need to consider?
|
||||
- What assumptions are we making about this project that need to be validated?
|
||||
- Are there any risks or potential obstacles you foresee?
|
||||
- Budget and Timeline:
|
||||
Are there any budget or time constraints we need to consider?
|
||||
- Technological Constraints:
|
||||
Are there specific technologies or platforms we must use or avoid?
|
||||
- Assumptions:
|
||||
What assumptions are we making that need to be validated?
|
||||
- Resource Availability:
|
||||
What resources (personnel, equipment) are available or limited?
|
||||
|
||||
### Success Criteria
|
||||
|
||||
- How will you measure the success of this project?
|
||||
- What outcomes are most important to you?
|
||||
- Are there any key performance indicators (KPIs) that we should track?
|
||||
- Measuring Success:
|
||||
How will you measure the success of this project?
|
||||
- Key Outcomes:
|
||||
What outcomes are most important to you?
|
||||
- KPIs:
|
||||
Are there specific Key Performance Indicators we should track?
|
||||
|
||||
### Risks and Challenges
|
||||
|
||||
- Potential Obstacles:
|
||||
What risks or potential challenges do you foresee?
|
||||
- Risk Mitigation:
|
||||
Do you have suggestions for mitigating these risks?
|
||||
- Dependencies:
|
||||
Are there dependencies on other projects or initiatives?
|
||||
|
||||
## Tips for Effective Interviews
|
||||
|
||||
- Be Prepared:
|
||||
Familiarize yourself with the stakeholder's background and the project's context.
|
||||
- Build Trust:
|
||||
Be respectful and professional to encourage honest and open dialogue.
|
||||
- Clarify and Summarize:
|
||||
Restate key points to confirm understanding.
|
||||
- Stay Flexible:
|
||||
Be prepared to explore new topics that arise during the conversation.
|
||||
- Avoid Jargon:
|
||||
Use clear language and explain any necessary technical terms.
|
||||
- Manage Time:
|
||||
Keep track of time to cover all essential questions without rushing.
|
||||
- Seek Permission:
|
||||
Always ask before recording the interview or sharing sensitive information.
|
||||
- Follow Ethical Guidelines:
|
||||
Respect confidentiality and handle all information appropriately.
|
||||
|
|
|
|||
|
|
@ -1,78 +1,178 @@
|
|||
<mxfile host="Electron" modified="2024-10-05T09:12:19.198Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.7.5 Chrome/114.0.5735.289 Electron/25.8.1 Safari/537.36" etag="HLJEbvxCFhNgZQRwM6pw" version="21.7.5" type="device" pages="2">
|
||||
<mxfile host="Electron" modified="2024-12-20T11:55:34.476Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.7.5 Chrome/114.0.5735.289 Electron/25.8.1 Safari/537.36" etag="xDIV1luuTOnZ7q7HxJM7" version="21.7.5" type="device" pages="2">
|
||||
<diagram name="Page-1" id="VJjQVazO9LzCj5qsA8S6">
|
||||
<mxGraphModel dx="2482" dy="1570" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<mxGraphModel dx="1901" dy="2735" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-25" value="Markdown Document" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;verticalAlign=top;" vertex="1" parent="1">
|
||||
<mxGeometry x="840" y="280" width="520" height="280" as="geometry" />
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-25" value="Generated Stakeholder Requirements Document for Document Management System<br><br><br><br><br><br><br><br><br><br><br><br><div style="text-align: left;">Requirement 1</div><div style="text-align: left;"><br></div><div style="text-align: left;">......</div><div style="text-align: left;"><br></div><div style="text-align: left;">Requirement 2</div><div style="text-align: left;"><br></div><div style="text-align: left;">.....</div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;verticalAlign=top;" parent="1" vertex="1">
|
||||
<mxGeometry x="840" y="120" width="520" height="310" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-3" value="Stakeholder Requirement<br>STRS" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-3" value="Stakeholder Requirement<br>STRS" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="200" y="160" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-6" value="System Requirements Requirement<br>SYRS" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-6" value="System Requirements Requirement<br>SYRS" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="240" y="320" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-7" value="Functional Specification" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-7" value="Functional Specification" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="280" y="480" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-8" value="Configuration Specification" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-8" value="Configuration Specification" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="320" y="640" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-9" value="Configured Product" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-9" value="Configured Product" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#0050ef;fontColor=#ffffff;strokeColor=#001DBC;" parent="1" vertex="1">
|
||||
<mxGeometry x="400" y="780" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-10" value="Configuration Testplan" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-10" value="Configuration Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="520" y="640" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-22" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1040" y="320" width="120" height="60" as="geometry" />
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-22" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="160" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-24" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200" y="320" width="120" height="60" as="geometry" />
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-24" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="160" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-26" value="Requirement" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="880" y="320" width="120" height="60" as="geometry" />
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-26" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="160" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-29" value="Stakeholder<br>Requirements<br>Testplan" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-29" value="Stakeholder<br>Requirements<br>Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="640" y="160" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-30" value="System Requirements Testplan" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-30" value="System Requirements Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="600" y="320" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-31" value="Functional Testplan" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-31" value="Functional Test Suite" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" parent="1" vertex="1">
|
||||
<mxGeometry x="560" y="480" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-35" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1040" y="420" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-36" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="1200" y="420" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-37" value="Requirement" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="880" y="420" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="nSGN3ebGevB2FO6GE1kk-38" target="nSGN3ebGevB2FO6GE1kk-3">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="nSGN3ebGevB2FO6GE1kk-38" target="nSGN3ebGevB2FO6GE1kk-3" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-38" value="Regulatory Requirement<br>ISO 13485" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-38" value="Regulatory Requirement<br>ISO 13485" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="40" y="40" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="nSGN3ebGevB2FO6GE1kk-39" target="nSGN3ebGevB2FO6GE1kk-3">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="nSGN3ebGevB2FO6GE1kk-39" target="nSGN3ebGevB2FO6GE1kk-3" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-39" value="Regulatory Requirement<br>FDA CFR Title 21 Part 11" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-39" value="Regulatory Requirement<br>FDA CFR Title 21 Part 11" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="40" y="160" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="nSGN3ebGevB2FO6GE1kk-40" target="nSGN3ebGevB2FO6GE1kk-3">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="nSGN3ebGevB2FO6GE1kk-40" target="nSGN3ebGevB2FO6GE1kk-3" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-40" value="..." style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxCell id="nSGN3ebGevB2FO6GE1kk-40" value="..." style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="40" y="280" width="80" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="6oCaS1ZVnthlq4vtR56g-1" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;flipH=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;" vertex="1" parent="1">
|
||||
<mxCell id="6oCaS1ZVnthlq4vtR56g-1" value="" style="shape=curlyBracket;whiteSpace=wrap;html=1;rounded=1;flipH=1;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;" parent="1" vertex="1">
|
||||
<mxGeometry x="780" y="40" width="20" height="800" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-1" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="160" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-11" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-12" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-13" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-14" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="200" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-15" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-16" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-17" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-18" value="Stakeholder" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="240" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-19" value="Generated System Requirements Document for Document Management System<br><br><br><br><br><br><br><br><br><br><br><br><div style="text-align: left;">Requirement 1</div><div style="text-align: left;"><br></div><div style="text-align: left;">......</div><div style="text-align: left;"><br></div><div style="text-align: left;">Requirement 2</div><div style="text-align: left;"><br></div><div style="text-align: left;">.....</div>" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;verticalAlign=top;" parent="1" vertex="1">
|
||||
<mxGeometry x="840" y="480" width="520" height="310" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-20" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-21" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-22" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-23" value="System" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="520" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-24" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-25" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-26" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-27" value="System" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="560" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-28" value="Regulation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1103" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-29" value="Test Case" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="1230" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-30" value="Requirement 1" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="850" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-31" value="System" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="977" y="600" width="120" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-32" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="320" y="200" as="sourcePoint" />
|
||||
<mxPoint x="450" y="710" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-34" value="Specification" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=75;" parent="FHpbeC-Hxsyda6HUkaqz-32" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.1143" y="-1" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-33" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="470" y="710" as="sourcePoint" />
|
||||
<mxPoint x="600" y="200" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="FHpbeC-Hxsyda6HUkaqz-35" value="Verification" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];rotation=-75;" parent="FHpbeC-Hxsyda6HUkaqz-33" vertex="1" connectable="0">
|
||||
<mxGeometry x="0.0811" y="1" relative="1" as="geometry">
|
||||
<mxPoint y="-1" as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-1" value="" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;rotation=0;fillColor=#dae8fc;strokeColor=#6c8ebf;size=16;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="-80" width="30" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-2" value="Requirement" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="80" y="-75" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#00CCCC;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="-80" width="32" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-4" value="Test Suite" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="240" y="-75" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-6" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOy5zdDB7ZmlsbDojQ0MwMENDO30mI3hhOzwvc3R5bGU+PHBhdGggZD0iTTE3LjY2IDExLjJDMTcuNDMgMTAuOSAxNy4xNSAxMC42NCAxNi44OSAxMC4zOEMxNi4yMiA5Ljc4IDE1LjQ2IDkuMzUgMTQuODIgOC43MkMxMy4zMyA3LjI2IDEzIDQuODUgMTMuOTUgM0MxMyAzLjIzIDEyLjE3IDMuNzUgMTEuNDYgNC4zMkM4Ljg3IDYuNCA3Ljg1IDEwLjA3IDkuMDcgMTMuMjJDOS4xMSAxMy4zMiA5LjE1IDEzLjQyIDkuMTUgMTMuNTVDOS4xNSAxMy43NyA5IDEzLjk3IDguOCAxNC4wNUM4LjU3IDE0LjE1IDguMzMgMTQuMDkgOC4xNCAxMy45M0M4LjA4IDEzLjg4IDguMDQgMTMuODMgOCAxMy43NkM2Ljg3IDEyLjMzIDYuNjkgMTAuMjggNy40NSA4LjY0QzUuNzggMTAgNC44NyAxMi4zIDUgMTQuNDdDNS4wNiAxNC45NyA1LjEyIDE1LjQ3IDUuMjkgMTUuOTdDNS40MyAxNi41NyA1LjcgMTcuMTcgNiAxNy43QzcuMDggMTkuNDMgOC45NSAyMC42NyAxMC45NiAyMC45MkMxMy4xIDIxLjE5IDE1LjM5IDIwLjggMTcuMDMgMTkuMzJDMTguODYgMTcuNjYgMTkuNSAxNSAxOC41NiAxMi43MkwxOC40MyAxMi40NkMxOC4yMiAxMiAxNy42NiAxMS4yIDE3LjY2IDExLjJNMTQuNSAxNy41QzE0LjIyIDE3Ljc0IDEzLjc2IDE4IDEzLjQgMTguMUMxMi4yOCAxOC41IDExLjE2IDE3Ljk0IDEwLjUgMTcuMjhDMTEuNjkgMTcgMTIuNCAxNi4xMiAxMi42MSAxNS4yM0MxMi43OCAxNC40MyAxMi40NiAxMy43NyAxMi4zMyAxM0MxMi4yMSAxMi4yNiAxMi4yMyAxMS42MyAxMi41IDEwLjk0QzEyLjY5IDExLjMyIDEyLjg5IDExLjcgMTMuMTMgMTJDMTMuOSAxMyAxNS4xMSAxMy40NCAxNS4zNyAxNC44QzE1LjQxIDE0Ljk0IDE1LjQzIDE1LjA4IDE1LjQzIDE1LjIzQzE1LjQ2IDE2LjA1IDE1LjEgMTYuOTUgMTQuNSAxNy41SDE0LjVaIiBjbGFzcz0ic3QwIi8+PC9zdmc+;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="-80" width="40" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-7" value="Risk incl. mitigation" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="-75" width="60" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="heMRJ0o1k2VOCL2ZcrGT-8" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4mI3hhOy5zdDB7ZmlsbDojQ0MwMENDO30mI3hhOzwvc3R5bGU+PHBhdGggZD0iTTE3LjY2IDExLjJDMTcuNDMgMTAuOSAxNy4xNSAxMC42NCAxNi44OSAxMC4zOEMxNi4yMiA5Ljc4IDE1LjQ2IDkuMzUgMTQuODIgOC43MkMxMy4zMyA3LjI2IDEzIDQuODUgMTMuOTUgM0MxMyAzLjIzIDEyLjE3IDMuNzUgMTEuNDYgNC4zMkM4Ljg3IDYuNCA3Ljg1IDEwLjA3IDkuMDcgMTMuMjJDOS4xMSAxMy4zMiA5LjE1IDEzLjQyIDkuMTUgMTMuNTVDOS4xNSAxMy43NyA5IDEzLjk3IDguOCAxNC4wNUM4LjU3IDE0LjE1IDguMzMgMTQuMDkgOC4xNCAxMy45M0M4LjA4IDEzLjg4IDguMDQgMTMuODMgOCAxMy43NkM2Ljg3IDEyLjMzIDYuNjkgMTAuMjggNy40NSA4LjY0QzUuNzggMTAgNC44NyAxMi4zIDUgMTQuNDdDNS4wNiAxNC45NyA1LjEyIDE1LjQ3IDUuMjkgMTUuOTdDNS40MyAxNi41NyA1LjcgMTcuMTcgNiAxNy43QzcuMDggMTkuNDMgOC45NSAyMC42NyAxMC45NiAyMC45MkMxMy4xIDIxLjE5IDE1LjM5IDIwLjggMTcuMDMgMTkuMzJDMTguODYgMTcuNjYgMTkuNSAxNSAxOC41NiAxMi43MkwxOC40MyAxMi40NkMxOC4yMiAxMiAxNy42NiAxMS4yIDE3LjY2IDExLjJNMTQuNSAxNy41QzE0LjIyIDE3Ljc0IDEzLjc2IDE4IDEzLjQgMTguMUMxMi4yOCAxOC41IDExLjE2IDE3Ljk0IDEwLjUgMTcuMjhDMTEuNjkgMTcgMTIuNCAxNi4xMiAxMi42MSAxNS4yM0MxMi43OCAxNC40MyAxMi40NiAxMy43NyAxMi4zMyAxM0MxMi4yMSAxMi4yNiAxMi4yMyAxMS42MyAxMi41IDEwLjk0QzEyLjY5IDExLjMyIDEyLjg5IDExLjcgMTMuMTMgMTJDMTMuOSAxMyAxNS4xMSAxMy40NCAxNS4zNyAxNC44QzE1LjQxIDE0Ljk0IDE1LjQzIDE1LjA4IDE1LjQzIDE1LjIzQzE1LjQ2IDE2LjA1IDE1LjEgMTYuOTUgMTQuNSAxNy41SDE0LjVaIiBjbGFzcz0ic3QwIi8+PC9zdmc+;" vertex="1" parent="1">
|
||||
<mxGeometry x="196" y="320" width="40" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 196 KiB |
|
|
@ -2,6 +2,20 @@
|
|||
|
||||

|
||||
|
||||
## Description of the layers
|
||||
|
||||
**Stakehodler Requirements**: It's crucial to understand that we always start with the stakeholder requirements where regulations are an important input. This is the customer's point of view, defines “what” should be done.
|
||||
|
||||
**System Requirements**: The system requirements are the answer to the stakeholder requirements. It describes “how” it is going to be implemented. Quality requirements, often called non-functional requirements, are part of the system requirements. They are stated as testable requirements e.g. latency time must be less than 200ms. Furthermore we also add potential risks at this level.
|
||||
|
||||
**Functional Specification**: ... to be continued
|
||||
|
||||
**Configuration Specification**: ... to be continued
|
||||
|
||||
## Implementation in Azure DevOps
|
||||
|
||||
We are following the CMMI process template in Azure DevOps.
|
||||
|
||||
Regulations are mapped as requirements work item in Azure DevOps that affect other requirements. In that way we see all regulations that affect a requirement and all requirements that are affected by a regulation. This is a bidirectional traceability.
|
||||
|
||||
All requirements are listed in a use case specific document. The requirements are linked to the regulations and the tests. The tests are linked to the requirements. This is a bidirectional traceability.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue