Sample Test - Intro to Software Engineering

1.  What is the difference between an accidental and an essential 
    software characteristic?

2.  Complexity is an accidental software characteristic because we can
    always write a simpler system.  True or false?

3.  Three ingredients in an engineered software system are (choose)
	a. theory
	b. database
	c. process
	d. experience
	e. graphical user interface

4.  Why are scenarios useful in requirements work?

5.  Explain why abstract interfaces are a useful mechanism in designing
    software components.

6.  Which of the examples below are examples of architectural mismatches?
	a. a database and a wordprocessor both think they have control of the
	   keyboard.
	b. subsystem x does not use the interface of subsystem y, but  calls
	   an internal procedure directly
	c. function y uses rpc to interact with function x
	d. subsystem x should have been built and integrated before subsystem
	   y
	e. module x cannot execute properly with library z

7.  Describe the Perry/Wolf architecture model.  

8.  What is the relationship between the system requirements and the software
    architecture?