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.

 

  1. What is inheritance (w.r.t. software development)?
  2. What is information hiding (w.r.t. software development)?
  3. What is encapsulation (w.r.t. software development)?
  4. What is the relationship between information hiding and encapsulation?
  5. Which of these concepts causes difficulties for a marketplace in software components and why?
  6. What is an event in software development? What are two different ways that they are used?
  7. What is a socket (besides something to plug a lamp into)? How are they used?
  8. What are the two major types of java programs?
  9. What are streams and datagrams and what is the relationship between them?
  10. What are two major ways in which build tools help manage the build process?
  11. 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?
  12. What is an Eclipse plugin?
  13. What part of Eclipse is not a plugin?
  14. Which Eclipse plugins are part of its core?
  15. What are two key features of Eclipse that help improve efficiency of app developers?
  16. What are the five steps to creating an Eclipse plugin?
  17. What is a plugin manifest and what is one good for?
  18. What are extension points and extensions in Eclipse?
  19. Name four ways that software components help realize the goals of software reuse?
  20. What is a component model?
  21. What is a component framework?
  22. What is the 2.5 times rule w.r.t. to software development?
  23. I said software development based on components is “connection oriented”.  What did I mean by that?
  24. What’s a MIL?
  25. What’s an ADL?
  26. What feature of ADLs is most distinguishing from MILs?
  27. Why aren’t objects really independently deployable?
  28. What is a component container’s role in system assembly?
  29. What is separation of concerns in software development? And how do containers support it?
  30. What is a CORBA ORB? How does it support software assembly?
  31. What is COM?
  32. How do component technologies support location transparency?
  33. What’s a proxy?
  34. What’s a broker?
  35. Methods are grouped into component interfaces.  Why might a component have more than one interface?
  36. What are three tiers of the EJB architecture?
  37. What is the major difference between session and entity beans?
  38. What are three types of components that can be built using EJB?
  39. How is introspection used in EJB?
  40. What is a home interface used for in EJB?
  41. What is a remote interface used for in EJB? separation of concerns in software development?
  42. What is the interceptor stack in JBoss? And how is it used?
  43. 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?
  44. What is a major contributing factor in a component marketplace to adds complexity to the design process?