COMP150CBD
Fall 2004
Midterm Focus
Questions
The following questions are provided to help you focus your
studying for the course midterm, which will be given during class on October
28. The midterm will cover the concepts
that have been covered through Commercial Components, which is the lecture
topic for this Thursday, October 21.
This exam will not cover syntax of programming languages but rather the
concepts associated with languages and technologies. A review session will be
held on Monday afternoon. Please come to
the review session armed with questions.
I will be there to answer your questions and to lead discussions.
- What
is inheritance (w.r.t. software development)?
- What
is information hiding (w.r.t. software development)?
- What
is encapsulation (w.r.t. software development)?
- What
is the relationship between information
hiding and encapsulation?
- Which
of these concepts causes difficulties for a marketplace in software
components and why?
- What
is an event in software
development? What are two different ways that they are used?
- What
is a socket (besides something
to plug a lamp into)? How are they used?
- What
are the two major types of java programs?
- What
are streams and datagrams
and what is the relationship between them?
- What
are two major ways in which build tools help manage the build process?
- Ant is a build tool for Java. Why are two of its features that make it
preferable to the more commonly used build tool, make?
- What
is an Eclipse plugin?
- What
part of Eclipse is not a plugin?
- Which
Eclipse plugins are part
of its core?
- What
are two key features of Eclipse that help improve efficiency of app
developers?
- What
are the five steps to creating an Eclipse plugin?
- What
is a plugin manifest
and what is one good for?
- What
are extension points and extensions in Eclipse?
- Name
four ways that software components help realize the goals of software
reuse?
- What
is a component model?
- What
is a component framework?
- What
is the 2.5 times rule w.r.t. to software development?
- I said
software development based on components is “connection oriented”. What did I mean by that?
- What’s
a MIL?
- What’s
an ADL?
- What
feature of ADLs is most distinguishing from MILs?
- Why
aren’t objects really independently deployable?
- What
is a component container’s role
in system assembly?
- What
is separation of concerns in
software development? And how do containers support it?
- What
is a CORBA ORB? How does it
support software assembly?
- What
is COM?
- How do
component technologies support location
transparency?
- What’s
a proxy?
- What’s
a broker?
- Methods
are grouped into component interfaces.
Why might a component have more than one interface?
- What
are three tiers of the EJB architecture?
- What
is the major difference between session and entity beans?
- What
are three types of components that can be built using EJB?
- How is
introspection used in EJB?
- What
is a home interface used for in
EJB?
- What
is a remote interface used for
in EJB? separation of concerns in software
development?
- What
is the interceptor stack in JBoss? And how is it used?
- Why
does a software developer’s desire to add novel features to their component
help to limit the growth of a marketplace of software components?
- What
is a major contributing factor in a component marketplace to adds complexity to the design process?