Professional Documents
Culture Documents
Appendix A: The ATM System
Appendix A: The ATM System
The ATM system was partly specified in Chapters 2 and 3. The entire system, to an
appropriate Ievel of detail, is shown below.
501.2
Consortiwn
refers to
Notice
SO Paragraph:
Consortium consists of 5 Banks.
Bank holds at least one Account.
Customer owns Account.
Customer owns 1 to 2 Cash Cards.
Cash Card accesses Account.
Transaction refers to Account.
Customer handles Transaction Executing.
Transaction Executing requires ATM, Cash Card, Consortium, and Bank.
Transaction Executing affects Account and Cash.
Transaction Executing yields either Transaction or Denial Notice.
The ATM System 427
501 Paragraph:
Customer handles Transaction Executing.
Transaction Executing requires ATM.
Account Checking yields Approval and Card Data.
Account Checking requires Bank, Cash Card and Consortlum.
Approval can be obtained or denied.
Transaction Processing occurs if Approval is obtained.
Transaction Processing requires Bank and Card Data.
Transaction Processing affects Account and Cash.
Transaction Processing yields either Transaction or Denlai Notlce.
Notifying occurs if Approval is denied.
Either Notifying or Transaction Processing yields Denial Notice.
428 Appendix A
Account Checking from SD1 zooms in SD1.1 into Cash Card Validating,
Password Checking, and Approval Denying, as weil as "Cash Card
is Valid?"
A roval
SD1.1 Paragraph:
Account Checking requires ATM.
Customer handles Cash Card Validating and Password Checking.
Cash Card Validating requires Consortium, Bank, and Cash Card.
Cash Card Validating yields Card Data.
Cash Card Validating determines whether Cash Card is valid.
Cash Card Validating and Password Checking require Consortium.
Password Checking occurs if Cash Card is valid, otherwise Approval
Denying occurs.
Password Checking requires Consortium, and Card Data.
Password Checking yields Approval.
Approval can be obtained or denied.
Approval Denying yields denied Approval.
The ATM System 429
Cash Card from 501.1 unfolds in 501.1.1 to exhibit Bank Code and
Account Number.
Cash Card Validating from 501.1 zooms in 501.1.1 into Card Reading,
Bank Code Checking, Account Number Checking, Access Deny-
ing, and Cash Card Approving, as weil as "Bank Code is Valid?" and
"Account Number is Valid?".
501.1.1 Paragraph:
Bank Code identifies Bank.
Cash Card Validating requires ATM.
Customer handles Card Reading.
Card Reading requires Cash Card.
Card Reading yields Card Oata.
Bank Code Checking requires Consortium, Bank Code, and Card Data.
Bank Code Checking determines whether Bank Code is valid.
Bank Code Checking and Account Number Checking require Card Data.
Account Number Checking occurs if Bank Code is valid, otherwise
Access Oenying occurs.
Account Number Checking requires Bank, Account Number, and Card
Data.
Account Number Checking determines whether Account Number is valid.
430 Appendix A
501.1.2 Paragraph:
Consortium holds many Accounts.
Consortium refers to Card Data.
Card Data identifies Account.
Password protects Account.
Password Checking requires ATM.
Customer handles Password Requesting and Password Keying.
Password Checking yields Max Trials with value 3, and uninitialized Loop.
Number Of Trials lnitializing occurs if Cash Card is valid and if Loop is
uninitlalized.
Number Of Trials lnitializing yields Number Of Trials with value 0.
Number Of Trials lnitializing changes Loop from uninitialized to initial-
ized.
Password Requesting occurs if Loop is initialized and if Number Of Trials
is not greater than Max Trials.
Password Requesting invokes Password Keying.
Password Keylng yields Keyed-in Password.
Password Comparing requires Consortium, Card Data, and Password.
Password Comparing consumes Keyed-in Password.
Password Comparing determines whether Keyed-in Password is correct.
Approving occurs if Keyed-in Password is correct, otherwise lncrement-
ing occurs.
Approving yields obtained Approval.
lncrementing affects Number Of Trials.
Trial Comparing requires Max Trials with value 3 and Number Of Trials.
Trial Comparing determines whether Number Of Trials is greater than Max
Trials.
Confiscating occurs if Number Of Trials is greater than Max Trials, other-
wise Password Requesting occurs.
Confiscating consumes Number Of Trials and Cash Card.
Contiscating yields denied Approval.
432 Appendix A
Approval
SD1.2 Paragraph:
Type of Transaction can be withdrawal or deposit.
Cash exhibits Owner.
Customer and Bank play the role of Owners for Cash.
Transaction exhibits Type, which can be withdrawal or deposit, and
Amount.
Customer handles Transaction Querying and Cash Accepting.
Transaction Querying occurs if Approval is obtained.
Transaction Querying yields Transaction.
Credit Limit Checking occurs if Type of Transaction is withdrawal.
Credlt Limit Checklng requires Card Data, Bank, and Amount.
Credit Limit Checking determines whether Credit Limit is exceeded.
Denial Notifying occurs if Credit Limit is exceeded, otherwise Cash Dis-
pensing occurs.
Denial Notifying requires Card Data.
Denial Notifying yields Denial Notice.
434 Appendix A
Chen, P.P. The Entity Relationship Model - Toward a Unifying View of Data. ACM Trans.
on Data Base Systems 1(1), pp. 9-36, 1976.
Coad, R. and Yourdon, E. Object-Oriented Analysis. Prentice-Hall, Englewood Cliffs, NJ,
1991.
Coad, R. and Yourdon, E. Object-Oriented Design. Prentice-Hall, Englewood Cliffs, NJ,
l991A.
Coleman, D., Hayes, F. and Bear, S. Introducing Objectcharts and How to Use Statecharts in
Object-Oriented Design. IEEE Transactions on Software Engineering 18(1), pp. 9-18,
1992.
Coleman, D., Arnold, A., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F. and Jeremaes, P.
Object-Oriented Development: The Fusion Method. Prentice-Hall, Englewood Cliffs, NJ,
1994.
Computer Desktop Encyclopedia. Computer Language Company, Point Pleasant, PA, 2001.
http://www.computerlanguage.com/at.h tm I
Cook, S. Foreword to Warmerand Kleppe 1999.
Cook, S., Kleppe, A., Mitchell, R., Rumpe, B., Warmer, J., and Wills, A.C. Defining UML
Family Members Using Prefaces. In Mingins, C. and Meyer, B. (Eds.) Proc. Technology
of Object-Oriented Languages and Systems, TOOLS-Pacific. IEEE Computer Society,
1999.
Crawley, E. Lecture Notes in System Architecture, Systems Design and Management
Course. MIT, Cambridge, MA, January 2000.
D'Souza, D., Sane, A. and Birchenough, A. UML Profiles Considered Redundant. 1999.
home.earthlink.net/-salhir!TheUML-TwoYearsAfterAdoptionOfTheStandard.PDF
Datasim Development Process. White Paper, 2000. www.datasim-education.com
Davidson, E.J. Jerry's Discussion Icebreakers. iscd@uindy.edu mailing !ist, 1998.
Dawkins, R. The Selfish Gene. Oxford University Press, London, 1989.
De Marco, T. Structured Analysis and System Specification. Yourdon Press, New York,
1978.
Defay, R. Introduction a Ia Therrnodynarnique des Systemes Ouvertes. Academie Royale de
Belgique, Bulletin de Ia Classe des Sciences, Vol. 53, 1929.
Defense Systems Management College. Systems Engineering Fundamentals. Defense Sys-
tems Management College Press, Fort Belvoir, VA, 1999.
Dirks, T. The Greatest Films, 2001. http://www.filmsite.org/gone.html
Dori, D. Object-Process Analysis: Maintaining the Balance Between System Structure and
Behavior. Journal of Logic and Computation 5(2), pp. 227-249, 1995.
Dori, D. Are Segmentation in the Machine Drawing Understanding Environment. IEEE
Transactions on Pattern Analysis and Machine Intelligence, T-PAMI 17 (11 ), pp. 1057-
1068, 1995A.
Dori, D. Unifying System Structure and Behavior Through Object-Process Analysis. Journal
of Object-Oriented Programming, July-August 1996, pp. 66-73.
Dori, D. Object-Process Analysis of Computer Integrated Manufacturing Documentation
and Inspection Functions. International Journal of Computer Integrated Manufacturing
9(5), pp 339-353, 1996A.
Dori, D. Analysis and Representation of the Image Understanding Environment Using the
Object-Process Methodology. Journal of Object-Oriented Programming 9(4), pp. 30-38,
1996B.
Dori, D. and Goodman, M. On Bridging the Analysis-Design and Structure-Behavior Grand
Canyons with Object Paradigms. Report on Object Analysis and Design 2(5), pp. 25-35,
1996.
References 437
Bold page numbers refer to definitions. Bold italics refer to OPL sentence types.
D E
DAG, 350 economic system, 384
Darwin, 384 economics, 384
data, 379 effect, 84, 87
Data Dictionary, 408 effect link, 89, 97
Data Flow Diagram, 16,401,402, 409 Effect sentence, 41, 89
database schema, 4, 34, 35, 117, 276, elaboration, 244
308,422 electromagnetic theory, 393
declaration, 326 electron, 397
decomposition principle, 212, 417 electronic commerce, 4, 33
default attribute value convention, electronic economy, 3
362 elementary particle, 395
default scenario, 23 ellipse, 16, 19, 24, 25, 29, 42, 46,223,
default state, 335 234,236,278,282,331
Default state specijication sentence, emergent feature, 165
314 empiricism, 381, 397
deployment, 4, 290, 291, 294, 409 enabler, 17, 93, 94, 99, 100,202,203
Deployment diagram, 409 enabling link, 95
Descartes, 383, 396, 397 encapsulation, 414
design, 309 encapsulation principle, 415
destroying, 7, 71 energy, 396
destmction, 83 engineering, 292
detaillevel, 244 English grammar, 174
Determination sentence, 49 Enlightening, 397
deterministic OPM, 348 enterprise, 294
DFD, see Data Flow Diagram Entity-Relationship Diagrams, 402
DFD/ERD approach, 403 enumerated textual values, 326
diagramming method, 281 environment, 384, 389, 400
diagrarnming technique, 281 Equivalence sentence, 112
directed acyclic graph, 21, 26, 241, essence, 66
276,349,350 event, 342, 374
distributive law, 25, 120, 121, 122, event model, 407
129, 136, 244 event probability, 375
distributive law of stmctural relations, event trace diagram, 407
120 evolution, 389
divide and conquer, 212 exception handling, 371
domain expert, 16, 34, 298 executable code generation, 35
dot operator, 356 exhibition complexity, 148, 198
drill down, 71, 267, 289, 424 Exhibition process unfolding
dual-state object, 50 sentence, 226
dull thing, 148 Exhibition sentence, 64, 86, 145, 161,
dynamic aspect, 313 203
dynamic model, 404 Exhibition unfolding sentence, 226
dynamics,256, 399 Exhibition-Characterization, 144,
151, 166, 167
446 Index
M N
maintainability, 291 naturallanguage, 34, 325, 349, 396
manifestation, 244 naturallanguage construct, 283
manufacturability, 291 naturallanguage prose, 290
manufacturing, 388 natural sciences, 292
marketing, 388 Negative Boolean condition
mathematical function, 276, 277 sentence, 50
mathematical modeling, 276 New diagram selective semi-folding
mathematics, 292 sentence, 241
maximal teeth set, 123 New diagram semi-folding sentence,
Measurement unit specification 239
sentence, 160 Newton, 393
mechanics theory, 393 Newton's first law, 59
memory, 399 Nietzsche, 381
mental model, 381 non-comprehensiveness, 203, 204
mental record, 56, 399 non-comprehensiveness symbol, 142
metamodel approach, 410 non-reserved OPL phrase, 373
metamodeling Ievel, 312 non-reserved phrase, 37
Meta-Object Facility, 410, 418 noun,57,60,61, 79,155,157,174,
meta-OPD, 285 198
meta-OPM specification, 369 null tag, 111
metaphysical revolution, 396 numeral, 319
methodology, 3, 4, 5, 207,208,271,
283,289,410,417,422 0
middle-out analysis, 49, 244, 293, 299 object, 57
mode, 164 Object Behavior Analysis, 406
model, 272 object dependability, 112
model integration, 20 Object Diagram, 407
model multiplicity, 414 Object Interaction Graph, 408
model multiplicity problem, 416 Object Life-Cycle, 406
Model-Driven Architecture, 410 Object Management Group, 408
modeling, 272, 382 object model, 404
modeling Ievel, 283 Object Modeling Technique, 404
modeling methodology, 281 Object paradigm, 149, 403, 414
modifier, 199 Object Structure Analysis, 406
Module diagram, 407 object symbol, 13
MOSES,407 Object technology, X, 402
multiple inheritance, 189 object transformation, 112
multiplicity constraint, 15, 36, 114 Objectchart, 407
object-class diagram, 19
object-class model, 16
Object-Flow Diagram, 403
objectifying, 399, 400
Index 449
0
First process directly
X Processing
Processing starts up a second process,
Invocation Y Processin0 invokes Y
Processing.
without an inter-mediate
object.
States
State sentences and images
Object
~(state2)~ Object can be state 1, state 2, or state 3.
Object
( Value 1) (Value 2) ( Value 3 ) Values of Object are Value 1, Value 2, and Value 3.
Processing
State Process consumes
consumes
Specificied object only if it is at
state
Consumption Object. a certain state.
Boolean Objects
Specialized informatical objects. Boolean objects are questions, and they always have two states (the
answers ): yes and no.
Linkt OPL Sentence Descri tion
Determining Process yields a Boolean
determines object that poses a "yes or
whether Object no" question. The process
is proper. then determines the answer.
A Processing
occurs if Object Compound sentence: ifthe
Both condition is proper, answer is "yes," a certain
links otherwise B process occurs, otherwise a
Processing different process occurs.
occurs.