Report in System Integration
Report in System Integration
MODELING
REQUIREMENTS
WHAT IS REQUIREMENTS MODELING?
• Requirements modeling is the process used in software development projects where
requirements and solutions constantly evolve through collaborative efforts and
teamwork.
• It is a process of documenting , analyzing and managing requirements.
• Requirements can be included functional requirements and non-functional
requirements.
FUNCTIONAL REQUIREMENTS
• Also called quality requirements, describes how the system should be, as opposed to
what it should do. Non-functional requirements of a system include performance
maintainability and scalability, among many others.
The Requirements Modeling process involves three main activities;
Analysis: Once the Requirements have been collected, they need to be analyzed to see if they are
complete, consistent, and clear. Any inconsistencies or ambiguities should be resolved at this stage.
Documentation: The Requirements should be documented in a clear and concise way. This will ensure
that everyone understands the Requirements and can refer back to them if needed.
Management: Once the Requirements have been collected and documented, they need to be managed
throughout the project. This includes keeping track of changes to Requirements, making sure everyone is
aware of these changes, and ensuring that the requirements are still being met.
DIFFERENT STAGES OF MODELING
Flow Oriented Modeling – The data objects are transformed by the function as it is
processed. The Flow oriented elements are Data Flow Model – It is a graphical technique. It
is used to represent information flow.
Control Flow Model – Large class applications require control flow modeling. Control
Specification – The state diagram in the control specification is a sequential specification of
the behavior.
Process Specification – The process specification is used to describe all flow model
processes.
Class-based Modeling – Class-based modeling represents the object. The system manipulates the operations.
The elements of the class-based model consist of the following:
Classes – To figure out which classes to take, underline each noun or noun clause in the text and enter it into
the table.
Attributes – Attributes are the data objects that define a class within the context of the problem. For
example, ’employee’ is a class consisting of the name, Id, department, designation, and salary of the
employee.
Operations – The operations describe the actions of a thing. Unified
Modeling Language (UML) People have been using models for as
long as systems modeling has existed. Models include physical mock-
ups, such as the hull of a ship’s body. Prototypes and mock-ups are
examples of physical models. And, since engineers can remember,
models were created on paper in the form of sketches, flow diagrams,
and the like. Some were informal and intended to be discarded; others
utilized a more formal notation and were maintained throughout the
system development cycle.
THESE ARE THE TOOLS FOR MODELING REQUIREMENTS
1. Use-Case Diagrams: Use-case diagrams help to identify and
document the functional requirements of a system. They show the
interactions between the system and its external actors.
SEQUENCE DIAGRAM
it shows the interactions between actors and the
system and between system components
7. Mind Mapping: Mind mapping is a visual brainstorming technique that can be used to organize and prioritize
requirements, as well as identify any gaps or conflicts in the requirements set. It can also be used to generate new
ideas and insights into the system's requirements.
THESE ARE THE BENIFITS OF REQUIREMENT MODELING
1. Use-Case Diagrams:
- Benefits: Use-case diagrams help to clarify the functional
requirements of a system, making it easier to understand and
communicate them to stakeholders. They also help to identify any
gaps or missing requirements.
- Drawbacks: Use-case diagrams can be time-consuming to create,
especially for complex systems with many actors and use cases. They
may also not be as detailed as other modeling techniques, such as
flowcharts or activity diagrams.
2. Flowcharts:
Benefits: Flowcharts are useful for modeling the behavior of a system or process, making it
easier to understand and communicate the sequence of steps required to complete a task or
process. They can also help to identify any errors or inconsistencies in the process.
Drawbacks: Flowcharts can be difficult to read and understand, especially for complex
processes with many decision points and parallel paths. They may also not be as detailed as
other modeling techniques, such as activity diagrams or UML diagrams.
3. ER Diagrams:
Benefits: ER diagrams are useful for modeling the data requirements of a system, making it easier to
understand and communicate the relationships between different entities (data objects) in the system. They
can also help to identify any data inconsistencies or redundancies.
Drawbacks: ER diagrams may not be as useful for modeling complex data models with many relationships
and constraints. They may also not be as detailed as other modeling techniques, such as UML diagrams or
data flow diagrams.
4. Activity Diagrams:
Benefits: Activity diagrams are useful for modeling the workflow and activities involved in a process or
system, making it easier to understand and communicate the sequence of steps required to complete a task or
process, as well as any decision points or parallel paths. They can also help to identify any errors or
inconsistencies in the process.
Drawbacks: Activity diagrams can be complex and difficult to read and understand, especially for large
processes with many activities and decision points. They may also not be as detailed as other modeling
techniques, such as UML diagrams or data flow diagrams.
5. Data Flow Diagrams:
Benefits: Data flow diagrams (DFDs) are useful for modeling the flow of data through a system,
making it easier to understand and communicate how data is transformed, stored, and transferred
between different components of the system. They can also help to identify any data inconsistencies or
redundancies.
Drawbacks: DFDs may not be as useful for modeling complex data models with many relationships
and constraints. They may also not be as detailed as other modeling techniques, such as UML diagrams
or ER diagrams.
6. UML Diagrams:
Benefits: UML (Unified Modeling Language) diagrams are a widely-used modeling language that
includes several types of diagrams, such as class diagrams, sequence diagrams, and state diagrams,
which can be used to model various aspects of a system's requirements, design, and behavior. UML
diagrams are versatile and can model both functional and non-functional requirements, making them
useful for a wide range of systems and processes. They are also widely supported by various modeling
tools and software development environments.
Drawbacks: UML diagrams can be complex and time-consuming to create, especially for large systems
with many classes, interfaces, and relationships. They may also require additional effort to ensure
consistency and accuracy across multiple diagram types. However, the benefits of using UML outweigh
these drawbacks for most systems and processes due to its versatility and wide support in the industry.
REQUIREMENTS ELICITATION
• It is the process to find out the requirements for an intended software system by communicating with client , end users,
system users, and others who have a stake in the software system development .
1. Interviews: This technique involves meeting with stakeholders to gather information about their requirements. Interviews
can be structured or unstructured, depending on the nature of the requirements. Structured interviews involve asking a set of
predefined questions, while unstructured interviews allow for more open-ended discussion.
2. Workshops: Workshops are facilitated sessions that bring together stakeholders to collaboratively identify and prioritize
requirements. Workshops can be used to gather both functional and non-functional requirements, and can help to identify
any conflicts or gaps in the requirements set.
3. Surveys: Surveys involve distributing questionnaires to stakeholders to gather information about their requirements.
Surveys can be used to gather both quantitative and qualitative data, and can help to identify any trends or patterns in the
requirements set.
4. Observation: This technique involves observing stakeholders as they perform their tasks or use
the system being developed. Observation can help to identify any usability issues or gaps in the
requirements set that may not be apparent through other techniques.
5. Prototyping: Prototyping involves creating a preliminary version of the system being developed,
which can be used to gather feedback from stakeholders and refine the requirements set. Prototyping
can help to ensure that the final system meets the needs of the stakeholders and is easy to use and
understand.
6. Document Analysis: This technique involves reviewing existing
documents, such as business plans, user manuals, or technical specifications,
to gather information about the system's requirements. Document analysis
can help to ensure that all relevant information is captured and that there are
no conflicts or inconsistencies in the requirements set.