6 Solved Problems on Object-Oriented Software Development | COP 4331, Exams of Computer Science

Material Type: Exam; Professor: Workman; Class: Processes for Object-Oriented Software Development; Subject: Computer Programming; University: University of Central Florida; Term: Spring 2007;

Typology: Exams

Pre 2010

Uploaded on 02/24/2010

koofers-user-nda
koofers-user-nda 🇺🇸

10 documents

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
COP 4331 Final Exam Spring 2007
(130 pts)
NAME: _____________________________
1. (30 pts) Given below is a list of definitions for a variety of software engineering
concepts we have studied this semester. Fill in the blanks with terms that best fits the given
definition or description. A complete list of terms to choose from can be found in the
Appendix.
A type of UML diagram used to express the static structure of an OO software design in terms of its
modular components and their relationships. Class Diagram
An agent external to a given computing system that interacts with that system to achieve some task or
objective, or to provide some service, in a problem solving activity. Actor
A quantitative indication of the extent, amount, dimensions, capacity, or size of some
attribute of a product or process. Measure (-1 for Metric)
A type of UML diagram used to express the dynamic flow of interactions among objects and actors
participating in a use case. Communication or Collaboration Diagram
The application of a systematic, disciplined, quantifiable approach to the development,
operation, and maintenance of software; that is, the application of engineering to software.
Software Engineering
A formal (complete, precise, consistent, and unambiguous) description of “what” each
software system must do. Software Requirements Specification
A mental process for reasoning about a problem and its solution that produces a
representation that focuses on essential features or characteristics and disregards irrelevant
details. Abstraction
A relation between objects or class instances, A and B, where B is a constituent of A
required to make A function properly and where, typically, B has no independent purpose
outside the context of its relationship to A. Composition Relation
An upper level management directive that guides decisions by subordinates about project
activities that allows some discretion. Management Policy
A management directive that prescribes specific actions to be taken or not taken with respect
to particular project situations, allowing no discretion or deviation by the subordinate
required to execute those actions. Management Rule
A planned and systematic pattern of all actions necessary to provide adequate confidence
that the development process and the work products conform to established standards.
Software Quality Assurance
A management structure combining the features of a pure Functional Organization with
those of a pure Project organization. Matrix Organization
12/4/2020 Page 1
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download 6 Solved Problems on Object-Oriented Software Development | COP 4331 and more Exams Computer Science in PDF only on Docsity!

(130 pts) NAME: _____________________________

1. (30 pts) Given below is a list of definitions for a variety of software engineering concepts we have studied this semester. Fill in the blanks with terms that best fits the given definition or description. A complete list of terms to choose from can be found in the Appendix. A type of UML diagram used to express the static structure of an OO software design in terms of its modular components and their relationships. Class Diagram An agent external to a given computing system that interacts with that system to achieve some task or objective, or to provide some service, in a problem solving activity. Actor A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process. Measure (-1 for Metric) A type of UML diagram used to express the dynamic flow of interactions among objects and actors participating in a use case. Communication or Collaboration Diagram The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software. Software Engineering A formal (complete, precise, consistent, and unambiguous) description of “what” each software system must do. Software Requirements Specification A mental process for reasoning about a problem and its solution that produces a representation that focuses on essential features or characteristics and disregards irrelevant details. Abstraction A relation between objects or class instances, A and B, where B is a constituent of A required to make A function properly and where, typically, B has no independent purpose outside the context of its relationship to A. Composition Relation An upper level management directive that guides decisions by subordinates about project activities that allows some discretion. Management Policy A management directive that prescribes specific actions to be taken or not taken with respect to particular project situations, allowing no discretion or deviation by the subordinate required to execute those actions. Management Rule A planned and systematic pattern of all actions necessary to provide adequate confidence that the development process and the work products conform to established standards. Software Quality Assurance A management structure combining the features of a pure Functional Organization with those of a pure Project organization. Matrix Organization

(130 pts) A software test activity designed to evaluate whether or not products of a given development activity conform to the specifications used to build those products. Verification The extent to which a specific software process is explicitly defined, managed, measured, controlled, and effective. Software Process Maturity After a change is made to a component, the process of re-running tests that the component had successfully passed before the change was made to ensure that previous capability remains verified. Regression Testing

