You are on page 1of 5

A component represents a modular and reusable part of a system, typically implemented as a software

module, class, or package. It encapsulates its behavior and data and can be deployed independently.

Typically represented as a rectangle with two smaller rectangles protruding from its sides, indicating
ports for connections. The component’s name is written inside the rectangle.

2. Artifact

Artifact

An artifact represents a physical piece of information or data that is used or produced in the software
development process. It can include source code files, executables, documents, libraries, configuration
files, or any other tangible item.

Typically represented as a rectangle with a folded corner, labeled with the artifact’s name. Artifacts may
also include additional information, such as file extensions or versions.

3. Interface

Interface

An interface defines a contract specifying the methods or operations that a component must implement.
It represents a point of interaction between different components or subsystems.

Represented as a circle or ellipse labeled with the interface’s name. Interfaces can also include provided
and required interfaces, denoted by “+” and “-” symbols, respectively.

4. Node

Node
A node represents a physical or computational resource, such as a hardware device, server, workstation,
or computing resource, on which software components can be deployed or executed.

Represented as a box with rounded corners, usually labeled with the node’s name. Nodes can also
include nested nodes to represent hierarchical structures.

Component diagrams show how the physical components of a system are organized. And also shows
which component or objects will be accessed by whom and what type of security infrastructures it is
using. The diagram is simulated below

A collaboration diagrams are visual representation of the relationships and interactions among objects in
the unified modeling language (UML).

What is a collaboration diagram?

A collaboration diagram, also known as a communication diagram, is an illustration of the relationships


and interactions among software objects in the Unified Modeling Language (UML). Developers can use
these diagrams to portray the dynamic behavior of a particular use case and define the role of each
object.

To create a collaboration diagram, first identify the structural elements required to carry out the
functionality of an interaction. Then build a model using the relationships between those elements.
Several vendors offer software for creating and editing collaboration diagrams.

Notations of a collaboration diagram

A collaboration diagram resembles a flowchart that portrays the roles, functionality and behavior of
individual objects as well as the overall operation of the system in real time. The four major components
of a collaboration diagram include the following:
Objects. These are shown as rectangles with naming labels inside. The naming label follows the
convention of object name: class name. If an object has a property or state that specifically influences
the collaboration, this should also be noted.

Actors. These are instances that invoke the interaction in the diagram. Each actor has a name and a role,
with one actor initiating the entire use case.

Links. These connect objects with actors and are depicted using a solid line between two elements. Each
link is an instance where messages can be sent.

Messages between objects. These are shown as a labeled arrow placed near a link. These messages are
communications between objects that convey information about the activity and can include the
sequence number.

The most important objects are placed in the center of the diagram, with all other participating objects
branching off. After all objects are placed, links and messages should be added in between.

In this part the team used to model the behaviors of the objects by drawing the state diagram. The state
diagram depicts the state of objects as their attributes change from one state to the other state. State
chart modeling is used to show the sequence of states that an object goes through, the events that
cause the transition from one state to the other and the actions that result from a state change.

An activity diagram is a variation of a state machine in which the states represent the performance of
actions or sub activities and the transitions are some event that sets a course of action in Motion by the
completion of the actions or sub activities. It represents a state machine of Procedure itself. Activity
diagrams model is a high level business, processes, or transitions between states of a class. In this
activity diagram we tried to document the flow of logic for the major business processes of this project.

A sequence diagram shows an interaction arranged in time sequence. In particular, it shows the
Instances participating in the interaction by their “lifelines” and the Stimuli that they arranged In Time
sequence. It does not show t

UML use case diagrams are ideal for:

 Representing the goals of system-user interactions


 Defining and organizing functional requirements in a system
 Specifying the context and requirements of a system
 Modeling the basic flow of events in a use case

Why to follow a user’s?

 It is often extremely useful to be able to follow a user’s activities on a website so that one can
for example:
 have a shopping cart
 maintain the user’s identity
 display information specifically tailored to the individual user
 Increased ability to provide the user a richer experience of using that website
 a fine example of a site that truly exploits the user’s identity is Amazon, which in many ways has
set the standard in the application of user identity to provide a rich experience
 Another aspect is the ability to log into a site with username and password
 this provides some level of security
 One gets the opportunity to have “your own” page
 with personal things, like your own photos on Facebook
 a personal configuration of the page
 a user identity for postings on web boards
 Some of the scenarios do not need to know “who” you are
 “a specific browser on a particular machine” is often enough
 here we often talk about the temporary nature of information
 In other situations it is useful to know “who” people are
 one can get a more personalized experience of the site (this helps perhaps also with
loyalty)
 one can log on from different machines and have the same user experience
So what can we do?

 One can add a parameter to the URL and remember it so that all subsequent links on the site
contain it
 but that gives ugly URLs that are difficult to maintain (one always has to rewrite all the
URLs in a document) and are vulnerable to trivial hacks
 Since the web server can see, where a request comes from, one could use the user’s
machine address as an ID
 but what if it is a shared computer?
 or if it just looks like one computer due to NAT or a proxy?
 It would be great if a website could save a little bit of data on the user’s machine ...
 So, web applications need to track the user's progress from page to page, for example when
a web server is required to customize the content of a web page for a user.
 Solutions to address the above mentioned problems are cases that include:
 The use of HTTP cookies.
 server side sessions,
 hidden variables (when the current page contains a form), and
 URL-rewriting using URI-encoded parameters,.
 HTTP remains stateless – there is no fixed connection between web server and browser
 While the stateless nature of HTTP has some important benefits
 after all, maintaining state requires some overhead
 it presents a unique challenge to developers who need to create stateful web applications.

You might also like