You are on page 1of 5

School of Architecture, Computing and Engineering

CN7021 – Advanced Software Engineering

Week 4 Lab Software Architecture & Modelling:

Practice Questions

Please answer the following questions in this section and upload your
answers in the submission link for formative feedback. Save your answers
with your name and student ID for revision during mock exam in week 10.

Your name: Muhammad Ahmad Khan


Student ID: 2399052
School of Architecture, Computing and Engineering

1. What perspectives should be used for developing models


of a software system?

Answer
In order to capture all aspects of a software system as accurately as possible, it is
necessary to consider each perspective when building models for the software system.
The software has often been of interest to a wide range of stakeholders, and the
provision of models from various perspectives allows for addressing this diversity of
needs. In the development of software system models, here are some key perspectives
that should be taken into account:
1. User Perespective
2. Functional Perspective
3. Structural Perspective
4. Behavioral Perspective
5. Architecural Perspective
6. Data Perspective
7. Security Perspective
8. Performance Perspective
9. Deployment Perspective
10. Maintenance and Evolution Perspective

2. What UML diagram types do you need to represent the


essential features of a system?

Answer
You would most likely apply a combination of UMLUnified Modelling Language
Diagram types, to represent the whole system's essential features. Particular aspects of
the system are represented by each type of UML diagram. This is a set of fundamental
UML diagram types, which are frequently employed for representation of different
parts of the system:

1. Use Case
2. Object Diagram
3. Class Diagram
4. Sequence Diagram
5. Activity Diagram
6. State Diagram
7. Component Diagram
8. Deployment Diagram
9. Package Diagram
10. Collaborative Diagram
School of Architecture, Computing and Engineering

3. What is described in a context model?

Answer
A context model, which is a visual representation that provides an overview of the
system or part of the system in its nature and shows how it interfaces with external
entities, is also referred to as a context diagram. Frameworks are often used to define
the boundaries of a system and, in order to clarify relationships between systems with
their external stakeholders, other systems or the environment, software engineers and
System Engineers use framework models.
A context model use typically includes the following environment:
1. System
2. External Entity
3. Interfaces
4. Arrows or Lines

At the very start of a system analysis and design it is common to create context
models. They are useful tools for communication with interested parties, system
designers and developers in order to share a common understanding of the scope and
context of such systems. These models can be especially useful for complex projects
where multiple systems or subsystems interact, so it is essential to clarify their
boundaries and interfaces in order to ensure the successful implementation in a
structure.

4. How are activity diagrams used in describing the context


of use of a system?
Answer
In order to give an indication of the system's use context, activity diagrams are
primarily used to model a user flow or sequence of actions carried out by users and
external entities interacting with the system. These diagrams, which are particularly
helpful to show the dynamic nature of a system from an external point of view, are
part of UML Unified Language Model. In order to define a framework of used in a
system, here remain the means in which activity diagrams can be used:

1. Modeling User Activity


2. Describing use cases
3. Sequential workflow
4. Decision Point
5. Paralell and Concurrent Activity
6. Exceptional Handling
7. Integeration Points
8. UI/UX Design
9. Communication Tool
10. Verification and Validation
School of Architecture, Computing and Engineering

5. What are the principal components of a textual use-case


description?

Answer
Generally, textual applied case consist on different key components that provide
detail information about particular interection between an actor (a user or
external system) and the system. There are following principal of textual
applied case explanation:
1. applied-Case Name
2. Actors
3. Explanation
4. Preconditions
5. Basic Flow
6. Alternate Flows
7. Postconsditions
8. Exceptional Flows
9. Includes
10. Extensions
11. Frequency of Use
12. Assumptions

6. What is illustrated in a UML sequence diagram?

Answer
The objective of demonstrating over time how objects or components interact
with each other in a system, UMLUnified Modeling Language sequence
diagram is used. It is a series of messages and events which have been
transmitted between several entities as well as an order in which these
interactions take place. To display the behavior of a system, sequence diagrams
make it much easier to understand how objects collaborate so that certain
functions can be achieved. In UML sequential diagram, these are typical
examples:
1. Objects
2. Massages
3. Activation Bar
4. Focus of Control
School of Architecture, Computing and Engineering

5. Constraints
6. Loop and Conditional Statements
7. Return Massages
8. Collaboration
A sequence diagram provides an excellent way to see how the control and
information flow among objects are displayed, making it a useful tool during
software development design and analysis phases. These help developers and
designers understand how the system works, enabling them to see what's wrong
with it, optimize its performance so as to make sure that all objects are
interacting in an appropriate way.

7. What are the claimed benefits of model-driven


engineering?

Answer
Model-Driven Engineering (MDE) is a methodology of software expansion which
underlines the practice of models as a main artifacts’ in the improvement process.
These models can be modified, improved and made readable for the purpose of
creating code, documents or other artifacts. It’s claimed to have the following
advantages:

1. Abstraction and Interaction


2. Increased Productivity
3. Improved Quality
4. Rapid Prototyping
5. Higher Level Language Development
6. Improved Collaboration
7. Simplify Maintenance and Evolution
8. Platform Independence
9. Reuse
10. Comprehensive Documentation

It should also be noted that ModelDriven Engineering offers these possible


advantages, but their efficiency is dependent upon the particular context, model
quality and tools and processes applied in developing environments. The project
requirements, expertise of the development team as well as the maturity of the
modeling tools and techniques used are often important factors that must be taken into
account when applying MDE.

You might also like