Title: Eran Toch
1Object Process Methodology(OPM)
Day ?
October 2007
- Eran Toch
- http//www.technion.ac.il/erant
2Agenda
3Difficult Tasks
- Data Structures
- Workflows modeling complex behavior
- Agile behavior
- And more...
4Patterns in Architecture
- Does this room makes you feel happy?
- Why?
- Light (direction)
- Proportions
- Symmetry
- And more...
5What is a Design Pattern?
A description of a recurrent problem and of the
core of possible solutions
In Short, a solution for a typical problem
6Why do we need Patterns?
- Reusing design knowledge
- Problems are not always unique. Reusing existing
experience might be useful. - Patterns give us hints to where to look for
problems. - Establish common terminology
- Easier to say, "We need a Façade here.
- Provide a higher level of abstractions
- Frees us from dealing with the details too early
- In short, its a reference
7History of Design Patterns
Architecture
Christopher Alexander The Timeless Way of
BuildingA Pattern Language Towns, Buildings,
Construction
1970
Object OrientedSoftware Design
Gang of Four (GoF)Design Patterns Elements of
Reusable Object-Oriented Software
1995
Other Areas HCI, Organizational Behavior,
Education, Concurent Programming
Many Authors
2007
8Agenda
9Data Structures Exercise 1
- A company has 1000 workers, each one identified
with a name, ID, salary and a job title (i.e.
system analyst). - Each worker can be assigned to one or more
projects. In each project, the worker is assigned
to a team. - Each team has a captain the head of the team.
Similarly, each project has a manager. - Each project has a name, customer and a list of
milestones. Each milestone is assigned to a team. - For each successful milestone, the workers of the
assigned team receive a bonus, which is manually
set by the project manager. The bonus might be
different for each team member.
10Data Structures Exercise 2
Client
Files
Folders
11Data Structures Exercise 3
12Agenda
13Behavior Exercise 1
- ????? ????? ?????? ????? ???? ???? ???????
???????? ????? ???? ????? ???? ?? ?????? ?? ??
???? (????, ????, ??????, ??????), ????? (????,
?????, ????? ????? ??????), ?????? ???? ?????
(???? ??????, ???? ????). ???? ????? ???? ???
??????, ??? ???? ?????? ???? ???????? ????????.
?? ???? ???? ???? ???????? ???, ????? ??????
????? ????? ?????. ?? ???? ????, ?????? ?????? ??
????? ??????? ????? ????? ????? ????? ???? ????
??? (??? ??? ???? ????? ???? ????) ???? ??????.
?? ????? ?????, ????? ?????? ??????? ?? ?????
???????? ?? ???? ?????? ?? ????? ????? ?? ????
?"? ?????? ????? ???????? ????????. ????? ??
?????? ?? ?????? ????? ?? ????? ??????? ?????
??????, ??? ????? ????? ????? ?????. ????? ????
???? ?? ????? ???? ?? ??????? ???? ????? ??????.
???? ????? ???? ???? ?????, ???? ?????? ???????,
???? ????? ???? ?? ???? ???? ?? ?? ?? ?????,
?????? ?? ????? ???? ?-"????". ????? ??????, ????
????? ????? ?? ????? ???? ?-"????".
14Agenda
15????? Market-Mail
- Market Mail ??? ????? ?????? ?????? ???????
?????? ????? IBM. ????? ????? ????? ????? ??????
???? ??? ????? ???? ?? ????? ???? ?????? ??????,
?????? ??????? ???? ?? ???? ??????? ?"? ????
?????? ???. ??? ?? ??? ?????? ???? ?????? ???
?????? ???????? ?"? ?? ???? ?????? ??? 0 ?- 1
(???? ????? ?????? ?? ??? "????" ??? ???? ??????,
??? "?????" ??? ???? ????? ?? ??? "?????" ??? ???
??????). - ????? IBM ??????? ????? ?????? ???? ?????? ?????
email ??? ????? ????? ?????? Market Mail. ??????
?????? ??????? ????? ???? ????? ??????? Reuters.
???? ?? ????? ???? ???? ?????? ????? ????? ?????.
16????? Market-Mail - ????
- ????? ??? ????? ???? ?? ???? (???? ??????) ??????
????? ??????? ?????? ???? ?? ??? ???????? ?????
????. ????? ????? ???? ?? ???? ??? ?? ?? ??????
(??? 0 ?- 1) ?? ??? ??????? ???? ??????? ?????
????? ??????? ????? ????. ???? ??????? ??????
login ?????? ?????? online ?????? ??? ???? ??
IBM. - ??? ???? ???? ????? IBM (????? ??? ?????) ??
?????? ????? ??????? ????? ?? ????? ???????
??????? ?? ????? ???? ??? ???? ?????? ??????
????? (??? 0 ?- 1). ???? ???? ????? ?????? ?????
?????? ?? ?????? ?? ????? ???? ?? ???? ????? ????
(?? ??? ????? ???? ??????? ????? ????? ??????
???? ????? ???? ???????). ????? ???? ??????
?????? ????? ????? ???? ?? ?? ??????? ????? ????
????? ???? ????? ????? ??????? ???? ?????, ??
????? ???? ?? ?????? ?? ?????.