Sei sulla pagina 1di 3

Chapter 1: An Overview of Object-Oriented Systems Development

Object-Oriented (OO) systems development is a way to develop software by


building self-contained modules that can be more easily:
Replaced
Modified
and Reused.
What is a Software development methodology?
Practices, procedures, and rules used to develop software.
Systems Development Methodologies
Systems development methodology is a way to develop system.
A comprehensive system development methodology utilizes sets of tools as well as the
style in which they are to be used.
Traditional Systems Development Methodology
Traditional or Structured approach is based on the idea that a system can be thought
of as a collection of modules or subsystems.
It is much easier to work with a smaller cohesive module than a complex system.
Object-Oriented Systems Development Methodology
In an O-O environment, software is a collection of discrete objects.
These objects encapsulate their data and functionalities to model real world
"objects."
An object-oriented life cycle encourages a view of the world as a system of
cooperative and collaborating agents.
Benefits of Object Orientation
Faster development,
Reusability,
Increased quality,
and easier maintenance.
Object technology emphasizes modeling the real world and provides us with the stronger
equivalence of the real worlds entities (objects) than other methodologies.
Raising the level of abstraction to the point where application can be implemented
in the same terms as they are described.
Steps in Unified Approach

Analysis Design Prototyping and Testing


ViaNet Bank ATM Syte m

1. Identify the users/actors (Chapter 6): 6. Apply design axioms to design classes, BankC lien t
#firstName : Strin g
#las tName :S trin g
ATMMac hin e

#a ddre s : Strin g
#sta te : Strin g

Who is (or wil be) using the system?


#card Number: Strin g

their attributes, methods, associations,


#pin Number : String
#a ccount : Acco unt

+v er ifyPassword()

Account

structures, and protocols (Chapter 9)


1. Trans actio n
*
Accou nt #transID : Strin g
#transDate : Date
#number: Strin g #transT im e : Tim e
#balan ce : float * Acc ount-
Tra nsa ction #tra nsType : String
#bank Clie nt:BankClie nt #amount :flo at
#tra nsa ctio n: Tra nsa ctio n 1 #postBalance : flo at
#accou nt : Account

6.1. Refine and complete the static


+deposit()

+withdra w()
#retrie veAccount()

#updateA ccount()

UML clas diagram (object model)


#cre ateTransaction()

2. Develop a simple business by adding details to the UML class


Checkin gAccount Savin gsA c ount
Member #sa vin gs : Account
1 Sav in gs-
#chec kin g : Account
comes in Go to counter Go to counter Che ckin g
Retur n Checking
Yes and ret urnthe Done? Yes and check out 1
Bo k? out Books?
bo k thebook +withdraw()

process model diagram (Chapter 10)


Refine UML Clas
Int er Int erLibrar y
Bor ow Loan Secti on,
Yes Li bray Yes
Books? checkout
Loan?
book

No

6.1.1 Refine at ributes diagram


No
No Search for t he
book in the
li bra y

The advantage of developing Perform


Yes
Do Research

6.1.2 Design methods and


Resear ch? ont hetopic

a business process model is


No

Si t
Read som ew here

protocols by utilizing UML


newspaper Yes quiet andread

that it familiarizes you with


/ books new spaper,
bo ks, et c.
Checkin gAc count : +withdr aw ( anAmoun t:Float) :Retu rnCode :Str ing

the system and therefore the activity diagram for


Withdraw using

Busines proces modeling


Account clas Acco unt.wit hdraw (anAmount)
method

user requirements
representation of methods
insuf icient f unds
ac count

using activity diagram


Doe sn't ha ve savings
acount has savin gs

algorithm
su f icie nt fun ds ac o unt
SavingsAccount.withdraw
withdraw using SavingsAccount.balance -
SavingsAccount (anAmount -
method CheckAc ount.balance))

6.1.3 Refine (if required) suf icient f unds


insuf icient f unds

3. Develop the use case (Chapter 6): associations between classes returnCode=
"OK"
returnC ode
="Insufficient
funds"

