Software Modeling and Requirements Specification Principles
Classified in Computers
Written on in
English with a size of 2.62 KB
A Model: Abstraction of a System
A model is an abstraction of a semantically closed system.
1.7.2.2 Modeling Language
A modeling language is used for specifying, constructing, visualizing, and documenting software systems. It is essential for capturing the semantics of any software system, especially in complex projects where understanding is difficult without a descriptive model.
Why is it Necessary?
- Complex systems are hard to understand without a descriptive model.
- A modeling language is essential for capturing the semantics of any software system during a project.
- The representation of a model in a modeling language has significant value.
1.7.3 Partition Principle
The partition principle involves dividing a system into parts to reduce complexity. This is achieved by dividing areas of functionality, information, and behavior, providing a hierarchical structure.
- Vertical Division: Refinement.
- Horizontal Division: Functional division, which is standard in modeling languages.
2.1 Requirements Specification for Software
A specification document defines the complete, accurate, and verifiable requirements, design, behavior, or other characteristics of a system or component.
Key Features of a Specification:
- Must include accurate information.
- Should communicate information effectively.
- Must state what to do, not how to do it.
- Should describe software requirements.
- Exclude unnecessary details.
- Should not include design or verification details unless they are design constraints affecting eligibility.
Desirable Features of Requirements:
- Unambiguous: Each requirement has only one interpretation.
- Complete: Includes all significant requirements and defines responses to all input types.
- Compliant: Adheres to standard specifications and references all figures and tables.
- Easily Verifiable: A finite, cost-effective procedure exists to verify the requirement is met.
- Consistent: No conflicts or contradictions exist.
- Easy to Modify: Consistent and non-redundant.
- Easy to Identify Origin and Consequences: Traceable with back and front references.
- Ease of Use in Operations and Maintenance: Staff development not related to the undertaking.
- Source of Knowledge: Useful for maintenance.