Object-Oriented Design
Exam3 Review
Last updated: Fall '03 (4/15/2003)
Closed book, no notes, no calculators, etc.
Few multiple choice and fill in the blank questions; some open questions.
Notice that almost all questions that call for a definition (formal) or
description (informal) require an illustration (example) of the concept.
So, as you study each question below, consider the definition and also
illustrate with an example.
Scope
All materials to date. The main focus will be on materials presented since
the last exam.
Be prepared to give examples based on program code. This does not
mean that you will necessarily write code; however, it means you must know, and
describe, code as used in .NET.
Data Tier
- What
are some common problems that arise from poor design?
- How
can intermediate objects help overcome common design problems?
- How
can an object model be made persistent?
- Define
the term, Impedance Mismatch.
- For
what purpose is an Intermediary used, in the context of the data tier?
- Define
and use (with UML) the following two persistence patterns:
Domain-Proxy-Broker, and Domain-Broker
- What
patterns are used in the WEO data tier? How does it work?
Transactions
- What
is a transaction?
- What
is rollback?
- What
is a commit?
- When
are transactions useful?
- Do
you suppose there is an overhead in using transactions?
- What
does it mean to programmatically define a transaction? Give an example.
- What
does it mean to declarative define a transaction? Give an example.
Security
- What
are some general goals of security?
- What
are Access Control Lists?
- What
is a Role-base Access Control?
- How does
the SOS system do: authentication and
authorization?
Business Tier
- What
is N-Tier Design?
- Illustrate
a logical architecture for .NET showing tiers from GUI rendering to data.
Define some physical .NET elements that fulfill the logical roles shown in
your illustration.
- What
is a component?
- What
are benefits of using component-based development?
Integrative Reasoning
Consider the design of a on-line store and answer the
following questions:
- Define
a (simple) logical network architecture diagram, illustrating the tiers
the servers that run them.
- Define
a physical network architecture diagram that shows how each tier will be
implanted; for example, using .NET components or newly designed and
programmed components. Include references to software frameworks, such as
WEO, if they are to be used.
- Describe
how object persistence will be managed. If WEO or ObjectSpacs is to be
used, describe its function and how it works.
- Describe
how transactions will be managed.
- Describe
how security will be managed.
- Using
UML, define any components that will be necessary (e.g., Order,
Order-line, Product).