Unit-Iii Part-I
Unit-Iii Part-I
Inventory
Inventory Report generation
control system
monitoring system system
2)
Two way communication is not possible
Main Points
• DFD is used to modelling the requirements
• We have to specify unique name
• DFD depicts the flow of data not the order of data
• The decision path represents logical expression should not be
specified.
State chart Diagram
They define different states of an object during its life time and
these states are changed by events.
To understand the design of state chart diagram consider
following example.
Consider an elevator for n floors has n buttons one for each floor.
1. There is a set of buttons called “elevator buttons”. If we want to visit
a particular floor is pressed.
2. There is another set of buttons called ‘floor button’. When a person
on particular floor want to visit another floor then the floor button
has to be pressed.
3. When an elevator has no request it remains at its current floor with
its door is closed.
Data Models
Data modelling is the basic step in the analysis modelling. In the data
modelling the data objects are examined independently of processing.
The data domain is focused. And a model is created at the customer’s
level of abstraction.
The data model represents how data objects are related with one
another.
Data Model is an abstract model that represents the data objects,
data flow between these data objects, and the interrelationship between
these data objects. It is a way of storing data on a computer so that it can be
used in a more efficient manner for further purposes.
• Data model or data structure consists of following fundamental elements:
• Data Objects
• Attributes
• Relationships
Data Objects, Attributes and
Relationships
Data Object:
Data object is a set of attributes(data items) that will be
manipulated within the software(system).
Each instance of data object can be identified with the help of
unique identifier.
Eg: A student can be identified by using his roll number.
The system can not perform without accessing to the instances of
object.
Data object is a collection of attributes that act as an aspect,
characteristic, quality, or descriptor of the object.
Elements of Data Model
Data Object: It can be any person, organization, device or software
product that produces or consumes information
Elements of
Data model
Object
The vehicle is a data object which can be defined or viewed with the
help of set of attributes.
What is attributes?
Attributes define properties of data object.
Typically there are three types of attributes-
1. Naming attributes
2. Descriptive attributes
3. Referential attributes
Naming Attributes:
These attributes are used to name an instance of data object.
Eg: In a vehicle data object make and model are naming attributes.
Descriptive attributes:
These attributes are used to describe the characteristics or features
of the data object.
Eg: In a vehicle data object color is a descriptive attributes.
Referential attributes:
These are the attributes that are used in making the reference to
another instance in another table.
Eg: In vehicle data object owner is a referential attribute.
What is relationship
Relationship represents the connection between the data
objects.
Eg: The relationship between a shopkeeper and a toy is as shown
below.
Orders
stocks
Here the toy and shopkeeper are two objects that share
following relationships-
• Shopkeeper orders toys
• Shopkeeper sells toys
• Shopkeeper shows toys
• Shopkeeper stocks toys
Cardinality:
Cardinality in data modelling, cardinality specifies how the no.of
occurrences of one object is related to the no.of occurrences of
another object.
One to one – One object can relate to only one other object
One to many – One object can relate to many objects.
Many to many – some no.of occurrences of an object can relate to
some other no. of occurrences of another object.
Modality: Modality indicates whether or not a particular data object
must participate in the relationship.
Modality of a relationship is 0 if there is no explicit need for the
relationship to occur or the relationship is optional. The modality is 1 if
an occurrence of the relationship is mandatory.
Ex. Cardinality: Single Cardinality: Many purchase
customer waiting for actions are possible
purchase
Is provided with
Customer Purchase action
Get_details
Show_details Operations
Ex. Person is a base class from which two child classes are inherited
student and employee. Further employee acts as a base class and its
child classes are manager, programmer and designer.
The child classes inherit the properties of their parent.
In UML notation the inheritance is shown by upward arrow. The
inheritance is more specifically called generalization in UML. The inheritance is a
type of relationship. By inheritance the code reusability is used.
Object Aggregation:
One object can be formed by grouping one (or) more objects.
In above example Computer is a class which has screen, Memory and Keyboard.
That means in aggregation relationship one object can be formed by grouping one
or more objects.
The arrow with diamond is used to represent the aggregation relationship.
Object Behavior Model
The object behavior model is for representing the sequence
of events occurring in the system. Typically it is represented by a
sequence diagram in UML.
Eg: Student registration for some course is given the object and
actors that interact with the system and the events that are taking place
are shown by sequence diagram.
In sequence diagram objects and actors are located at the top of
the diagram and labelled arrows represent the actions. The vertical
rectangle along the line of object represent the span of the
corresponding action. The sequence diagram helps in exposing of
operations of the system.
Structured Methods
Applying the structured methods means designing different
models to represent that particular system. Various structured models
can be Context models, Process models, Data flow diagrams, state
chart diagrams, Entity relationship diagrams, object models.
The structured modelling provides the systematic framework for
system modelling as a part of requirement elicitation and analysis.
Along with these models documentation is essential in order to provide
line certain guideline in system development. Not only this use of CASE
tool support also helps to generate reports or code generation from the
system model.
Drawbacks of structured
methods
• Non functional requirements can not be represented effectively using
structured methods.
• It is hard to predict whether the structured methods that are applied to
particular problem are suitable for solving that problem or not. Even it is
not possible to decide whether the structured method is suitable for
particular environment or not.
• Sometimes too much documentation hides the basic requirements of
the system. Unnecessary detailing is done in structured methods.
• The system models are represented in more detail so casual user can not
understand the system because he gets lost in the unnecessary details.
Design Engineering
Software design is model of software which translates the
requirements into finished software product in which the details about
software data structures, architecture, interfaces and components that are
necessary to implement the system are given.
Design With The Context Of Software Engineering
During software engineering process, the first task is to identify and
analyze the requirements. Based on this analysis the software design is
developed.
This design serves as a basis for code generation and testing. Hence
software design is an intermediate process which translates the analysis
model into design model.
• The four types of elements of Analysis model are scenario based
elements, class based elements, behavioral elements, and flow
oriented elements.
• The class based elements of analysis model are used to create class
diagrams.
• The flow oriented elements and class based elements are used to
create architecture design.
• Software design is very important for assessing the quality of
software.
• Without software design, it is difficult to test the software product.
• Software design used to make the necessary changes without
disturbing other part of the software.
Design process and design
quality
• It is the most commonly used pattern for designing the majority of software. This layer is
also known as ‘N-tier architecture’. Basically, this pattern has 4 layers.
• Presentation layer (The user interface layer where we see and enter data into an
application.)
• Business layer (this layer is responsible for executing business logic as per the request.)
• Application layer (this layer acts as a medium for communication between the
‘presentation layer’ and ‘data layer’.
• Data layer (this layer has a database for managing data.)
• Ideal for:
• E-commerce web applications development like Amazon.
2. Client-Server Pattern :
The client-server pattern has two major entities. They are a server and
multiple clients.
• Here the server has resources(data, files or services) and a client requests
the server for a particular resource. Then the server processes the request
and responds back accordingly.
• Examples of software developed in this pattern:
• Email.
• WWW.
• File sharing apps.
• Banking, etc…
So this pattern is suitable for developing the kind of software listed in
the examples.
3. Event-Driven Pattern :
Event-Driven Architecture is an agile approach in which services
(operations) of the software are triggered by events.
• Well, what does an event mean?
• When a user takes action in the application built using the EDA approach, a
state change happens and a reaction is generated that is called an event.
Exploratory Data Analysis (EDA) is an analysis approach that identifies
general patterns in the data. These patterns include outliers and features of
the data that might be unexpected. EDA is an important first step in any data
analysis.
• Eg: A new user fills the signup form and clicks the signup button on Facebook
and then a FB account is created for him, which is an event.
Ideal for:
• Building websites with JavaScript and e-commerce websites in general.
4. Microkernel Pattern :
Microkernel pattern has two major components. They are a core
system and plug-in modules.
• The core system handles the fundamental and minimal operations of the
application.
• The plug-in modules handle the extended functionalities (like extra
features) and customized processing.
• Let’s imagine, you have successfully built a chat application. And the
basic functionality of the app is that you can text with people across the
world without an internet connection. After some time, you would like to
add a voice messaging feature to the application, then you are adding the
feature successfully. You can add that feature to the already developed
application because the microkernel pattern facilitates you to add
features as plug-ins.
Microkernel pattern is ideal for:
• Product-based applications and scheduling applications. We love new
features that keep giving dopamine boost to our brain. Such as
Instagram reels, YouTube Shorts and a lot more that feasts us digitally.
So this pattern is mostly preferred for app development.
5. Microservices Pattern :
The collection of small services that are combined to form the actual
application is the concept of microservices pattern.
Instead of building a bigger application, small programs are built for every
service (function) of an application independently. And those small programs are
bundled together to be a full-fledged application.
So adding new features and modifying existing microservices without
affecting other microservices are no longer a challenge when an application is built
in a microservices pattern.
Modules in the application of microservices patterns are loosely coupled. So
they are easily understandable, modifiable and scalable.
Example Netflix is one of the most popular examples of software built-in
microservices architecture. This pattern is most suitable for websites and web apps
having small components.