Software Engineering - Practice Quiz 1 | CEN 5035, Quizzes of Software Engineering

Material Type: Quiz; Class: SOFTWARE ENGINEERING; Subject: COMPUTER SOFTWARE ENGINEERING; University: University of Florida; Term: Unknown 1989;

Typology: Quizzes

Pre 2010

Uploaded on 09/17/2009

koofers-user-1ax
koofers-user-1ax 🇺🇸

9 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
---------------- CEN 5035 - Software Engineering ----------------
Practice Quiz 1
1. (3 pts.) What is the difference between "generic" and "bespoke"
software? (Circle one only.)
a. Generic software is derived from a set of activities whose goal
is the development or evolution of software while bespoke
software is derived from a simplified representation presented
from a specific perspective.
b. Generic software is a product of software engineering while
bespoke software is a product of system engineering.
c. Generic software is developed for a particular customer while
bespoke software is developed for a general market.
d. Generic software is comprised of PROGRAMS while bespoke software
is comprised of ASSOCIATED DOCUMENTATION.
e. None of the above.
2. (3 pts.) Which of the following best describes how (computer-based)
SYSTEM engineering differs from SOFTWARE engineering?
a. System engineering involves developing programs AND associated
documentation. Emergent properties are a consequence of the
relationships between system components and include maintainability,
dependability, efficiency, and usability.
b. System engineering is concerned with developing a purposeful
collection of inter-related components working together towards some
common objective. The properties and behavior of system components
are inextricably inter-mingled.
c. System engineering is an organized way of producing software. It
includes suggestions for the process to be followed, the notations
to be used, rules governing the system descriptions which are
produced, and design guidelines.
d. System engineering is concerned with ALL aspects of computer-based
systems development including hardware, software, and process
engineering.
e. System engineering is concerned with ALL aspects of designing,
implementing, deploying and operating systems. Software engineering
is just one part of this process.
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Software Engineering - Practice Quiz 1 | CEN 5035 and more Quizzes Software Engineering in PDF only on Docsity!

