Skip to main content

software engineering

 Chapter 4

Requirement Modeling


Introduction


Requirement modeling in software engineering is

essentially the planning stage of a software application or

system. The requirements can be obvious or hidden, known

or unknown, expected or unexpected from the client’s point of

view.


Requirement modeling uses a combination of text and

diagrammatic forms to depict requirements in a way that is

relatively easy to understand, and more important,

straightforward to review for correctness, completeness,

and consistency.


Requirements modeling comprises several stages, or

‘patterns’ like scenario-based modeling, data modeling,

flow-oriented modeling, class-based modeling and

behavioral modeling. Each of these stages/patterns

examines the same problem from a different perspective.


Requirement models (also called analysis

models) represent customer requirements by

depicting the software in three different domains

like the information domain, the functional domain,

and the behavioral domain.


Also, as the term ‘modeling’ implies, all of these

stages typically result in producing diagrams that

visually convey the concept they identify. The

most common method for creating these

diagrams are UML (Unified Modeling Language).


UML is a pictorial language used to make software

blueprints. UML can be described as a general

purpose visual modeling language to visualize,

specify, construct, and document software

system.


Views of requirements modeling include two

approaches namely, structured analysis and

object-oriented analysis.


Structured Analysis: Structured analysis approach of

requirement modeling considers data and the

processes that transform the data as separate

entities. Data objects are modeled in a way that

defines their attributes and relationships. Processes

that manipulate data objects are modeled in a

manner that shows how they transform data as data

objects flow through the system.


Object-oriented Analysis: Object-oriented Analysis,

focuses on the definition of classes and the manner

in which they collaborate with one another to effect

customer requirements. UML and the Unified Process

are predominantly object-oriented.


Introduction to UML


UML stands for Unified Modeling Language. UML is a

general-purpose modeling language, which is designed to

provide a standard way to visualize the design of a system.


The UML is a language for Visualizing, Specifying,

Constructing, Documenting the artifacts of a standard

software-intensive system.


Specifying means building models that are precise,

unambiguous, and complete. In particular, the UML

addresses the specification of all important analysis, design

and implementation decisions that must be made in

developing and deploying a software-intensive system.


The UML is not a visual programming language, but its

models can be directly connected to a variety of

programming languages. This means that it is possible to

map from a model in the UML to a programming language

such as java, C++, .NET or to relational table.


Conceptual Model of UML


To understand the conceptual model of UML, first we need

to clarify what is a conceptual model? and why a conceptual

model is required?


A conceptual model can be defined as a model which is

made of concepts and their relationships.


A conceptual model is the first step before drawing a UML

diagram. It helps to understand the entities in the real

world and how they interact with each other.


As UML describes the real-time systems, it is very important

to make a conceptual model and then proceed gradually.

The conceptual model of UML can be mastered by learning

the following three major elements −


UML’s basic building blocks


Rules to connect the building blocks


Common mechanisms of UML


Building Blocks of the UML


The vocabulary of the UML encompasses

three kinds of building blocks:


Things


Relationships


Diagrams


Things are the abstraction that are first class

citizens in a model; relationships tie these

things together; diagrams group interesting

collections of things.


Things in UML


Things are the basic elements in a

object-oriented model.


In UML, there are four kind of things as

follows:-


Structural things


Behavioral things


Grouping things


Annotational things


These things are the basic objects oriented

building blocks of the UML. You have to use

them to write well-formed models.


Structural Things


Structural things represent a conceptual or

physical element. These things are nouns of UML

models.


Structural things are the static parts of model.

Some structural things are listed below :


Class


Interface


Collaboration


Use Case


Active Class


Component


Artifacts


Node


Class : A class is description of a set of object

that shares the same attributes, operation,

relationship and semantics. A class

implements one or more interfaces.


Graphically, a class is represented with

rectangle. The rectangle includes name,

attributes and operations as shown below :


fruit


taste


colour


accept( )


display( )


classname


attributes


operations


Interface : It is a collection of operations that specify

the services of a class or component and is

represented by a circle.


An interface might represent the complete behavior

of a class or component or only a part of that

behavior.


The declaration of an interface looks like a class with

the keyword <<interface>> above the name.


An interface provided by a class to the outside world

is shown as a small circle attached to the class box by

a line.


An interface required by a class from some other

class is shown as a small semicircle attached to the

class box by a line.


Collaboration : Collaboration defines an interaction

between the elements that work together to provide

some cooperative behavior.


Collaboration have both structural as well as

behavioral dimension. A given class or object might

participate in several collaborations.


Use Case : A use case is a description of sequences of

action that a system performs that yield observable

results of value to a particular actor.


A use case is used to structure the behavioral things

in a model. A use case is realized by collaboration.


Graphically, a use case is rendered as an ellipse with

solid lines, usually including only its name.


Active Class : An active class is a class whose objects

own one or more processes or threads and

therefore, can initiate control activity.


An active class is just like class except that its objects

represent elements whose behavior is concurrent

with other elements.


Graphically, it is represented a class with double lines

(dark lines) on the left and right


Component : It is a modular part of a system that

can be replaced with a part of similar logical

behavior. Graphically, a component is represented as

a rectangle with tabs.


Artifacts : The artifacts represents physical things, whereas

the previous things represents conceptual or logical things.


An artifact is a physical and replaceable part of a system

that contains physical information.


In a system, you will encounter different kinds of

deployment artifacts, such as source code files, executable,

scripts etc. an artifacts typically represents the physical

packaging of source or run-time information.


Graphically, an artifact is a rectangle with the keyword

<<artifact>> above the name.


<<artifact>>


Window


dll


Node : a node is a physical element that exists at run

time and represents a computational resource,

generally having at least some memory and often

processing capability.


A set of components may reside on a node and may

also migrate from node to node. Graphically, a node

is shown as a cube, usually including only its

Comments

Popular posts from this blog

cornell computer science

  About cornell University Cornell University's computer science program is a highly-regarded and competitive program that offers undergraduate and graduate degrees. The program's faculty are experts in areas such as artificial intelligence, databases, algorithms, and more. Cornell's computer science curriculum covers a wide range of topics, including theory, programming languages, systems, and computer networks. Students have the opportunity to engage in research and work on cutting-edge projects in areas such as computer vision, natural language processing, and robotics. The program also collaborates with other disciplines, such as biology and economics, to explore the impact of technology on society. Graduates of the program are well-equipped for careers in software development, data analytics, computer system design, and more. Overall, Cornell's computer science program offers an excellent education and prepares students for a rapidly-evolving field. The Department ...

iphone 14 pro max

  ABOUT I PHONE   Apple has been producing iPhones in India since 2017 to tap into the growing Indian market and reduce manufacturing costs. Currently, Indian-made iPhones are sold exclusively within India. The iPhone models produced in India include the iPhone SE (first generation), iPhone 6s, iPhone 7, and now the iPhone XR. Besides the advantage of lower production costs, producing iPhones in India also helps Apple meet the government's "Make in India" initiative, which aims to increase domestic manufacturing and create jobs in the country while reducing reliance on imports. Indian-made iPhones are assembled by Foxconn and Wistron at their factories located in Chennai, Karnataka, and Andhra Pradesh. With the increasing demand for Apple products in India, the production of iPhones in India is expected to grow in the coming years.     As of yet, it has not been confirmed whether the iPhone 14 Pro will be manufactured in India. However, Apple has been expan...