Professional Documents
Culture Documents
Index
Index
04 Modelling UML Use Case Diagrams and Capturing Use Case Scenarios
4.1 Use case diagram
4.2 Use case diagram notation
4.3 Use case diagram for find me college
1. Introduction
1.1 Background
In a world where educational trajectories diverge extensively, this system not only acknowledges
but celebrates the distinctiveness of each student. Understanding that no two academic journeys
mirror each other, the system is dedicated to tailoring its suggestions based on the unique
amalgamation of individual aspirations, preferences, and academic goals.
The Find me College emerges as a dynamic and tailored platform, specifically crafted to cater
to the diverse needs of students embarking on their educational journeys. At its core, the primary
objective is to bestow empowerment upon students by offering finely tuned. personalised
recommendations for colleges and universities. This system proves to be unwavering guide for
students exploring a spectrum of academic paths, be it undergraduate programs, postgraduate
studies, or specialised courses.
The educational landscape, vast and sprawling with countless institutions globally, can be an
overwhelming maze for students. However, it is precisely in this labyrinth of options that the Find
me College shines as a guiding compass. Its role transcends mere consideration of academic
metrics; it extends into the very essence of each institution. This includes aspects such as campus
culture, extracurricular opportunities, and community engagement.By intricately weaving together
the threads of academic excellence, personal preferences, and a broader cultural fit, the system aims
to facilitate a seamless transition for students. It envisions not just intellectual growth but a
harmonious alignment with their broader vision for the future.
2.Objectives
3.Scope
3.1 Inclusions
The College Suggestions System is designed to be an encompassing and dynamic platform.
tailored to cater to the diverse needs of students embarking on their educational journeys. The
following functionalities and features are within the defined scope of the project.
3.2 Exclusions
While the College Suggestions System is designed to celebrate the unique educational journeys
of each student, certain functionalities and features are explicitly excluded from the project
scope. The system's focus is on personalised recommendations and empowering students in
their educational pursuits, and the following elements fall outside the defined scope
3.2.1 Individualised Counselling Services:
The system will not provide individualised counselling services tailored to specific students
Personalised academic or career counselling beyond general recommendations is excluded
3.2.6 Justification
The project stands as a pivotal solution to critical shortcomings within the current educational
landscape. By introducing a comprehensive and user-centric platform, it aims to streamline the
intricate processes of college exploration and decision-making for students. This initiative is driven
by the recognition of existing gaps in the educational system, where students often face
overwhelming challenges in navigating the vast array of colleges and making informed choices
about their academic paths.
3.2.7 Constraints
The project operates within the confines of available hardware and software resources,
emphasising efficiency and optimisation. Simultaneously, it diligently adheres to stringent
privacy regulations and data protection laws, ensuring the utmost security and confidentiality of
user information. These constraints serve as guiding principles, shaping the development
process to align seamlessly with technological limitations and legal requirements.
3.2.8 Assumptions
Certain assumptions were integral to the formulation of the problem statement, including the belief
that the College Suggestions System would effectively address the identified gaps in the educational
system. Assumptions extend to the system's ability to provide accurate and
pertinent information, streamline decision-making.
3.2.9 Dependencies
The project is subject to external factors, resources, or dependencies that may impact its
progression. This includes reliance on the availability of external data sources, integration with
social media platforms for student connectivity, and potential collaboration with educational
institutions for accurate and up-to-date information. The success of the project hinges on these
dependencies functioning harmoniously.
3.2.10 Risks
Anticipated risks associated with the project include potential challenges in data accuracy, user
adoption rates, and technical hurdles during the development process. Mitigation strategies
involve rigorous testing and validation processes, user feedback loops for continuous
improvement, and a flexible development approach to swiftly address unforeseen challenges.
3.2.11 Conclusion
In conclusion, the College Suggestions System is poised to revolutionise the college selection
process by prioritising user-centric design, usability, performance, and security. This document
serves as a comprehensive guide for the development phase, steering towards the creation of a
robust, user-friendly system that empowers students throughout their educational journey. The
emphasis on addressing critical gaps, navigating constraints, and managing dependencies and risks
underscores the commitment to delivering a transformative and seamless experience for students.
Find me College - Software Requirements Specification (SRS)
1. Introduction
The Find me College is a robust platform tailored to meet the needs of students embarking on their
educational journey. Its primary objective is to empower students by providing personalised
recommendations for colleges and universities. Whether a student is exploring undergraduate
programs, postgraduate studies, or specialised courses, this system acts as a reliable guide. The Find
me College is designed to provide personalised recommendations to students seeking information
about colleges. It assists students in selecting suitable institutions based on their preferences,
academic goals, and other relevant criteria.
In a world where educational paths diverge widely, the system acknowledges and celebrates the
uniqueness of each student. Recognising that no two academic journeys are identical, it endeavours
to tailor its suggestions based on individual aspirations, preferences, and academic goals.
The vast expanse of the educational landscape can be daunting, with countless institutions scattered
globally. Navigating through this maze of options is where the system truly shines, acting as a
guiding compass for students seeking the right fit for their educational pursuits.
It considers aspects like campus culture, extracurricular opportunities, Beyond the realm of
academic metrics, the system delves into the essence of and community engagement. It strives not
only to match students with colleges that align with their academic ambitions but also to connect
them with institutions that resonate with their values and aspirations.
In essence, the Find me College is not just about numbers and statistics; it’s about understanding the
holistic educational experience. By weaving together academic excellence, personal preferences,
and a broader cultural fit, it aims to intellectual growth but also align with their broader vision for
the future. facilitate a seamless transition for students into institutions that not only foster their
intellectual growth but also align with their broader vision for the future.
1.1 Purpose
The primary objectives of this system encompass:
1.1.1. Assisting students in exploring colleges based on their specific parameters
1.1.2. Furnishing accurate and pertinent information about colleges.
1.1.3. Facilitating a streamlined decision-making process for students.
1.1.4. Considering Financial Considerations.
1.1.5. Evaluating Career Alignment and Industry Connections.
1.1.6. Assessing Safety and Campus Environment.
1.1.7. Exploring Research Opportunities.
1.1.8. Enhancing Networking and Alumni Networks.
1.1.9. Promoting Global Exposure and International Programs.
1.2 Scope
The system will encompass the following facets:
1.2.1. College particulars (e.g., location, available courses, facilities).
1.2.2. Student personal details (e.g., academic history, areas of interest).
1.2.3. In-depth exploration of Course details (e.g., curriculum, faculty expertise,
placement records).
1.2.4. A Virtual Campus Tour for a comprehensive understanding of the campus
environment.
1.2.5. Implementation of Student Tracking and Summary functionalities for
personalised recommendations.
1.2.6. Integration of Faculty Interaction and Communication tools to foster effective
communication between students and faculty.
Additional Scope Points:
1.2.7. Admission Process Guidance: Providing insights into the admission process,
requirements, and deadlines.
1.2.8. Extracurricular Offerings: Highlighting clubs, sports, and other extracurricular
activities available on campus.
1.2.9. Housing and Accommodation: Offering information on housing options and
accommodations for students
1.2.10.Financial Aid Resources: Providing resources and information regarding
scholarships, grants, and financial aid opportunities.
1.2.11.Internship and Job Placement Assistance: Offering guidance and support for
securing internships and post-graduation employment.
1.2.12.Feedback and Reviews: Incorporating a platform for students to share feedback
and reviews about their college experiences.
1.2.13.Cultural and Social Events: Showcasing information about cultural and social
events happening on campus.
2. Functional Requirements
Additional Functionalities:
3. Non-Functional Requirements
3.1 Usability
i. Ensure the system is intuitively designed for easy navigation.
ii. Implement responsive design to enable seamless access on various devices.
3.2 Performance
i. Maintain fast response times for search queries and recommendations.
ii. Ensure scalability to handle a large number of users efficiently.
3.3 Security
i. Implement secure user authentication protocols and robust data encryption.
ii. Enforce role-based access control to safeguard administrator privileges.
3.4 Accessibility
i. Ensure the system complies with accessibility standards for users with diverse needs.
ii. Provide multiple language support for a more inclusive user experience.
4. Constraints
i. The system will operate within the constraints of available hardware and software resources.
ii. Adhere to privacy regulations and data protection laws, ensuring compliance and
user data security.
5. Conclusion
In conclusion, the College Suggestions System is designed with the overarching goal of
revolutionising the college selection process for students. By incorporating an array of.
functionalities, ranging from user-friendly registration and personalised recommendations to
detailed college information and an efficient admin panel, the system strives to create a
comprehensive and seamless experience.
This SRS document serves as a vital guide for the development phase, outlining the functional and
non-functional requirements that will shape the system. It acts as a crucial reference point for
stakeholders, providing a clear roadmap for development, testing, and implementation. The
collaborative effort of developers, designers, and administrators, guided by this document, will
contribute to the realisation of a robust and user-friendly College Suggestions System, empowering
students in their educational journey.
References:
1. College-Management-System (SRS)- Stucco
2. software requirements specification (SRS) for student information management
system
3. Placement Management System SRS
4. College Management System Project SRS Download
5. Student management system SRS
Estimation of Project Metrics
1.Introduction
After gathering the entire requirements specific to software project usually we need to think about
different solution strategy for the project. Expert business analysts are analysing their benefits and
as well as their shortcomings by means of cost, time and resources require to develop it.
In this experiment, we will learn how to estimate cost, effort and duration for a software project,
and then select one solution approach which will be found suitable to fulfil the organisational goal.
2.Objectives
After completing this experiment you will be able to:
• Categorise projects using COCOMO, and estimate effort and development time required for
a project
• Estimate the program complexity and effort required to recreate it using Hal stead's metrics
Project Estimation Techniques
A software project is not just about writing a few hundred lines of source code to achieve a
particular objective. The scope of a software project is comparatively quite large, and such a project
could take several years to complete. However, the phrase "quite large" could only give some
(possibly vague) qualitative information. As in any other science and engineering discipline, one
would be interested to measure how complex a project is. One of the major activities of the project
planning phase, therefore, is to estimate various project parameters in order to take proper
decisions. Some important project parameters that are estimated include:
• Project size: What would be the size of the code written say, in number of lines, files,
modules?
• Cost: How much would it cost to develop a software? A software may be just pieces of
code, but one has to pay to the managers, developers, and other project personnel.
• Duration: How long would it be before the software is delivered to the clients?
• Effort: How much effort from the team members would be required to create the software?
The concept of organic, semidetached, and embedded systems are described below.
• Organic: A development project is said to be of organic type, if
• The project deals with developing a well understood application
• The development team is small
• The team members have prior experience in working with similar types of projects
• Semidetached: A development project can be categorised as semidetached type, if
• The team consists of some experienced as well as inexperienced staff
• Team members may have some experience on the type of system to be developed
• Embedded: Embedded type of development project are those, which
• Aims to develop a software strongly related to machine hardware
• Team size is usually large
Bohm suggested that estimation of project parameters should be done through three stages:
Basic COCOMO, Intermediate COCOMO, and Complete COCOMO.
3.Basic COCOMO Model:
The COCOMO (Constructive Cost Model) model is a widely used approach to estimate the effort
(person-months), schedule (months), and cost of software development projects. It considers
various project characteristics to provide a starting point for planning and resource allocation.
• Salary Rate:
• Determine the average staff salary rate per month (including benefits) for the development
team.
• Calculation:
• Multiply the effort (person-months) by the salary rate to estimate the total project cost.
• Example:
• Assuming an average salary rate of $8,000 per month:
Cost = 22.36 person-months * $8,000/month = $178,880
•
5.Important Considerations:
• COCOMO Assumptions:
• COCOMO estimates are based on historical data of traditional software projects. For agile
development or projects with significant uncertainty, consider using Intermediate COCOMO
with driver factors to adjust the estimates.
• Team Experience:
• The project's success and schedule can be impacted by the development team's experience. A
skilled team with experience in similar systems might be able to reduce effort and schedule
estimates.
• Project Management Overhead:
• The COCOMO estimates only consider development effort. Factor in additional time for
project management activities (planning, monitoring, quality assurance, etc.).
•
6.Additional Functionalities and Adjustments:
• If the college suggestion system includes more complex functionalities like a user
recommendation engine, personalised college rankings, or integration with external college
data sources, the function point analysis and subsequent ELOC, effort, schedule, and cost
estimates will need to be adjusted accordingly.
• As the project progresses and requirements become clearer, the estimates may be refined
using more detailed project information.
Use case diagrams belong to the category of behavioural diagram of UML diagrams. Use case
diagrams aim to present a graphical overview of the functionality provided by the system. It
consists of a set of actions (referred to as use cases) that the concerned system can perform, one or
more actors, and dependencies among them.
2.Actor
An actor can be defined as [1] an object or set of objects, external to the system, which interacts
with the system to get some meaningful work done. Actors could be human, devices, or even other
systems.
For example, consider the case where a customer withdraws cash from an ATM. Here, customer is a
human actor.
3.Use Case
A use case is simply [1] a functionality provided by a system.
Continuing with the example of the ATM, withdraw cash is a functionality that the ATM provides.
Therefore, this is a use case. Other possible use cases includes, check balance, change PIN, and so
on.
Use cases include both successful and unsuccessful scenarios of user interactions with the system.
For example, authentication of a customer by the ATM would fail if he enters wrong PIN. In such
case, an error message is displayed on the screen of the ATM.
4.Subject
Subject is simply [iii] the system under consideration. Use cases apply to a subject. For example, an
ATM is a subject, having multiple use cases, and multiple actors interact with it. However, one
should be careful of external systems interacting with the subject as actors.
Graphical Representation
An actor is represented by a stick figure and name of the actor is written below it. A use case is
depicted by an ellipse and name of the use case is written inside it. The subject is shown by drawing
a rectangle. Label for the system could be put inside it. Use cases are drawn inside the rectangle,
and actors are drawn outside the rectangle, as shown in figure
Actors in the College Suggestion System:
• Student: The primary actor who seeks college recommendations based on their academic
profile and preferences.
• College Administrator: Manages college data within the system (if applicable). This role
might be part of a separate system that feeds data to the college suggestion system.
1.Actor: Actors are external entities that interact with the system. These can include users, other
systems, or hardware devices. In the context of a Use Case Diagram, actors initiate use cases and
receive the outcomes. Proper identification and understanding of actors are crucial for accurately
modelling system behaviour.
2.Use case:Use cases are like scenes in the play. They represent specific things your system can do.
In the online shopping system, examples of use cases could be “Place Order,” “Track Delivery,” or
“Update Product Information”. Use cases are represented by ovals.
3.System boundary:The system boundary is a visual representation of the scope or limits of the
system you are modelling. It defines what is inside the system and what is outside. The boundary
helps to establish a clear distinction between the elements that are part of the system and those that
are external to it. The system boundary is typically represented by a rectangular box that surrounds
all the use cases of the system.
Here’s an example of use case diagram of FIND ME COLLEGE
E-R Modelling from the Problem Statements
The E-R (Entity-Relationship) Model in software engineering is a conceptual framework used to
design and represent databases. It focuses on defining entities, their relationships, and the
cardinality between them, providing a structured way to understand and communicate database
design.
Key Concepts in E-R Model:
1. Entity: An entity represents a real-world object or concept with unique attributes. For
example, in a college database, entities could be "Student", "Course", "Professor", etc.
2.
3. Attribute:Attributes are the properties or characteristics of an entity. For example, a
"Student" entity might have attributes like "Student_ID", "Name", "Age", and “Major".
4.
3. Relationship:Relationships describe how entities are connected to each other. For example, a
"Student" might be enrolled in a "Course", which establishes a relationship between these two
entities.
4.
4. Cardinality:Cardinality defines the number of relationships an entity can have with another
entity.
5.
6. Common cardinality types are:
• One-to-One: Each entity in the relationship is linked to one and only one other
entity.
• One-to-Many: An entity on one side of the relationship can be linked to
multiple entities on the other side, but not vice versa.
• Many-to-Many: Entities on both sides of the relationship can be linked to
multiple entities.
E-R Diagrams
E-R Diagrams (ERDs) are visual representations of the E-R Model. They use symbols and notations
to represent entities, attributes, and relationships. The key components in ERDs include:
1. Rectangles : Represent entities.
2. Ovals : Represent attributes.
3. Diamonds : Represent relationships between entities.
4. Lines : Connect entities to relationships, indicating their associations.
5. Crow's Feet Notation : Indicates cardinality at the ends of relationships. A line with a
"crow's foot" suggests a "many" relationship, while a straight line indicates a "one"
relationship.
6.
Uses in Software Engineering : The E-R Model is primarily used in the following contexts:
Related enity
sets
Relationship
with weak entity
set
ER diagram for FIND ME COLLEGE
Modelling UML Class Diagrams
UML (Unified Modelling Language) Class Diagrams are a type of static structure diagram that
represents the structure of a system by modelling its classes, attributes, operations, and relationships
among the classes. Here's a detailed description:
Key Components of UML Class Diagrams
1. Classes:
• A class represents a blueprint for objects, encapsulating data and behaviours. It is
depicted as a rectangle with three sections:
• Top Section: Contains the class name.
• Middle Section: Lists the attributes (properties or data members) with their
types.
• Bottom Section: Lists the methods (functions or operations) with their return
types.
2. Attributes:
• Attributes are data members of a class, representing its state. They can have different
visibility levels (public, private, protected) and types. The common notations for
visibility are:
• +: Public
• -: Private
• #: Protected
3. Operations:
• Operations are functions or methods that define the behaviour of the class. They can
also have visibility levels, input parameters, and return types.
1. Associations:
• Represents a relationship between two classes. It can be bidirectional or unidirectional.
An arrowhead indicates the direction of the relationship.
•
2. Aggregations:
• A type of association that indicates a whole-part relationship. The "whole" class is
depicted with a diamond shape, signifying that it has one or more parts.
•
3. Compositions:
• A stronger form of aggregation where the "whole" cannot exist without its parts. The
diamond shape is filled to distinguish it from aggregation.
•
•
5. Implementations:
• Represents a relationship where a class implements an interface (like a contract for
behaviour). It is depicted with a dashed line and a hollow triangle pointing towards the
interface.
Class diagram for FIND ME COLLEGE
Modelling Data Flow Diagrams
A Data Flow Diagram (DFD) is a graphical representation used in system analysis and design to
illustrate how data flows through a system, showing the inputs, processes, storage, and outputs of a
system. It is a crucial tool for understanding the structure and functioning of a system or process,
and it is commonly used in software engineering, information systems, and business process
management.
Key Components of a DFD
1. Processes: Represented by circles or rounded rectangles.
• Show the transformation or processing of data.
• Typically contain a name or a brief description of the function they perform.
•
2. Data Flows: Represented by arrows.
• Indicate the movement of data between components.
• Include a label describing the type of data being transmitted.
•
3. Data Stores: Represented by open rectangles or parallel lines.
• Depict where data is stored within the system.
• Can represent databases, files, or any form of data storage.
•
4. External Entities: Represented by squares or rectangles.
• Denote external actors or systems that interact with the process but are not
• Often represent users, customers, or other systems.
Levels of DFDs
DFDs can be created at various levels of detail, ranging from high-level overviews to detailed
descriptions of system processes.
Symbols in DFD’S
Applications of DFDs
• System Analysis: Helps in understanding and analysing existing systems to improve or
redesign them.
•
• System Design: Assists in designing new systems by providing a clear blueprint of the data
flow and processes.
•
• Business Process Modelling: Used to model and improve business processes by analysing
data flows and identifying areas for optimisation.
• DFD for FIND ME COLLEGE
LEVEL 0
LEVEL 1
LEVEL 2
Estimation of Test Coverage Metrics and Structural Complexity
Estimating test coverage metrics and structural complexity for a college suggestion system involves
analysing the system's codebase and design to understand the extent to which tests cover the
system's functionality and how complex the underlying structure is. This analysis can help guide
testing efforts and identify areas where code refactoring or additional testing might be needed.
Here's a detailed explanation of how you might approach this estimation:
• Manual Code Review: Reviewing the code and test cases to identify untested areas.
• Static Code Analysis Tools: These tools can automatically calculate metrics like statement
and decision coverage based on the codebase.
• Test Coverage Reporting Tools: These tools integrate with your testing framework and
report on the percentage of code covered by your tests.
For a college suggestion system, here's what to consider when estimating these metrics:
• Data Input Complexity: How well do your tests cover various user input scenarios,
including edge cases (e.g., very high/low GPA, unique extracurricular activities)?
• Matching Algorithm Complexity: Is the algorithm that matches students to colleges
thoroughly tested with diverse student profiles and college characteristics?
• User Interface (UI) Complexity: Are all functionalities of the UI tested, including filtering
options, sorting mechanisms, and result presentation?
In software development, a test suite is a collection of organised test cases designed to validate a
software program's functionality and performance. It acts like a container that groups these
individual test cases for efficient execution, reporting, and management.
• Structured Testing: By grouping related test cases together, test suites enable a systematic
approach to testing different aspects of the software, ensuring comprehensive coverage.
• Efficient Execution: Test suites can be automated for execution, saving time and effort
compared to running tests individually.
• Reporting and Management: Test suite results are consolidated, making it easier to track
progress, identify defects, and analyse overall test coverage.
• ** Reusability:** Well-designed test suites can be reused across different testing cycles or
projects with similar functionalities.
Test suites can be designed based on various factors, such as:
Software documentation standards ensure consistency, clarity, and completeness in the information
that accompanies a software product. There isn't a single universally mandated standard, but several
influential guidelines and resources are commonly followed. Here's a breakdown of some key
standards:
• Requirements specifications
• Design descriptions
• User manuals
• Installation guides
• Testing processes
The standards provide recommendations for structure, content, and formatting, promoting clear and
consistent documentation across projects.
This style guide offers recommendations for professional writing in the technical domain. It covers
aspects like:
For software with Application Programming Interfaces (APIs), specific standards like OpenAPI
(Swagger) or RESTful API documentation guidelines promote clear and consistent communication
with developers who want to interact with your software.
4. Organisational Standards:
Many software development organisations establish their own internal documentation standards.
These may build upon the above resources while tailoring them to specific project needs, company
style guides, and preferred tooling.
Here are some general best practices for software documentation standards:
• Target Audience: Tailor the level of detail and technical language to the intended audience
(developers, end-users, etc.).
• Accuracy and Completeness: Ensure the information is up-to-date, accurate, and covers all
essential aspects of the software.
• Consistency: Maintain a consistent style guide for formatting, terminology, and structure
throughout the documentation.
• Accessibility: Use clear and concise language, along with helpful visuals like screenshots
and diagrams.
• Tooling: Leverage documentation generation tools and version control systems to
streamline the creation and maintenance of documentation.
Introduction
Same types of objects are typically implemented by class in object oriented programming. As the
structural unit of the system can be represented through the classes, so, it is very important to
identify the classes before start implementing all the logical flows of the system.
In this experiment we will learn how to identify the classes from a given problem statement.
We now present the steps to identify domain classes from a given problem statement. This approach
is mostly based on the “Grammatical approach using nouns” discussed above, with some insights
from [i].
1. Make a list of potential objects by finding out the nouns and noun phrases from narrative
problem statement
2. Apply subject matter expertise (or domain knowledge) to identify additional classes
3. Filter out the redundant or irrelevant classes
4. Group the objects based on similar attributes. While grouping we should remember that
1. Different nouns (or noun phrases) can actually refer to the same thing (examples:
house, home, abode)
2. Same nouns (or noun phrases) could refer to different things or concepts (example: I
go to school every day / This school of thought agrees with the theory)
5. Give related names to each group to generate the final list of top level classes
6. Iterate over to refine the list of classes
Categories Explanation
People Humans who carry out some function
Places Areas set aside for people or things
Things Physical objects
Organizatio Collection of people, resources, facilities and
ns capabilities having a defined mission
Concepts Principles or Ideas not tangible
Things that happen (usually at a given date and
Events
time), or as a steps in an ordered sequence
From the Problem Statement we can identify the following nouns and noun phrases:-
1. College
2. Student
3. Sports
4. Cutoff
5. Student marks
6. Reservation
7. Admin
8. Cultural activities
9. Student Priorities
10. Facilities
11. College list
12. Suggestion System
13. University
1. College
2. Student
3. University
4. Priorities
5. Marks
6. Cutoff
7. College reservation
8. College list
State chart and Activity Modelling
Introduction
In case of Object Oriented Analysis and Design, a system is often abstracted by one or more classes
with some well defined behaviour and states. A state chart diagram is a pictorial representation of
such a system, with all it's states, and different events that lead transition from one state to another.
To illustrate this, consider a computer. Some possible states that it could have are: running,
shutdown, hibernate. A transition from running state to shutdown state occur when user presses the
"Power off" switch, or clicks on the "Shut down" button as displayed by the OS. Here, clicking on
the shutdown button, or pressing the power off switch act as external events causing the transition.
State chart diagrams are normally drawn to model the behaviour of a complex system. For simple
systems this is optional.
Activity
An activity denotes a particular action taken in the logical flow of control. This could simply be
invocation of a mathematical function, alter an object's properties and so on [x]. An activity is
represented with a rounded rectangle, as shown in table-01. A label inside the rectangle identifies
the corresponding activity.
There are two special type of activity nodes: initial and final. They are represented with a filled
circle, and a filled in circle with a border respectively (table-01). Initial node represents the starting
point of a flow in an activity diagram. There could be multiple initial nodes, which means that
invoking that particular activity diagram would initiate multiple flows.
A final node represents the end point of all activities. Like an initial node, there could be multiple
final nodes. Any transition reaching a final node would stop all activities.
Flow
A flow (also termed as edge, or transition) is represented with a directed arrow. This is used to
depict transfer of control from one activity to another, or to other types of components, as we will
see below. A flow is often accompanied with a label, called the guard condition, indicating the
necessary condition for the transition to happen. The syntax to depict it is [guard condition].
Decision
A decision node, represented with a diamond, is a point where a single flow enters and two or more
flows leave. The control flow can follow only one of the outgoing paths. The outgoing edges often
have guard conditions indicating true-false or if-then-else conditions. However, they can be omitted
in obvious cases. The input edge could also have guard conditions. Alternately, a note can be
attached to the decision node indicating the condition to be tested.
Merge
This is represented with a diamond shape, with two or more flows entering, and a single flow
leaving out. A merge node represents the point where at least a single control should reach before
further processing could continue.
Fork
Fork is a point where parallel activities begin. For example, when a student has been registered with
a college, he can in parallel apply for student ID card and library card. A fork is graphically depicted
with a black bar, with a single flow entering and multiple flows leaving out.
Join
A join is depicted with a black bar, with multiple input flows, but a single output flow. Physically it
represents the synchronisation of all concurrent activities. Unlike a merge, in case of a join all of the
incoming controls must be completed before any further progress could be made. For example, a
sales order is closed only when the customer has receive the product, and the sales company has
received it's payment.
Note
UML allows attaching a note to different components of a diagram to present some textual
information. The information could simply be a comment or may be some constraint. A note can be
attached to a decision point, for example, to indicate the branching criteria.
Partition
Different components of an activity diagram can be logically grouped into different areas, called
partitions or swim lanes. They often correspond to different units of an organisation or different
actors. The drawing area can be partitioned into multiple compartments using vertical (or
horizontal) parallel lines. Partitions in an activity diagram are not mandatory.
The following table shows commonly used components with a typical activity diagram.
State
A state is any "distinct" stage that an object (system) passes through in it's lifetime. An object
remains in a given state for finite time until "something" happens, which makes it to move to
another state. All such states can be broadly categorised into following three types:
• Initial: The state in which an object remain when created
• Final: The state from which an object do not move to any other state [optional]
• Intermediate: Any state, which is neither initial, nor final
Transition
Transition is movement from one state to another state in response to an external stimulus (or any
internal event). A transition is represented by a solid arrow from the current state to the next state. It
is labeled by: event [guard-condition]/[action-expression], where
• Event is the what is causing the concerned transition (mandatory) -- Written in past
tense [iii]
• Guard-condition is (are) precondition(s), which must be true for the transition to happen
[optional]
Action
As mentioned in [ii], actions represents behaviour of the system. While the system is performing
any action for the current event, it doesn't accept or process any new event. The order in which
different actions are executed, is given below:
1. Exit actions of the present state
2. Actions specified for the transition
Table for symbol and there description:
Activity
Flow
Decision
Merge
Fork
Join
Note
State chart diagram for FIND ME COLLEGE