---------------- CEN 5035 - Software Engineering ---------------- Practice Quiz 1

  1. (3 pts.) What is the difference between "generic" and "bespoke" software? (Circle one only.) a. Generic software is derived from a set of activities whose goal is the development or evolution of software while bespoke software is derived from a simplified representation presented from a specific perspective. b. Generic software is a product of software engineering while bespoke software is a product of system engineering. c. Generic software is developed for a particular customer while bespoke software is developed for a general market. d. Generic software is comprised of PROGRAMS while bespoke software is comprised of ASSOCIATED DOCUMENTATION. e. None of the above.
  2. (3 pts.) Which of the following best describes how (computer-based) SYSTEM engineering differs from SOFTWARE engineering? a. System engineering involves developing programs AND associated documentation. Emergent properties are a consequence of the relationships between system components and include maintainability, dependability, efficiency, and usability. b. System engineering is concerned with developing a purposeful collection of inter-related components working together towards some common objective. The properties and behavior of system components are inextricably inter-mingled. c. System engineering is an organized way of producing software. It includes suggestions for the process to be followed, the notations to be used, rules governing the system descriptions which are produced, and design guidelines. d. System engineering is concerned with ALL aspects of computer-based systems development including hardware, software, and process engineering. e. System engineering is concerned with ALL aspects of designing, implementing, deploying and operating systems. Software engineering is just one part of this process.
  1. Complex systems generally have both functional and non-functional "emergent properties". Typical examples of non-functional emergent properties are reliability, performance, and safety. a. (3 pts.) Explain why such properties are characterized as being "emergent". b. (2 pts.) An example of an emergent property given by Sommerville is "the overall weight of a system." Explain why this is, in fact, a POOR example.
  2. a. (6 pts.) Develop an activity network for the following tasks, durations (in days), and dependencies: (Do NOT include milestones in your network.) Tasks Duration Dependencies ----- -------- ------------ T1 5 T2 1 T3 3 T T4 7 T2, T T5 2 T T6 4 T (start) (finish) b. (2 pts.) What is the "critical path" for this network? c. (1 pt.) What is the minimum time required to finish the project? d. (6 pts.) How many days can the following tasks be delayed without causing an overall project schedule slippage? T2: ____ T3: ____ T6: ____
  1. (10 pts.) Match each description below to the SINGLE MOST APPROPRIATE TERM among the following. (Note: terms may apply to more than one description.) A. domain requirement F. functional requirement B. SRS G. PDL C. system constraint H. process constraint D. user requirement I. external requirement E. system goal J. system attribute ___ Example would be: "Must be programmed in Java." ___ A high level statement in natural language of a system service or constraint. ___ Example would be: "Processor utilization must stay above 80%." ___ Usually suffers from not being verifiable. ___ Example would be: "To avoid freezing, water temperature must be maintained above 0 degrees Celsius." ___ Example would be: "Must be simple to install." ___ Example would be: "Transactions Processed Per Second" ___ Example would be: "By law, must not display student social security numbers to personnel outside of financial aid." ___ Especially useful when specifying a process that involves an ordered sequence of actions. ___ Official statement of what is required of system developers; it should include both user and system requirements.
  1. (6 pts.) Give (a) an INTERFACE and (b) an OPERATIONAL requirements specification for the following natural language-based program description: The program will search a non-empty array of integers, A[1:N], for the value stored in integer variable KEY. Boolean variable FOUND is set to "true" if the value of KEY is found in the array, and to "false" otherwise. The program must NOT change the values of A or KEY. a. INTERFACE specification: (hint: provide a "pre-condition" which captures any conditions on the program variables that, based on the description above, an implementer should assume will hold BEFORE program execution, and a "post-condition" which captures any obligatory conditions on the program variables AFTER program execution.) pre-condition: post-condition: b. OPERATIONAL specification:
  2. (3 pts.) Give a single-threaded SCENARIO reflecting the program requirements described in problem #10.
  1. (8 pts.) Match each description below to the SINGLE MOST APPROPRIATE TERM among the following. (Note: terms may be used more than once.) A. post-condition I. Z B. model-based specification J. algebraic specification C. pre-condition K. operation signature D. axioms L. existential quantifiers E. operational specification M. component and application assembly F. constructor operations N. inspection operations G. universal quantifiers O. Lotos H. predicate P. CSP _____ This specification approach is particularly well suited for specifying the interfaces of objects and abstract data types. _____ Provides the name and parameter types for an operation. _____ Used to assert that some predicate holds FOR ALL or FOR EVERY member of a given set. _____ Part of schema which defines conditions that are always true. _____ A specification approach widely used in industrial projects that defines operations by defining how they affect system state. _____ Used to assert that some predicate holds FOR AT LEAST ONE or FOR SOME member of a given set. _____ Defines the semantics of operations defined over a sort. _____ A mature notation for model-based specification that uses sets and relations between sets.
  2. (6 pts.) Provide a FORMAL specification for the function described below using a pre-condition and a post-condition. Set variable MAX to the maximum value in the non-empty array A[1:N], where the elements of A are in non-decreasing order. pre-condition: post-condition:
  1. Suppose we wished to develop an algebraic specification for an abstract data type representing a dictionary. Each entry in the dictionary is in the form of a (key, definition) pair, and it is uniquely identified by the key. The dictionary supports the following operations: Create: creates an empty dictionary Add: adds an entry to a dictionary, replacing any existing entry having the same key Find: returns the definition associated with the given key in a dictionary Remove: if it exists, removes the entry with the given key from a dictionary Empty?: returns the value True if there are no entries in a dictionary, and False otherwise Assume dictionaries are of type "Dictionary", keys are of type "String", definitions (including the special definition "Undefined") are of type "Object", and the values "True" and "False are of type "Boolean". a. (10 pts.) Give the "signature" part of the specification. b. (2 pts.) Complete the following axiom: Find(Create, k) = _________ c. (5 pts.) Complete the following axiom: Find(Add(D, k1, v), k2) = if (k1 = ___________) then ___________ else ___________________ d. (3 pts.) Sommerville gives a "rule-of-thumb" for defining axioms reflecting operation semantics. BRIEFLY describe this rule.
  2. (4 pts.) Sommerville cites three advantages of explicitly designing and documenting a software architecture. Briefly describe TWO of these.
  1. a. (3 pts.) What is an “IDL”? Why is an IDL necessary in a distributed object architecture / framework? b. (4 pts.) What specific role does an IDL stub play in the CORBA model? c. (2 pts.) In the CORBA model, does an object need to know the location of another object to use its services? Why or why not?