The document discusses various approaches to object classification and identifying classes in object-oriented analysis and design. It describes the noun phrase approach, where nouns from requirements are identified as potential classes and verbs as potential methods. Several guidelines are provided for analyzing noun phrases and selecting relevant classes, such as eliminating redundant, adjective, and attribute classes. The document also applies the noun phrase approach to analyze a sample problem domain and identify candidate classes. It notes some limitations of the noun phrase approach and describes the common class patterns approach as an alternative.
This application takes care of IIT JEE admission process after the results of JEE is declared. This is done by a group of 20 people. My part is the backend coding of the admission process. The entire logic is given at the beginning of this report in a flow chart. This application was designed using java with mysql database using JDBC connector and Net Beans served as the primary IDE in this project.
This application takes care of IIT JEE admission process after the results of JEE is declared. This is done by a group of 20 people. My part is the backend coding of the admission process. The entire logic is given at the beginning of this report in a flow chart. This application was designed using java with mysql database using JDBC connector and Net Beans served as the primary IDE in this project.
The objective is to explain how a software design may be represented as a set of interacting objects that manage their own state and operations and to introduce various models that describe an object-oriented design.
Inheritance and Polymorphism. Before we move on, let's discuss another important concept in programming: Object inheritance and polymorphism. ... A class that is inherited is called a super class, or parent class. Sub classes can define their own unique behavior, yet share functionality of the parent class.
Student Name Daniel RosadoCourseCIS339Session (month, ye.docxemelyvalg9
Student Name: Daniel Rosado
Course:
CIS339
Session (month, year):
01/2016
Object-Oriented System Analysis and Design
The School of Prosperity
Student Records System (SRS)
Week1—System Request3
Week2—Use Case Diagram AND Use Cases Descriptions5
Week3—Class Diagram AND CRC Cards9
Week4—Sequence, Communication, and State Machine Diagrams15
Week5—Package Diagram19
Week6—Method Contract AND Method Specification21
Week7—Object-Oriented Application Coding24
Week1—System Request
1
Use this system request template and complete the SRS system request.
System Request
The School of Prosperity
Student Records System (SRS)
Project sponsor:
The School of Prosperity (SoP)
Business Need:
New Internet-accessible Student Record System that will allow students the capability to handle their own registration and staff to maintain records, courses, and schedule online-face-to-face classes.
Business Requirements:
1.) Online accessible system
2.) Reduce registration time
3.) Handle enrollment increases
Business Value:
1.) Reduction in time spent registering students by 90% from 1000 to 100 hrs.
2.) Increase in staff productivity by 10% resulting in $50,000/yr. in cost savings
3.) Paper/Printer usage reduction resulting in approximately $3,000 in savings/yr.
4.)Staff morale is expected to increase due to increased time available for their projects
5.) Eliminate paper filing/registration errors
Special Issues or Constraints:
1.) Completion in one year
2.) Security; Students access to school files must be addressed/restricted
3.) Possibly integrate with currently used home grown apps/systems
2
I believe that my system request addresses the SRS Preliminary Planning Overview because it addresses the issue of what the customer wants, the specifics it is requiring along with the time frame it is requesting it in.
Here are my five questions that would help clarify some project issues/concerns:
1. Will the project team be responsible for loading all the archived/previous semesters of data of students?
2. What are the levels of permissions/rights that will be required at each level (i.e. Help Desk, Advisor, Dean, etc.)?
3. Does the one year time frame include deployment and training, or is it just delivery of application/system?
4. Who will provide the architecture/infrastructure for this deployment?
5. Is SoP looking for a licensed/supported application or are they interested in a COTS (Custom off the Shelf) application that they own outright?
3I completed my work by reviewing the Preliminary Planning Overview and identifying, the request, sponsor, business need(s), requirement(s), value and issues/constraints. I made the decision to differentiate between what were needs/ requirements and what were requests. The needs/requirements were where the system was accessed (internet accessible), how/who accessed the data/system (security) and when it needed to be in place (in one year).
Week2—Use Case Diagram andUse Cases Descriptions
1
SRS Use Case Diagram
.
Profile Analysis of Users in Data Analytics DomainDrjabez
Data Analytics and Data Science is in the fast forward
mode recently. We see a lot of companies hiring people for data
analysis and data science, especially in India. Also, many
recruiting firms use stackoverflow to fish their potential
candidates. The industry has also started to recruit people based
on the shapes of expertise. Expertise of a personal is
metaphorically outlined by shapes of letters like I, T, M and
hyphen betting on her experiencein a section (depth) and
therefore the variety of areas of interest (width).This proposal
builds upon the work of mining shapes of user expertise in a
typical online social Question and Answer (Q&A) community
where expert users often answer questions posed by other
users.We have dealt with the temporal analysis of the expertise
among the Q&A community users in terms how the user/ expert
have evolved over time.
Keywords— Shapes of expertise, Graph communities, Expertise
evolution, Q&A community
The objective is to explain how a software design may be represented as a set of interacting objects that manage their own state and operations and to introduce various models that describe an object-oriented design.
Inheritance and Polymorphism. Before we move on, let's discuss another important concept in programming: Object inheritance and polymorphism. ... A class that is inherited is called a super class, or parent class. Sub classes can define their own unique behavior, yet share functionality of the parent class.
Student Name Daniel RosadoCourseCIS339Session (month, ye.docxemelyvalg9
Student Name: Daniel Rosado
Course:
CIS339
Session (month, year):
01/2016
Object-Oriented System Analysis and Design
The School of Prosperity
Student Records System (SRS)
Week1—System Request3
Week2—Use Case Diagram AND Use Cases Descriptions5
Week3—Class Diagram AND CRC Cards9
Week4—Sequence, Communication, and State Machine Diagrams15
Week5—Package Diagram19
Week6—Method Contract AND Method Specification21
Week7—Object-Oriented Application Coding24
Week1—System Request
1
Use this system request template and complete the SRS system request.
System Request
The School of Prosperity
Student Records System (SRS)
Project sponsor:
The School of Prosperity (SoP)
Business Need:
New Internet-accessible Student Record System that will allow students the capability to handle their own registration and staff to maintain records, courses, and schedule online-face-to-face classes.
Business Requirements:
1.) Online accessible system
2.) Reduce registration time
3.) Handle enrollment increases
Business Value:
1.) Reduction in time spent registering students by 90% from 1000 to 100 hrs.
2.) Increase in staff productivity by 10% resulting in $50,000/yr. in cost savings
3.) Paper/Printer usage reduction resulting in approximately $3,000 in savings/yr.
4.)Staff morale is expected to increase due to increased time available for their projects
5.) Eliminate paper filing/registration errors
Special Issues or Constraints:
1.) Completion in one year
2.) Security; Students access to school files must be addressed/restricted
3.) Possibly integrate with currently used home grown apps/systems
2
I believe that my system request addresses the SRS Preliminary Planning Overview because it addresses the issue of what the customer wants, the specifics it is requiring along with the time frame it is requesting it in.
Here are my five questions that would help clarify some project issues/concerns:
1. Will the project team be responsible for loading all the archived/previous semesters of data of students?
2. What are the levels of permissions/rights that will be required at each level (i.e. Help Desk, Advisor, Dean, etc.)?
3. Does the one year time frame include deployment and training, or is it just delivery of application/system?
4. Who will provide the architecture/infrastructure for this deployment?
5. Is SoP looking for a licensed/supported application or are they interested in a COTS (Custom off the Shelf) application that they own outright?
3I completed my work by reviewing the Preliminary Planning Overview and identifying, the request, sponsor, business need(s), requirement(s), value and issues/constraints. I made the decision to differentiate between what were needs/ requirements and what were requests. The needs/requirements were where the system was accessed (internet accessible), how/who accessed the data/system (security) and when it needed to be in place (in one year).
Week2—Use Case Diagram andUse Cases Descriptions
1
SRS Use Case Diagram
.
Profile Analysis of Users in Data Analytics DomainDrjabez
Data Analytics and Data Science is in the fast forward
mode recently. We see a lot of companies hiring people for data
analysis and data science, especially in India. Also, many
recruiting firms use stackoverflow to fish their potential
candidates. The industry has also started to recruit people based
on the shapes of expertise. Expertise of a personal is
metaphorically outlined by shapes of letters like I, T, M and
hyphen betting on her experiencein a section (depth) and
therefore the variety of areas of interest (width).This proposal
builds upon the work of mining shapes of user expertise in a
typical online social Question and Answer (Q&A) community
where expert users often answer questions posed by other
users.We have dealt with the temporal analysis of the expertise
among the Q&A community users in terms how the user/ expert
have evolved over time.
Keywords— Shapes of expertise, Graph communities, Expertise
evolution, Q&A community
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
1. Chapter – 7
Object Analysis: Classification
Classification theory
Classification, the process of checking to see if an
object belongs to a category or a class, is regarded
as a basic attribute of human nature
Classes are an important mechanism for classifying
objects. The chief role of a class is to define the
attributes, methods and applicability of its instances.
The class car e.g.: defines the property color. Each
individual car will have a value for this property such
as yellow or white
Objects have properties(attributes) and
methods(behavior)
2. A class is a specification of structure, behavior and
the description of an object
Classification is concerned more with identifying the
class of an object than the individual objects within
a system
classes are important because they create
conceptual building blocks for designing systems
An object can be categorized in more than one way
The problem of classification may be regarded as
one of discriminating things, not between the
individual objects but between classes, via the
search for features or invariant attributes or
behaviors among members of a class
3. Classification can be defined as the
categorization of input data(things) into
identifiable classes via the extraction of
significant features of attributes of the data from
a background irrelevant detail
Approach for identifying classes
Four approaches
1.The noun phrase approach
2.The common class patterns approach
3.The use-case driven, sequence/collaboration
modeling approach
4.The classes, responsibilities and collaborators
(CRC) approach
4. Noun Phrase Approach
In this method, you read through the
requirements or use looking for noun phrases
Nouns in the textual description are considered
to be classes and verbs to be methods of the
classes
All plurals are changed to singular, the nouns are
listed and list is divided into 3 categories
1.relevant classes
2.fuzzy classes (those classes that we are not
sure about)
3.irrelevant classes
5. •Diagram
It is safe to scrap the irrelevant classes, which
either have no purpose or will be unnecessary
Candidate classes then are selected from the
other two categories
Identifying classes and developing a UML class
diagram just like other activities is an iterative
process
6. Identifying Tentative Classes
Guidelines for selecting classes in an application
1. Look for nouns and noun phrases in the use
cases
2. Some classes are implicit or taken form general
knowledge
3. All classes must make sense in the application
domain; avoid computer implementation
classes
4. Carefully choose and define class names
Finding classes in an incremental and iterative
process
7. Selecting Classes form the Relevant and Fuzzy
Categories:
Guidelines in selecting candidate classes from the
relevant and fuzzy categories of classes in the
problem domain
1. Redundant Classes
Do not keep two classes that express the same
information
If more than one word is being used to describe
the same idea, select the one that is the most
meaningful in the context of the system
Choose your vocabulary carefully; use the word
that is being used by the user of the system
8. 2.Adjective classes
An adjective can suggest a different kind of
object, different use of the same object or it
could be utterly irrelevant.
Does the object represented by the noun behave
differently when the adjective is applied to it ?
3.Attribute classes
Tentative objects that are used only as values
should be defined or restated as attributes and
not as a class
4.Irrelevant classes
Each class must have a purpose and every class
should be clearly defined and necessary
9. The process of identifying relevant classes and
eliminating irrelevant classes is an incremental
process
Each iteration often uncovers some classes that
have been overlooked
Classification is the essence of good object-
oriented analysis and design
The process of eliminating the redundant classes
and refining the remaining classes is not
sequential
10. The ViaNet Bank ATM System: Identifying Classes
by using Noun Phrase Approach Initial List of
Noun Phrases: Candidate Classes
Initial study of the use cases of bank system
products the following noun phrase (candidate
classes – may be)
Account Dollar Transaction
Account balance Envelope Transaction History
Amount Four Digit
Approval process Fund
11. ATM card Invalid PIN
ATM machine Message
Bank Money
Bank Client Password
Card PIN
Cash PIN code
Checking Record
Checking account Savings
Client Savings Account
Client’s Account Step
Currency System
12. Eliminate the irrelevant classes. Candidate classes
must be selected from relevant and fuzzy classes.
The following irrelevant classes can be eliminated
because they do not belong to the problem
statement: Envelope, Four Digits and step. Strike
outs indicate eliminate classes
Account Envelope
Account balance Four Digits
Amount Fund
Approval process Invalid PIN
ATM card Message
ATM machine Money
Bank Password
13. Bank client PIN
Card PIN code
Cash Record
Check Savings
Checking account Savings account
Checking Step
Client System
Client’s account Transaction
Currency Transaction History
Dollar
14. Reviewing the redundant classes and building a
common vocabulary
If different words are being used to describe the
same idea, select the one that is the most
meaningful in the context of the system and
eliminate the others
The following are the different class names that are
being used to refer to the same concept
Client, BankClient = Bank Client(the term chosen)
Account, Client’sAccount = Account
PIN, PIN code = PIN
Checking, Checking Account = Checking Account
Savings, Savings Account = Savings Account
Fund, Money = Fund
ATM Card, Card = ATM Card
15. Revised list of candidate classes
Account Envelope
Account Balance Four Digit
Amount Fund
Approval Process Invalid PIN
ATM card Message
Bank Money
Bank client Password
Card PIN
Cash PIN Code
Check, checking Savings
Checking Account Savings Account
Client Step
Client’s Account System
Currency Transaction
Dollar Transaction History
16. Reviewing the Classes Containing Adjectives
Question – Does the object represented by the
noun behave differently when the adjective is
applied to it?
If an adjective suggests a different kind of class
or the class represented by the noun behaves
differently when the adjective is applied to it,
then we need to make a new class
If it is a different use of the same object or the
class is irrelevant, we must eliminate it
In the above e.g.: no elimination
17. Reviewing the Possible Attributes
Identify the noun phrases that are attributes, not
classes
The noun phrases used only as values should be
restated as attributes
Amount – a value, not a class
Account Balance : an attribute of the Account class
Invalid PIN : it is only a value, not a class
Password : an attribute, possibly of Transaction class
PIN: an attribute, possibly of the BankClient class
18. Revised list of candidate classes
Account Four Digits
Account balance Fund
Amount Invalid PIN
Approval process Message
ATM card Money
Bank Password
Bank Client PIN
Card PIN Code
Cash Record
Check Savings
Checking Savings Account
Checking account Step
Client System
Client’s Account Transaction
Currency Transaction History
Dollar
Envelope
19. Reviewing the class purpose
Identifying the classes that play a role in
achieving system goals and requirements is a
major activity of object oriented analysis
Every class must have a purpose and should be
clearly defined
The classes that add no purpose to the system
have been deleted from the list
The candidate classes are these
1.ATM Machine Class: Provides an interface to the
ViaNet bank
20. 2.ATM Card Class: provides a client with a key to an
account
3.Bank Client class: a client is an individual that has a
checking account & possibly savings account
4.Bank class: bank clients belong to the bank. It is a
repository of accounts and processes the account’s
transactions
5.Account class: an account class is a formal (or
abstract) class, it defines the common behaviors that
can be inherited by more specific classes such as
checking Account and savingsAccount
6.Checking Account class: it models a clients checking
account and provides more specialized withdrawal
service
21. 7.Savings Account Class: it models a client’s savings
account
8.Transaction Class: keeps track of transaction,
time, date, type, amount and balance
Some classes are missing form the list and others
will be eliminated or refined later
The process of identifying classes can improve
gradually through incremental process
Problem with Noun Phrase approach:
i. It depends on the completeness and
correctness of the available document, which is
rare in real life
22. ii. Large volume of text on system documentation
might lead to too many candidate classes
iii. Noun phrase approach can be very educational
and useful if combined with other approaches
especially with use case
Common Class Patterns Approach
This approach is based on a knowledge base of
the common classes that have been proposed
by various researchers
Following is the list of patterns for finding the
candidate class and object
23. 1.Name. Concept class
Context. A concept is a particular idea or
understanding that we have of our world. when an
understanding is shared by another, it becomes a
concept
e.g.: performance is an example of concept class
object
2.Name. Events class
Context. Events classes are points in time that must be
recorded. Things happen, usually to something else
at a given date and time or as a step in an ordered
sequence. Associated with things remembered are
attributes such as who, what, when, where, how or
why.
Eg. Landing, interrupt , request and order are possible
events
24. 3.Name. Organization class
Context. An organization class is an collection of
people, resources, facilities or groups to which the
users belong; their capabilities have a defined
mission, whose existence is largely independent of
the individuals
e.g.: an accounting department might be considered a
potential class
4.Name. People class
Context. The people class represents the different
roles users play in interacting with the application.
People carry out some function. Coad and Yourdon
say a class which is represented by a person can be
divided into two types:
25. (i) Those representing users of the system, such as
an operator or clerk who interacts with the
system
(ii) And those representing people who do not use
the system but about whom information is kept
by system
e.g.: Employee, client, teacher, manager
5. Name. Place class
Context. Places are physical locations that the
system must keep information about
e.g.: buildings, stores, sites, and offices are
examples of places
26. 6.Name. Tangible things and devices class
Context. The class includes physical objects or
groups of objects that are tangible and devices
with which the application interacts
e.g.: cars – tangible things
Pressure sensors - devices
The ViaNet Bank ATM systems: Identifying Classes
by using Common Class Patterns
The bank system events classes follow
Account class: an account class is a formal (or
abstract) class. It defines the common behaviors
that can be inherited by more specific classes
such as checking Account and Savings Account
27. Checking Account Class: it models a client’s checking
account and provides more specialized withdrawal
service
Savings Account Class: it models a client’s savings
account
Transaction class: it keeps track of transaction, time,
date, type, amount and balance
the bank’s organization class follows Bank class:
Bank clients belong to the bank. It is a repository of
accounts and processes, the account’s transactions
The bank system people and person class Bank client
class: a client is an individual that has a checking
account and possibly a savings account
28. Place classes are not applicable to bank system
Tangible and device classes of bank system
ATM Machine class: it allows access to all accounts
held by a bank client.
Use-case Driven Approach: Identifying classes and
their Behavior through sequence / collaboration
Modeling
Modeling with use case is a recommended aid in
finding the objects of a system and is the technique
used by the unified approach
The process of creating sequence or collaboration
diagram is a systematic way to think about how a
use case(scenario) can take place; and it forces to
think about objects involved in the application
29. When building a new system, designers model the
scenarios of the way the system of business should
work
Implementation of Scenarios
At least one scenario is to be prepared for each
significantly different use-case instance
Each scenario shows a different sequence of
interaction b/w actors and the system
The process helps to understand the behavior of the
system’s objects
Sequence diagrams enables to model more specific
analysis and also assists in the design of the system
by modeling the interactions b/w objects in the
system
30. The ViaNet Bank ATM System: Decomposing a use-
case Scenario with a sequence Diagram: Object
Behavior Analysis
A sequence diagram represents the sequence and
interactions of a given use case or scenario
The following are the use-cases of the bank system
Deposit checking Withdraw Savings denied
Deposit savings Checking Transaction History
Invalid PIN Savings Transaction History
Withdraw checking
Withdraw more from checking
Withdraw savings
31. Create a sequence / collaboration diagram for the
following use case
1.Invalid PIN use card
2.Withdraw Checking use case
3.Withdraw more from checking use case
Invalid PIN use case
The activities the actor BankClient performs
Insert ATM card
Enter PIN number
Remove the ATM card
37. Classes, Responsibilities and Collaborations(CRC)
CRC is a technique used for identifying classes
responsibilities and therefore their attributes and
methods
CRC helps in identify classes
CRC is based on the idea that an object either
can accomplish a certain responsibility itself or it
may require the assistance of other objects
If it requires the assistance of other objects, it
must collaborate with those objects to fulfill its
responsibility
By identifying objects responsibility and
collaborators you can identify methods and
attributes
38. CRC cards are 4 power of 11 * 6 power of 11
index cards. All the information for an object is
written on a card
Class name appear in upper left-hand corner
Bulleted list of responsibility appear under it in
the left two thirds of the card
List of collaborators appear in right third
Cards are cheap, portable, readily available and
familiar
CRC stresses the importance of creating objects
not to meet mythical future needs, but only
under the demands of the moment
39. CRC index card
Classes, Responsibilities and Collaborators process
3 steps
1. Identify classes responsibilities(and identify
classes)
2. Assign responsibility
3. Identify collaborators
Class Name Collaborators
Responsibilities ………….………..
……………
41. The ViaNet Bank ATM System: Identifying Classes
by using CRC
For Account object
Account
Balance
Number
----------
Deposit
Withdraw
get Balance
Checking Account
(sub class)
Saving Account
(subclass)
transaction
42. Naming classes
Guidelines
1. Class name should be singular
2. Use names in which users or clients are
comfortable
3. Name of a class should reflect its intrinsic
nature
4. Use readable names