2. (6 pts) Give a brief definition or description for each of the following major focus areas of design. (a) Interface Design: The design activities that focus on public features of a design module or component made available to client modules in the architecture. These activities include specifying what data can flow across the module interface, the direction of flow, the mode, mechanism and structure of the features that exchange data, and finally, and protocol and/or timing constraints on the use of interface features. (b) Architectural Design: The design activities that focus on decomposing system capabilities into a set of smaller manageable units (modules or components) that encapsulate specific functionality and/or data. These activities include defining the dependencies and/or relationships between modules that must share information and/or provide services to other modules. 3. (12 pts) In reference to the article on Configuration Management you were asked to read, answer the following question. Identify and give a short description for each of the four major functions of Configuration Management. Identification – identifies those work products (configuration items) whose configuration needs to be controlled, usually software modules, hardware units, and documentation. Change Control – establishes procedures for proposing or requesting changes, evaluating those changes for desirability, obtaining authorization for changes, publishing and tracking changes, and implementing changes. Status Accounting – function is to maintain formal records of established configurations and make regular reports on configuration status. Auditing – purpose is to maintain the integrity of the baseline and release configurations for all controlled products. Physical and functional configurations are compared to the documented configuration.

(130 pts) 4(c) (5 pts) Give McCabe’s formula for Cyclomatic Complexity and define each variable or parameter in the equation. Finally, give values for each parameter using your answer to part (b) above (including the final value of McCabe’s metric). V(G) = E – N + p + 1 (3) V(G) = Cyclomatic Complexity E = number of edges (10) or (11) N = number of nodes (9) or (10) P = number of independent components (1) 4(d) (5 pts) What does the value of McCabe’s metric tell you? It gives the number of independent flow paths through the graph for 100% coverage. This is the minimum number of test cases required to exercise every path. It is also a measure of psychological complexity (difficulty in understanding) and should have a value <= 10.

(130 pts) 5 (30 pts) Based on your knowledge and experience, identify the most fitting UML relationship that best describes the real-world relationship between each of the following pairs of objects, classes or use cases. Answer with one of the following: (use cases) includes, uses, generalizes, specializes, associates; (objects and classes) aggregation, composition, association, Is-A- Subtype-Of, Is-An-Instance-Of. In addition, give the UML diagram that describes the relationship in each case. An example of how you should answer each part is illustrated below for the relationship of Use Case Diagram to Actor. Use ovals to relate use cases and rectangles to relate objects and classes. Composition (a) Use Case to Actor Association (b) Software Life Cycle to Software Development Cycle Composition (c) Software Development Process (SDP) to Code & Unit Test (CUT) Composition (d) C++ to Programming Language Is-An-Instance-Of (e) In a restaurant: Purchase Food to Issue Receipt Includes (f) Namespace to Class Definition Aggregation (-1 for wrong multiplicity) (g) In a restaurant: Pay-For-Food to Pay-by-Credit Generalizes (Specializes) (h) Poker Game to Dealer Composition

(130 pts) 6 (32 pts.) Consider the following system specification. UCF Parking Services provides a number of facilities and services to students and University employees. Students and employees can park in designated areas according to their decal type. Parking decals can be purchased on-line and received by mail. If students or employees park illegally, they receive a parking ticket and must pay a fine. Fines can be paid with cash or a debit card at a Parking Services office, or they can be paid by check via surface mail. Parking facilities consist of parking garages and parking lots. Parking garages are unrestricted, while parking lots are restricted to certain decal types. Do the following problems with respect to the above system specification. Rely on your own personal experience to resolve questions you might have and try not to read more into the specification than is necessary; this constraint is intended to limit your response and save time. (a) (12) Construct a Use Case Diagram for UCF’s Parking Services system using only information in the description above. Use proper UML notation. (b) (8) Construct a Activity Diagram modeling your decision process for finding a parking spot on campus. (c) (12) Construct a Class Diagram modeling the data objects, classes and their static relationships explicitly identified or implied (based on your experience) from the description above.

(130 pts) #6 (a) Use Case Diagram POINTS = 12 The Actors are important (four or five) 4 pts The Use Cases are important (nine) 4pts The relations are important ( assoc., includes or uses, generalize or specialize) 4pts Deduct for important omissions & wrong notation for relations.

(130 pts) #6 c) Class Diagram POINTS = 12 3 pts for Payment Instrument hierarchy (Gen-Spec) 3 pts for Motorist hierarchy (Gen-Spec) 3 pts for Parking Facility hierarchy (Composition) 3 pts for other classes/objects & relationships

(100 pts) APPENDIX