What are (or wil be) the users are 6.1.4 Refine (if required) class
doing with the system? hierarchy and design with
inheritance Design methods by
Use cases provide comprehensive
util zing UML Activity
documentation of the system under 6.2 Iterate and refine (reapply Design
Diagram
study axioms).
Use case diagrams
Use cases capture the goal of the
Business Cla sses

7.0 Design the access ayer (Chapter 1 )


BanK
Enter title here

users and the responsibility of the BankClient ATMMachine

system to its users 7.1. Create maccess layer clas es by


#firs tName : String #address : String
#lastName :String #state : String
#cardNumber :String
#pinNumber :String
Create User
#account : Account
#bankDB: BankDB
Int erface
controls

mir oring the business classes


+verif yPassword()

1
Has
Cancel OK
1.
Transaction
*

Access Class(es)
Account #transID :String
Create the forms and controls

7.2. Define relationships


#number: Str ing Account- #transDate :Date
#balance : float * Transaction #tr ansTime : Time
#bankC lient:BankClient #transType: Str ing

4. Interaction diagrams
BankDB
#transaction: Transaction 1 #amount:f loat
#postBalance: float
Enter title here
#bankDB: BankDB
#account : Account
+deposit()
+re trie ve Client() +with draw() As sociat e act ions

7.3. Simplify classes and structures


+updateClient() #create Transact ion()
+r etrieveSavingsAccount() #r etr ieveAccount( )
tot heUse r

(Chapter 7)
Bank Cli ent AT M Mach in e Acco unt Checki ng Acc ount
+updateSavin gsAccount() #updateAccountt () Interface cont rols
+retr ieveCheckingAccount() an dth eirevent s
+updateCheckingAccount()

4.1 Develop sequence 7.3.1 Eliminate redundant classes CheckingAccount

#savings : Account 1 Savings-


SavingsAccount
Cancel OK

7.3.2 Eliminate method classes


Add Actions
Checking #checking : Account
+wit hdraw ()
-retrieveAccount() 1 -r etr ieveAccount( )

diagrams
-updateAccountt () -updateAccountt()

Enter title here


Requ estKi nd

4.2 Develop
En te rKin d

Reque stAmount

En ter Amo unt


7.4 Iterate and refine UML Class diagram Test /Debug

Pro ces Trans actio n

with added access


Wi thdrawChecki ng Acco unt

collaboration diagrams.
Trans actio n suc e d Withdra wSu c es sfu l

Dis pens e Ca sh

Req uest Ta keCash Cancel OK


Take Cas h

4.3 Iterate and refine and view classes Test the UI


Re qu estContinu ation
Te rmina te
Print Recei pt
Don e

col aboration diagram Sequence diagram 8. Designing view layer classes (Chapter 12)
Prototype user interface
8.1 Macro-level UI design Process- Identifying View layer Objects
8.2 Micro-level UI design activities:
5. Classification (Chapter 8) 8.2.1 Designing the view layer objects by applying design Is easy to operate:
How do yo u ra te the ViaNet Bank ATM Kiosk Interface?

axioms and corol aries


10 9 8 7 6 5 4 3 21

5.1 Identify Classes


Veryeasy to us e Ve ry Hard to use

Butt ons are right size and easilycan be located:

8.2.2 Prototyping the view layer interface.


1
10 9 8 7 6 54 3 21

5.2 Identify Relationships


1..
*
Very appro pri ate Not appro pri ate

8.3. Usability and user satisfaction testing (Chapter 14):


1
Is efficie nt to use:
10 9 8 7 6 54 3 21

5.3 Identify Attributes


Ve ryefficien t Very ineffi cient

8.4 Iterate and refine


Is Fu n to use: 10 9 8 7 6 54 3 21

5.4 Identify Methods


Very NotFun atall

1 Is vis ually pleasin g:


10 9 8 7 6 54 3 21

5.5 Iterate and refine.


1 Very pleas in g Not pleas in g

