Open In App

Analysis principles – Analysis Modelling in Software Engineering

Last Updated : 11 Mar, 2024
Like Article

Analysis Model is a technical representation of the system. It acts as a link between the system description and the design model. In Analysis Modelling, information, behavior, and functions of the system are defined and translated into the architecture, component, and interface level design in the design modeling.

Objectives of Analysis Modelling

  • Understanding Needs: The process of analysis modelling helps in the understanding and extraction of user needs for the software system.
  • Communication: Analysis models facilitate communication between users, clients, developers, and testers, among other stakeholders.
  • Clarifying Ambiguities: Analysis models assist in resolving requirements disputes and providing clarification on unclear areas.
  • Finding the Data Requirements: Analysis modelling assists in determining the relationships, entities, and qualities of the data that the system needs.
  • Defining Behavior: Analysis modelling aids in the definition of the system’s dynamic behavior, including workflows, processes, and inter-component interactions.
  • System Boundary Identification: It is made easier by analysis modelling, which helps in defining the parameters of the software system and its interactions with users, other systems, and hardware components.

Elements of Analysis Model

Elements of Analysis Model

  1. Data Dictionary: 
    It is a repository that consists of a description of all data objects used or produced by the software. It stores the collection of data present in the software. It is a very crucial element of the analysis model. It acts as a centralized repository and also helps in modeling data objects defined during software requirements. 
  2. Entity Relationship Diagram (ERD): 
    It depicts the relationship between data objects and is used in conducting data modeling activities. The attributes of each object in the Entity-Relationship Diagram can be described using Data object description. It provides the basis for activity related to data design. 
  3. Data Flow Diagram (DFD): 
    It depicts the functions that transform data flow, and it also shows how data is transformed when moving from input to output. It provides the additional information that is used during the analysis of the information domain and serves as a basis for the modeling of function. It also enables the engineer to develop models of functional and information domains at the same time. 
  4. State Transition Diagram: 
    It shows various modes of behavior (states) of the system and also shows the transitions from one state to another state in the system. It also provides the details of how the system behaves due to the consequences of external events. It represents the behavior of a system by presenting its states and the events that cause the system to change state. It also describes what actions are taken due to the occurrence of a particular event. 
  5. Process Specification: 
    It stores the description of each function present in the data flow diagram. It describes the input to a function, the algorithm that is applied for the transformation of input, and the output that is produced. It also shows regulations and barriers imposed on the performance characteristics that apply to the process and layout constraints that could influence how the process will be implemented. 
  6. Control Specification: 
    It stores additional information about the control aspects of the software. It is used to indicate how the software behaves when an event occurs and which processes are invoked due to the occurrence of the event. It also provides the details of the processes which are executed to manage events. 
  7. Data Object Description: 
    It stores and provides complete knowledge about a data object present and used in the software. It also gives us the details of attributes of the data object present in the Entity Relationship Diagram. Hence, it incorporates all the data objects and their attributes.

Key Principles of Analysis Modelling

  1. Abstraction: Analysis modelling involves separating important system components from unneeded specifics. While leaving out unnecessary or low-level information, it concentrates on capturing the essential ideas, behaviors, and relationships relevant to the system’s requirements.
  2. Modularity: Analysis models ought to be able to break down a system into smaller, more manageable parts. It is simpler to understand, assess, and alter the system when each module or component reflects a different part of its functionality.
  3. Consistency: Internally and with other project artifacts, including requirements documents, design specifications, and implementation code, analysis models should be consistent. By preventing opposing or conflicting representations of the system, consistency promotes greater stakeholder comprehension and alignment.
  4. Traceability: Analysis models ought to be able to be linked to other project components so that interested parties may follow requirements from their inception to their execution. Throughout the software development lifecycle, it helps with impact analysis, change management, and requirements coverage verification.
  5. Precision: To provide an unambiguous picture of the needs and behaviors of the system, analysis models must be accurate and exact. Accuracy lowers the chance of miscommunication and misunderstanding among stakeholders as well as implementation problems.
  6. Separation of Concerns: Analysis modeling divides various system components or concerns into discrete representations. For instance, behavioral modeling aims to capture the dynamic behavior of the system, whereas data modeling concentrates on expressing the relationships and structure of data items.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads