Escolar Documentos
Profissional Documentos
Cultura Documentos
Day 1
Every workflow will have many activities, which are performed by a worker.
To perform that activity, he/she needs an input artifact. He is responsible for
generating certain output artifacts.
Class Object
Car Maruti car
Employee Ram
Book Title of the book
Furniture Chair
Hardware Pentium 4
Group Transport
Bank Citibank
State Delhi
Country India
Trainer Achalla
Cricket player Sachin Tendulkar
Vehicle –> 4 Wheeler –> car -> Hyundai Santro -> my hyundai snatro, bright
silver, lp , owned by achalla, parked in MG Road Bangalore on 8/4/2002 at
8.00 pm.
Characteristics of an object
1. Occupy space.
2. Lifetime.
3. Unique.
4. Identity.
5. State – an object exist in a particular state at any time.
Architecture of an object
6. Object has specific properties (values).
• Static – doesn’t change often.
• Dynamic – keeps changing.
Car 1 Car 2
Red Green
Santro Zen
Ka01-x323 Ka02-333
Hari Rama
Parked Moving
Left
Lodhi Road Mathura Road
On 8/4/2002 On 8/4/2002
At 2:30 pm At 2:30 pm
Abstraction –
Abstract – not clear, complex, vague.
Abstract – gist, brief, summary.
Abstraction is a process of making things clear.
In software development perspective --
Input to Abstraction – problem statement, client statement.
Output – domain classes.
Encapsulation –
Hiding implementation details from clients.
Write a program to accept the radius of a circle and display the area and the
perimeter?
Algorithmic
Main() {
float radius, area, peri;
cin >> radius;
area = 3.14 * radius * radius;
peri = 2 *3.14 * radius;
cout << area << peri;
}
Class Circle {
private:
Float radius;
public:
Circle() {
radius = 0;
}
Void setRadius(float r) {
radius = r;
}
float getArea() {
return 3.14 * radius * radius;
}
float getPeri() {
return 2 * 3.14 * radius;
}
};
void main() {
Circle c1;
Float r;
Cin >> r;
C1.setRadius(r );
Cout << c1.getArea() << c1.getPeri();
}
write a program to accept 2 heights in ft and inches and display their sum in
cm?
Class Height {
Private:
Int ft,inch;
Public:
Void setHeight(int f,int I) {
ft = f;
inch = I;
}
float getCm() {
return (2.54 * (ft*12+inch));
}
Height add(Height h) {
Height temp;
Temp.ft = ft + h.ft;
Temp.inch = inch + h.inch;
If(temp.inch >=12) {
temp.ft++;
temp.inch-=12;
}
Return temp;
}
float getX() {
}
};
void main() {
Height h1;
Height h2,h3,h4;
H1.setHeight(5,8);
H2.setHeight(5,9);
H3.setHeight(5,7);
H4 = h1.add(h2.add(h3));
Cout << h3.getX();
}
Day 2
Class Relationships
Class Car {
Wheel w[4];
};
Class Person {
Void ride(Bike b1) {
b1.start();
b1.changeGear();
b1.accelerate();
}
};
Binding –
1. Static binding.
Main() {
x();
}
x() {
}
2. Dynamic binding – runtime polymorphism. The ability to find the
component at runtime.
Requirements
1) Process
a) Requirements.
b) Analysis.
c) Design.
2) UML.
3) Together Control Center Case Tool.
Use Case –
• An important behavior of an application domain.
• Ex: withdraw is a use case in a banking domain.
• A use case has a beginning, a set of activities and a concrete
end to it.
• The system which we are developing is not a use case, it will
have use cases.
• Use cases can have sub flows and alternate flows.
Actors –
• An external factor affecting (initiate/ participate) the use case.
• An actor is identified by a role.
• An actor is not a specific instance.
• An actor can be a machine provided it is performing a role.
• An actor cannot be a commodity.
• An actor can be an external system or external software.
• An actor can be an imaginary role.
Stereotype – an extension to an existing model element.
Questions.
A. How many use cases does a use case diagram can have.
B. Can we 40 use case, how to handle it.
C. Can we have more than one use case diagrams.
D. When do we say that we are done with use case modeling.
Answers.
Basic flow.
• Enquiry.
• Tech. Evaluation.
• Arrange for resources.
• Training.
• Feedback is collected.
• Cheque is collected.
When the sub-flows of a use case become complex, and starts having its own
sub-flows, or new actors start emerging from each sub-flow, then the use
case is upgraded to a use case package and its sub-flows become use cases.
Analysis
Architect Designer
Architectural Analysis Use Case Analysis
Implementation Mechanisms
Dbase, foxpro, oracle, sybase, ingres, db2, progress, informix, sql server,
object store.
Implementation Mechanisms –
C++ com, atl com, mfc com, java com, vb com, visibroker, mico, arbacus, hp
orbix, java 1.2 from sun, visual age.
Analysis Classes
• Conceptual classes, they need not be implemented.
• They are converted into design elements.
• There are three types of analysis classes.
• Boundary Class.
• Entity class.
• Control class.
Boundary class –
• An interface between an actor and a use case and vice versa.
• Registration Form is the boundary class between student and Register for
a course.
• Course Catalog System interface is the boundary class between a Register
for a course and Course Catalog.
• A boundary class can be
• User interface.
• System interface.
• Device driver interface.
• One boundary class between an actor-use case pair.
Entity Class –
• Key abstractions.
• Student, course offering are entity classes.
Control Class –
• Use case behavior coordinator.
• One control class per use case.
• Registration Controller is the control class for Register for a course.
Design
Architect Designer
Identify the design elements Use Case Design
Identify design mechanisms Subsystem design
Describe the runtime architecture of Class design
the system
Describe the distribution
Boundary Class –
• User Interface –
• If implemented as a class, it will have many classes.
• If not implemented as a class, then we will be using an IDE like
pb, visual age, delphi, d2k, html/JavaScript etc.
• System interface or a device driver interface, it will remain as an
interface.
Entity Class –
• If the entity class is simple and provides a single logical abstraction, it
remains as a class.
• If it is complex, it is broken down into simpler classes leading to
aggregation and inheritance.
• If we can group them, we do it in a package.
• If the package provides a uniform goal, it becomes a subsystem.
Control Class –
• If the control class is simple, then other related simple control classes can
be grouped in a single control class, where earlier ones become methods.
(Note – sub flows became use cases).
• If the control class is too complex, we break into simpler control classes,
leading to inheritance (Note - use cases were merged).
Criteria.
• Architectural Pattern.
At the Application Subsystem level, We can further sub-packaging based on
actors.
At the business specific layer, We can further sub-packaging, like.
• Key Abstractions.
• Use Cases packages
• Use case.
Day 5
Stereotypes in association.
1. Includes.
2. Extends.
Class Diagram
Concept Notation
Class
Interface
Package
Class by pattern
Link by pattern
Association
Generalization
Dependency
Aggregation
Composition
Realization
Navigability
Sequence Diagram
Concept Notation
Object
Actor Instance
Message
Message with delivery time
Conditions
Reflexive message
Activity diagram
The activity diagram will have activities, states of objects etc. using which, it
explains the entire flow.
Subsystems
• A part of the main system or connected to the main system.
• There are two types of subsystems.
• Internal subsystem (Candidate subsystem).
• External Subsystem.
External subsystems –
Requirements – Actor (External).
Analysis – Boundary class (System interface).
Design – subsystem interface and we will design an external subsystem,
which will implement the subsystem interface.
-END-