Provides easy recovery from errors:


10 9 8 7 6 54 321

Class diagram
Very ea sy
reco very Not at al

Comments:

The process of creating sequence or collaboration diagrams is a Iha ve mo re to sa y,Iwoul d li ke to see you.

systematic way to think about how a use case can take place, and by 9. Iterate and refine the design/analysis: If needed repeat the preceding Usability and user
doing so, it forces you to think about objects involves in your steps
application satisfaction testing
Analysis Design
ViaNet Bank ATM

1. Identify the users/actors (Chapter 6): 6. Apply design axioms to design classes,
Who is (or will be) using the system? their attributes, methods, associations,
structures, and protocols (Chapter 9)
6.1. Refine and complete the static
UML class diagram (object model)
2. Develop a simple business by adding details to the UML class
Chec
Member #saving
comes in Retu rn
Go to counter
Checkin g
Go to counte r
Yes and return th e Done? Yes and check out
Book? out Books?
book the book

process model diagram (Chapter 10)


Refin
Inter Inter Library
Borro w Loan Section,
Books? Yes Libray Yes
Loan? check out
book

No

6.1.1 Refine attributes


No
No Search for the
book in th e
lib ra ry

The advantage of developing Perf orm


Yes
Do Research

6.1.2 Design methods and


Research? on th etopic

a business process model is


No

Sit
Read somewhere

protocols by utilizing UML


newspaper Yes quiet and read

that it familiarizes you with


/b ooks newspaper,
books, etc.

the system and therefore the activity diagram for


Withdraw using

Business process modeling


Account class
method

user requirements
representation of methods
using activity diagram
algorithm
suffi

6.1.3 Refine (if required)


3. Develop the use case (Chapter 6): associations between classes re

What are (or will be) the users are 6.1.4 Refine (if required) class
doing with the system? hierarchy and design with
inheritance Design
Use cases provide comprehensive
utilizing
documentation of the system under 6.2 Iterate and refine (reapply Design
study axioms).
Use case diagrams
Use cases capture the goal of the
users and the responsibility of the 7.0 Design the access ayer (Chapter 11)
system to its users 7.1. Create maccess layer classes by
mirroring the business classes Access Class(es)

4. Interaction diagrams 7.2. Define relationships BankDB

+ret rieveClient()

7.3. Simplify classes and structures


+up dateClient()
+retrieveSavingsAccount()

(Chapter 7)
Bank Cli ent ATM Machine Account Checking Account
+updateSavin gs Acco unt()

+retrieveCheckingAccou nt()
+updateCheckingAccount()

4.1 Develop sequence 7.3.1 Eliminate redundant classes


diagrams Request Kind
7.3.2 Eliminate method classes
4.2 Develop
Enter Kind

Request Amount

Enter Amount
7.4 Iterate and refine UML
Process Transacti on

with
Wit hdrawChecking Account

collaboration diagrams.
Transaction succeed WithdrawSuccessful

Dispense Cash

Request Take Cash


Take Cash

4.3 Iterate and refine an


Request Continuation
Terminate
Print Receipt

collaboration diagram Sequence diagram 8. Designing view layer classes (Chapter 12)
8.1 Macro-level UI design Process- Identifying View layer Objects
8.2 Micro-level UI design activities:
5. Classification (Chapter 8) 8.2.1 Designing the view layer objects by applying design
5.1 Identify Classes axioms and corollaries
8.2.2 Prototyping the view layer interface.
1

5.2 Identify Relationships


1..
*

8.3. Usability and user satisfaction testing (Chapter 14):


1

5.3 Identify Attributes


5.4 Identify Methods 1
8.4 Iterate and refine
5.5 Iterate and refine.
1

Class diagram
The process of creating sequence or collaboration diagrams is a
systematic way to think about how a use case can take place, and by 9. Iterate and refine the design/analysis: If needed repeat the preceding
doing so, it forces you to think about objects involves in your steps
application

Potrebbero piacerti anche