13.07.2015 Views

An example final exam paper, Winter 2005 - CDF - University of ...

An example final exam paper, Winter 2005 - CDF - University of ...

An example final exam paper, Winter 2005 - CDF - University of ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C1-: HURT+: HELPGoal:UploadOR++: MAKEC2--BREAKGoal:Upload1Goal:Upload2Now specify alternative requirements for the two alternative “upload”requirements in the OmniGraphEditor Web Service. You must reflect thedependencies on C1 and C2 in the specifications.Upload1Upload2Goal[12 x 1]InputPreconditionOutputPostconditionExceptionGive unit test cases for the chosen alternative, and for the chosen criteria C1respectively.Chosen alternative Chosen criteria C1Test Case 1Test Case 2ECE450 April 20, <strong>2005</strong> <strong>final</strong> <strong>exam</strong> Page 4/9


17. Performance and complexity are two competing metrics for s<strong>of</strong>twarequality. Best performance does not come with lowest complexity, and viceversa. If one plots the two metrics <strong>of</strong> a program through various optimizationsin a 2D chart, a _____________ curve will show the limits <strong>of</strong> the optimalsolutions.18. Can you explain the 80-20 or 90-10 rule? _______________________________________________________________________________________________________________________________________________________SOFTWARE REUSE19. Why is Web Service good for component-based reuse? Why is aspectorientationgood for quality-based reuse? Please answer one <strong>of</strong> the above twoquestions according to their support for the five dimensions <strong>of</strong> s<strong>of</strong>tware reuse:Classification: _____________________________________________Abstraction: _____________________________________________Selection: _____________________________________________Specialization:_____________________________________________Integration: _____________________________________________20. What is the difference between “build-for-reuse” and “build-with-reuse”?(Hint, use the above 5 processes to fill the blanks)Build for reuse is to _________________________________________Build with reuse is to________________________________________NEW PARADIGMS21. Aspect-orientation changes the minds <strong>of</strong> object-oriented programmers.Using the following analogy, can you use arrows to point out the key aspectconcepts? (1) Pointcuts (2) Crosscutting joinpoints (3) Advices (4) Weaver235242ECE450 April 20, <strong>2005</strong> <strong>final</strong> <strong>exam</strong> Page 8/9


22. For programming by contracts, we compared three techniques: assertions,unit tests and wrapper classes.class Number {NumberImpl n;float division (float a, float b) {assert(b!=0);float c = n.division(a, b);assert(abs(c*a-b)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!