Study questions, Applications Area
MS Comprehensive In CS


Back to MS Comps home page

A 100

Removed

A 101

a)  Define the following relational database terms:
      a.1)  Lossless Decompositions
      a.2)  FD-Preserving Decompositions
      a.3)  XYZ Decomposition  

b)  Show why every XYZ Decomposition is lossless.

c)  Show why the following decomposition of relation R into relations 
R1, R2,...,R5 is FD-Preserving.

      R( X Y Z W L M)    	X  --->   Z
			Y  --->   W  
                                       	Z  --->   M
		        M  W   --->   L
                                        Z   W   --->   L 

       R1(X Y)
       R2(X Z)		X  --->   Z	
       R3(Y W)		Y  --->  W 
       R4(Z M)		Z  --->   M
       R5(M W L)              M  W  --->  L


A 102

a)  Describe Bernstein’s Normalization Algorithm

b)  Describe the Relational  View Integration  Design Technique 
developed by Carlson and Arora, indicating how is uses AND extends 
Bernstein’s Normalization Algorithm.

c)  Explain what is meant by the following relational view supportability 
terms:  retrieval supportability, deletion supportability and insertion 
supportability.  Which of these properties are met by the results 
of the Carlson/Arora Relational View Integration Design  Technique.

A 103

     Three methods of knowledge acquisition for expert systems are:
manual (human), automated (computer), and semi-automated
(combined).

(A) Describe and discuss each method in detail.

(B) Give examples of each method.

(C) Discuss the advantages and disadvantages of each method.

(D) When is it appropriate to use each method?

A 104

   Most expert system shells available today support some type of
   reasoning with uncertainty.

A. Discuss the use of uncertainty in expert systems. How is it
   used? Why is it used?  How well does it model the real world?

B. State and discuss a specific model of uncertainty commonly used
   in expert systems.  Give examples of how to compute and combine
   uncertainty values in this model

A 105

Describe a neural network algorithm that uses supervised learning and a
neural network algorithm that uses unsupervised learning.  For each, tell
what it receives from the environment (including some mention of examples of
data representation), and how its connections are modified as learning
progresses.  Describe examples of how each type might be applied.


A 106

a)  Illustrate each of the following Object-Oriented Diagram techniques:
          Object Diagram
          Event-State Diagram
          Event Sequence Diagram
          Rule Diagram

b)  How does each of these techniques deal with the problem of describing 
highly complex specifications.

c)  Describe the design objectives for applying each of these diagram 
techniques.

d)  In your opinion, what are the strengths and weaknesses of  using 
each of these techniques.


A 107

     A.  According to Carlson and Arora axioms under what conditions  is  a
         relational view:

        (a)  retrieval supportable

        (b)  deletion supportable

        (c)  insertion supportable


     B.  
         R1(A B E) KEY A  R2(B C) KEY B  R3(A D F) KEY AD

         Using  the  above  database  indicate  the  retrieval  and  update
         properties of each of the following views:

        (a)  V1(A D B C) KEY AD

        (b)  V2(A D C E) KEY AD

        (c)  V3(D C) KEY DC


     C.  Furnish a minimal relational schema which insertion  supports  all
         the following view.


         V1(A B C) KEY AB

         V2(A B D) KEY AB

         V3(B D E) KEY BD

         V4(C E) KEY CE

         V5(C F G) KEY C

         V6(F H K) KEY F

         V7(AB E F H) KEY AB


A 108

     There are a number of inconvenient facts about adjectives in  English.
Some   adjectives   (like   "aware")   take   sentential  complements  with
complementizer "that" as in:

               They are aware that there are six red blocks.

     Some adjectives (like  "anxious")  take  sentential  complements  with
complementizer "for" ...  "to" as in:

                  They are anxious for Sandy to be happy.

     Most adjectives appear in prenominal and predicate positions only  but
a few (like "galore") appear in postnominal position only.

            The apples are red.
            There are six red apples.
            There are apples galore.
          * The apples are galore.
          * There are galore apples.


     The order of  prenominal  adjectives  is  not  purely  arbitrary.   In
general, ordinals ("first", "last", ...) appear before cardinals; cardinals
("one", "two", ...) appear before adjectives of size;  adjectives  of  size
("big",  "small")  appear  before  shapes;  adjectives  of shape ("square",
"round", ...) appear before colors; color adjectives ("red", "orange", ...)
appear  before materials; material adjectives include ("wooden", "plastic",
...).

            The last three big square wooden blocks are gorgeous.
          * The small three blocks are gorgeous.
          * The wooden red blocks are wonderful.
          * The plastic big blocks are great.
          * The round big blocks are wonderful.

     Draw an ATN parser that will recognize the correct sentences given  in
this question but not the starred ones.  Note that the only verb forms that
your ATN needs to know about are "are" and "be".


A 109

     Explain what a sublanguage is and why sublanguage study is important.


A 110

     Describe the ideal  lexical  database  to  support  parsing  and  text
generation.


A 111

Removed

A 112

     a.  Suppose you wanted to find out if the  number  of  comments  in  a
program  could  be used to predict its readability.  What are the steps you
would take to establish a relationship between the  two  factors,  that  is
derive a model?  What general criteria would you use to evaluate the model?

     b.  Discuss the relative merits  of  "lines  of  code"  (LOC),  versus
Function  Points as a measure of software size.  Begin with a definition of
each.

     c.  Discuss the steps suggested by Grady and Caswell for setting up  a
measurement program in a software development company.

     d.  What is a product metric, a process  metric;  give  at  least  two
examples of each.

A 113

Removed

A 114

Create  an NER schema  from the following simple  object  classes 
using the given inclusion dependencies:

OBJECTS CLASSSES:

TEAMS ( Team, Coach, Phone#, Location )
Key: Team

TEAM-MEMBERS ( Member-Id, MName, Gender, Team )
Key: Member-Id

LEAGUE-STANDING ( Gender, Standing, Date, Team )
Key: Gender, Date, Team

MEETS ( Meet#, Meet-Type /*dual or conference*/ )
Key: Meet#

DUAL-MEETS  (  Meet#, Date, HomeTeam, AwayTeam,  Location,  Meet-
Winner )    Key: Meet#

CONFERENCE-MEET ( Meet#, Date, Place, Team, Team-Score )
Key: Meet#

JUDGES ( Judge-Id, JName, Phone# )
Key: Judge-Id

JUDGE-ASSIGNMENT ( Meet#, Judge-Id, JName, Event-Assignment )
Key: Meet#, Judge-Id

MEET-REGISTRATION ( Meet#, Member-Id )
Key: Meet#, Member-ID

EVENT-JUDGE-SCORE ( Meet#, Event, Member-Id, Judge-Id, Score )
Key: Meet#, Event, Member-Id

EVENT-GYMNAST-SCORE ( Meet#, Event, Member-Id, Score )
Key: Meet#, Event, Member-Id

EVENT-TEAM-SCORE ( Meet#, Event, Team, Score )
Key: Meet#, Event, Team

EVENT-AWARDS ( Meet#, Event, Place, Gender, Member-Id )
Key: Meet#, Event, Place, Gender

ALL-AROUND-AWARDS ( Meet#, Place, Gender, Member-Id )
Key: Meet#, Place, Gender


INCLUSION DEPENDENCIES: (X --> Y denotes that X is a subset of Y)

TEAM-MEMBERS.TEAM  -->  TEAMS.TEAM

LEAGUE-STANDING.TEAM  -->  TEAMS.TEAM

DUAL-MEETS.HOMETEAM  -->  TEAMS.TEAM

DUAL-MEETS.AWAYTEAM  -->  TEAMS.TEAM

DUAL-MEETS.MEET-WINNER  -->  TEAMS.TEAM

CONFERENCE-MEET.TEAM  -->  TEAMS.TEAM

EVENT-TEAM-SCORE.TEAM  -->  TEAMS.TEAM

MEET-REGISTRATION.MEMBER-ID  -->  TEAM-MEMBERS.MEMBER-ID

EVENT-JUDGE-SCORE.MEMBER-ID  -->  TEAM-MEMBERS.MEMBER-ID

EVENT-GYMNAST-SCORE.MEMBER-ID  -->  TEAM-MEMBERS.MEMBER-ID

EVENT-AWARDS.MEMBER-ID  -->  TEAM-MEMBERS.MEMBER-ID

ALL-AROUND-AWARDS.MEMBER-ID  -->  TEAM-MEMBERS.MEMBER-ID

DUAL-MEETS.MEET#  -->  MEETS.MEET#

CONFERENCE-MEET.MEET#  -->  MEETS.MEET#

JUDGE-ASSIGNMENT.MEET#  -->  MEETS.MEET#

MEET-REGISTRATION.MEET#  -->  MEETS.MEET#

EVENT-JUDGE-SCORE.MEET#  -->  MEETS.MEET#

EVENT-GYMNAST-SCORE.MEET#  -->  MEETS.MEET#

EVENT-TEAM-SCORE.MEET#  -->  MEETS.MEET#

EVENT-AWARDS.MEET#  -->  MEETS.MEET#

ALL-AROUND-AWARDS.MEET#  -->  MEETS.MEET#

JUDGE-ASSIGNMENT.JUDGE-ID  -->  JUDGES.JUDGE-ID

EVENT-JUDGE-SCORE.JUDGE-ID  -->  JUDGES.JUDGE-ID


A 115

     Pick an implemented natural language processing  system  and  describe
what it can do and how it works.


A 116

     Discuss Rule based production systems - forward and backward chaining,
when should each be used, appropiate application areas for each.


A 117

     Discuss 4 types of knowledge  representation  (excluding  rules)  that
might  be  used in developing an expert system.  Discuss the advantages and
disadvantages of each and provide a typical application area  /  field  for
each.


A 118

     Discuss  inexact  reasoning  in  expert  systems.   Give  4  different
techniques  to  represent  uncertainty.   Discuss  and  compare each.  When
should inexact reasoning be used and when should it not be used?


A 119

     Discuss the Rete Pattern Matching Algorithm.  Also provide high  level
psuedocode.   When  should  it  be  used?   What  are  its  advantages  and
disadvantages?


A 120

     Discuss Knowledge Acquisition and Interviewing as a means of acquiring
knowledge for expert systems.

A 121

     Discuss 4 techniques for automatically acquiring knowledge for  expert
sytems.  Give advantages and disadvantages of each.

A 122

a)  Provide an illustration of a "process query" based on a workflow 
model of information.

b)  Describe the process and data schema needed to support this 
query and describe how a workflow query processor would use these 
schema to resolve  your process query.  Include a description of 
the SQL queries needed to support your process query.

A 123

     a) Write black box test cases to test a module  that  is  part  of  an
automated  teller  machine.  The module reads in the amount the user wishes
to withdraw from his/her account.  The amount must be a multiple  of  $5.00
and  be less than or equal to $200.00.  Be sure to list any assumptions you
make and label equivalence classes and boundary values that you use.

     b) You are a newly appointed test specialist,  and  your  manager  has
just  asked  you to define a test life-cycle.  What would your version of a
test life- cycle look like?  Be specific about what the components of  your
test  life  cycle  are  and  how  they  integrate  into the development and
maintenance phases.

     c) What are the essential items to include in a test plan?   How  will
you achieve traceablilty to the user requirements through your test plan?

     d) Briefly describe 4 types of structural test strategies.

     Rate them according to the strength of coverage.

A 124

     a) Describe the Capability Maturity  Model;  its  intent,  its  usage.
Suppose  you  are  in an organization at level 2 of the Capability Maturity
Model.  What are some of the key process areas that are in  place  in  your
organization?   What CASE tools are needed at this level to support the key
process areas:?  Describe what  functions  at  level  2  these  tools  will
support.   What  metrics  might  be useful to collect at this level to help
with process improvement?

     b) Using the network models (CPM or PERT), draw a clearly labeled task
scheduling  diagram  with  dummy  nodes  if needed, for the following plan.
What is the critical path and its length?

          Activity        Duration (Days)         Precedent Activities
            A                       3                       -
            B                       5                       A
            C                       3                       A
            D                       11                      B
            E                       7                       B
            F                       4                       C
            G                       9                       E,F
            H                       2                       D,G


     c) Suppose you are  a  project  manager  in  a  medium-sized  software
development  company.   Your  division specializes in real-time systems.  A
government agency has commissioned you to develop a new on-line system  for
comparing  fingerprints for use by law enforcement agencies.  One situation
you will encounter is a tight scheduling deadline.  In addition, it is  not
clear  that  currently  existing algorithms can compare fingerprints in the
given response time constraints.  Upper management  wants  you  to  develop
this  product, although your experienced software engineers are unhappy and
have serious doubts about the project.  Your division has not had a  profit
in the last year.  In a simple matrix format answer the following:
                    1) what are the major risk factors related to this
                       project (list at least 4),
                    2) estimate, using a simple scale you define, the
                       likelihood of each risk occurring,
                    3) with a scale, estimate the impact of each risk,
                       explain your reasoning,
                    4) for each risk, give a risk avoidance strategy,
                    5) prioritize the risks and develop a simple
                       contingency plan for each risk item


     d) Explain why the process of project planning is  an  iterative  one,
and why a project plan must be continuously reviewed and revised throughout
the duration of a developing software system.

A 125

A.  You are a member of an SQA group at "Big Systems
Developers".  You suggest to your manager that a review
process should be introduced.  She responds that she sees no
reason why the technical staff should waste their time looking
for faults when one person could run test cases on the code and
find them.  You need to respond to convince her of the value
of the review process.  Give your response in terms of the
following: describe the benefits of the review process; its
impact on product and process quality, and where in the life
cycle you would recommend reviews take place to maximize 
their effectiveness and impact on quality.

B.  Define the equivalence classes and boundary values and
develop a set of test cases to cover them for the module
described below.  It is part of a public TV membership
system.
    The module allows entry of a contribution from
$0.01 - $99,999.99.  It also enters a member status for
the contributor that can be: regular, student/retiree,
or studio club.

C.  Describe the types of system tests you might develop
for the software sytem shown below (you need not design
specific test cases).  Include the goals of each type of
test.  Describe 3 test-related metrics you would collect
for this system, and their impact on software quality.

    A ticket distribution outlet system.  The system
handles reservations and ticket sales for multiple events.


D.  What is a control flow graph?  How is it used in
white box testing?

A 126

What is needed in a comprehensive medical information environment
that can support a practicing physician throughout the day?

A 127

A. Name two medical expert systems and describe briefly what they do?

                                                             

B. What can we as computer scientists do to make it convenient and
   comfortable for a nurse or physician to use such a system?

A 128

You have built a system to add physicians in the management of
diabetes.  What should you do before you try to find someone to
market it?

A 129

A. Show at least four stages of the chart when a bottom-up chart
   parser is working on:
    
     The orange ducks swallow flies

   Note that "orange" is both an adjective and a noun and that the 
   last three words in this sentence are both nouns and verbs.

B. Explain the advantages of chart parsing.

A 130

Part 1.

     Let  the  base  frame  for  the  following  mechanism  be  the   usual
righthanded system with vertical Z axis pointing up.  Consider an extremely
simple "manipulator" consisting of a single bar of length L inches, pivoted
at  one  end  about  the  Y  axis, and rotating in the XZ plane.  The joint
angle, theta, is 0 when the bar lies on the positive X-axis, PI/2 when  the
arm  points  along  the positive Z axis, and PI when the bar lies along the
negative X axis.

     (a) Calculate the manipulator Jacobian, which  is  6x1  in  this  case
(recall  that the first three entries give the linear velocity and the last
three entries give the angular velocity of the moving end of the bar).

     (b) If a 10 pound weight is attached to the free end of the  bar,  use
the  jacobian  to  calculate  the  resulting torque about the pivot for the
configurations theta = PI/2 and theta =  PI.   Provide  the  correct  units
along with the numerical values.  Part 2.

     Suppose that the Stanford manipulator, an early experimental  six-axis
manipulator,   happens   to   be  in  a  configuration  that  produces  the
base-to-hand transformation

                /0  1  0  20\
    T6 =        |1  0  0   6|
                |0  0 -1   0|
                \0  0  0   1/

     Its  Jacobian,  i.e.,  the  derivative  of  the  mapping  from   joint
configuration  to  hand  position  and  orientation,  turns  out,  in  this
configuration to be

                /20  0  0  0  0  0\
    J  =        |-6  0  1  0  0  0|
                | 0 20  0  0  0  0|
                | 0  1  0  0  1  0|
                | 0  0  0  1  0  0|
                \-1  0  0  0  0  1/

     Everything in Part 2 refers to this configuration.   We  suppose  that
the  base  frame  is  a  right-handed system with vertical Z axis, positive
direction up.  Distances are measured in inches and forces are measured  in
pounds.

     (a) What are the  base  system  coordinates  of  the  origin,  x-axis,
y-axis,  and z-axis of the hand frame?  Sketch the base coordinate axes and
within this sketch, draw the hand frame showing the orientation of its axes
(be sure to label the axes).

     (b) If the joint velocities are given by the transpose  of  [0.1  -0.1
2.0  0.1  0.1 0.1] Find the linear velocity and the angular velocity of the
hand.

     (c) What torques or forces must be exerted by joints  1 and  3 of  the
robot  in  order  to support a 10 pound weight?  All joints of the Stanford
manipulator are revolute, except the third, which is sliding.  For each  of
the two joints tell whether your result is a torque or a force, and provide
the correct units along with the numerical value.

A 131

    Sketch an ATN that can parse:

     John saw the man on the hill with a telescope
     after the green parrot started to screech.

A 132

A. Describe the Topological Sorting Algorithm.

B. Explain how this algorithm can help in the design of a Computer
   Science Course.

A 133

    Outline an introductory Computer Science Course suitable for high

     school or junior college students.  Justify your choice of topics and

     the sequence in which you would present them.  Your discussion should

     touch on the following:  Choice of languages, extent of coverage of

     computer organization and assembly language programming, terminal

     behaviors, teaching instruments, duration of course and equipment

     available.

         A.  Course Outline
             1.  Title
             2.  Time allotment (minutes per day)
             3.  Level
             4.  Prerequisites
             5.  Texts
             6.  Computer facilities
             7.  100 word course description
         B.  Course Content
             1.  Concepts
                 a.  Time allotment
                 b.  Assignments
                 c.  Quizzes and tests
             2.  Skills
                 a.  Time allotment
                 b.  Assignments
                 c.  Quizzes and tests

A 134

Describe how a computer can be used to assist in the teaching of
a first course in Algebra.

A 135

     Computer based learning units for many High School subjects are

     being developed.  "Computer based" usually means that the student use

     of a computer is an essential component of the unit.  Develop and

     write such a unit for use in a course other than Computer Science or

     Data Processing.

A 136

A. List three strategies that can be used in a CAI program.

B. Pick one of the above and describe in detail how it works.

A 137

     Among the advantages claimed for CAI systems are the following:

     a) reduction of teacher personal ( cost reduction )

     b) more individualized instruction

     c) superior educational content.


     Compare the relative merits of these arguments, considering both

     technical and social issues.  You should develop a definite thesis

     with respect to your judgment on these points.

A 138

This problem asks you to describe and compare two common algorithms
for hidden surface elimination.

PART A.
Describe the Painter's algorithm for hidden surface removal. You 
should include as much detail as you feel necessary to convince an
expert that you understand this process. In particular, please be 
sure to mention any pre-processing (e.g. sorting), and tell how any
one pixel becomes illuminated by an object.

PART B.
Describe the Depth Buffer (also known as the Z-Buffer) algorithm
for hidden surface removal. You should include as much detail as
you feel necessary to convince an expert that you understand this 
process. In particular, please be sure to mention any pre-processing
(e.g. sorting), and tell how any one pixel becomes illuminated  by 
an object.

PART C.
Give careful thought to the implementation of the above algorithms.
                                                              


Once you have done so, answer the following:

1. Which of these algorithms (if either or both) would you expect
to be easier to implement in hardware rather than software?

2. Which of these algorithms (if either or both) would you expect
to be easier to implement in software rather than hardware?

Please briefly describe your reasoning in each of the above.

A 139

Since geometric algorithms are such an important part of Computer
Graphics, we're asking you to explain carefully and completely
how to:

A. Determine if 3 points are collinear.

B. Determine if 4 points are coplanar.

C. Determine the equation of the plane containing three
   noncollinear points.

D. Determine the outward pointing normal vector for a 
   triangle.

E. Determine whether or not a ray intersects a triangle.

F. Determine whether or not a ray intersects a sphere.


NOTE: Assume all coordinates are in three dimensions.

A 140

     Construct a table of Denavit-Hartenberg parameters for  the  links  of
the  manipulator  shown  below.   Conventions  differ, so it doesn't matter
whether your results agree exactly with those in any  particular  text,  so
long  as  your  method  conforms  to  the  essential  idea  of representing
link-to-link transformations by four numbers.  Sketch  what  these  numbers
mean,  and  write  matrices for the transformations they characterize.  Use
these  matrices  to  arrive  at  an   expression   for   the   link-to-link
transformation, although you needn't multiply them.

     In constructing the table, indicate the coordinate axes at each  link,
and indicate which choices are forced, and which ones allow some freedom of
choice.  Give the resulting Denavi-Hartenberg tables that would  come  from
making  all  possible  choices for the first x axis for which there is more
than one choice.
             End effector
   Y0  ^     |     /
       |     |   /  \
       |     V / \    \                 theta and h are variables
       |     o     h    \               d and H are constant parameters
       |      \\     \    \                         of the system
       |        \\    /     \
       |         /\\/\        H
       |       /   /   \        \             -pi/2 < theta < pi/2
       |     /      \    \        \
       |   /          \    \        \           0 <= h <= H
       | d          / / \   /         \     /
       /          / /     \/\\          \ /
     / |        / /           \\        /
   /   |      / /               \\    /
 \     |    / /\                  \\/
   \   |  / /   theta             /
     \ |/ /      | 
       o/--------+------------------------------------------------->
                                                                X0 

A141

Removed

A 142

A. The following is a pseudo-code fragment that has no redeeming features except for the purpose of this question. Draw a control flow graph for the example, and clearly label each node so that it is linked to its corresponding statement. Calculate its cyclomatic complexity. How many test cases are needed to adequately cover the code? How did you determine this? Develop the necessary test cases using sample values for x,i, y[i] and z[i] as needed.

module nonsense()
/* y[]  and z[] are global variables */
begin
	int i,x
	i =1
	read (x)
	while  ( i < x) do begin
		y[i] = z[i] * x
		if y[i] > 135 then
			print ("array y is over the limit")
		else
			print ("ok")
		i = i +1
	end
	print ("end of nonsense")
end

B. Give a definition for test process maturity. How does the Testing Maturity Model help an organization to obtain an optimal and mature testing process? What kind of testing tools in your opinion are useful to support testing process maturity growth?

C. There are two major strategies used in integration testing, bottom-up and top-down. Describe these strategies using a structure chart you devise as an example. The structure chart should have at least a depth of 4 modules in some of its branches and a breath of 4 modules in some of its levels. Give the advantages and disadvantages of each integration strategy.

D. Using a version of the V-model, describe the test-related activities that should be done during the following phases of the software life cycle: project initiation, requirements specification, design, coding, testing and installation.

A 143

A. Suppose you are the owner and project manager of a small company that employs 4 software engineers besides yourself. The range of experience for your staff is 1 to 15 years as a software developer. Your next project is to develop an on-line course registration system for Midwest State University that students can use to register for courses. The system must be completed in 6 months so the university can use it for fall registration. The system will run on a new university mini-computer; it will allow students to dial-in registration requests. The registration staff will assess the data and print reports. Your client liaison is the university registrar. This is only the second major project your company has been commissioned to develop. You will be using the waterfall model and new software tools to develop the system and you hope to make it generic enough so you can sell it to other universities.

Draw a risk reduction matrix. Include the following items:

1. all the major risk factors

2. estimate, using a simple scale you define, the likelihood of each risk occurring, explain your reasoning

3. using a scale, estimate the impact of each risk, explain your reasoning

4. develop a simple contingency plan for each risk

B. From the project managers' viewpoint, what are some of the special features of the spiral model that make it unique as compared to other software life cycle models? What kind of projects is it best used for?

C. Calculate the unadjusted function point count (UFC) for a complex project with 7 user inputs, 5 user outputs, 2 user inquiries, 4 files and 2 external interfaces. The required constants appear below. If the technical complexity factor is 1.16, what is the adjusted FP count?

Weight factors:

user inputs = 6,
user outputs = 7,
user inquiries = 6,
external interfaces = 15,
files = 10.

D. At what point in the project life cycle should a feasibility study be done and why? Discuss the project attributes that should be explored in the feasibility study.

A 144

A. Your company will develop an automated mail order system with the following components and their estimated sizes:

order generation facility 5.2 kloc
customer data base management 7.6 kloc
file input and output 1.5 kloc
report generation 0.9 kloc
billing and accounting 3.4 kloc
user interface and help 1.2 kloc

First using the basic COCOMO model, estimate the effort required to build the system. Use the constants: a = 3.6, b = 1.20, c = 2.5, d = 0.32.

Then using the intermediate COCOMO model calculate the effort using the following cost driver attributes:

complexity 1.15
experience 1.13
programmer capability 1.17
development schedule 1.10

Assume all other cost drivers are equal to 1.0.

B. Suppose you are a project manager and one of your staff of software engineers can be described as a competent programmer; however, he is always late in completing his assigned tasks, is reluctant to learn new techniques, and doesn't get along well with the other members of the team. Which of Bartol's employee categories would you place this person and why? What actions would you take to help this person to move into a more positive category?

C. You are a project manager charged with organizing a team to develop a large component of a telephone switching system that will run on a new and fast processor. The project is embedded, complex and has stringent reliability and performance requirements. Some of the team members may be in different geographical locations. Of the three types of team organizations we have studied in class, which would you choose for this project. Justify your choice.

A 145

A. Weekly status meetings are a good mechanism to use for monitoring a software project. How can a project manager at such a meeting illustrate progress vs plan? What role can Earned Value play? What items should be recorded in the status meeting report?

B. Your employer, Lake Shore Software, has asked you to write a proposal in response to an RFP (request for proposal) from the State of Illinois to develop an automated office system for the state real estate tax collection agency which employs about 200 people, most of whom are not computer literate. You will be competing with many other software development companies for this job. Your company employs 20 software engineers and has been in business for 15 years. You have developed many successful software systems, but you have never developed an automated office system. What are some of the most important items to include in the proposal? If you win the job, what type of contract would you advise your company to pursue, a fixed price or cost-plus, and why?

C. Consider a variation of the controlled decentralized team structure. A senior programmer and some junior programmers form a team that is structured like the Chief Programmer Team. All the senior programmers and the project leader form an egoless team. What advantages and disadvantages are there to this team structure? What type of projects might be suited for development with this team structure?

D. What is the difference between a fixed price and cost plus contract? Describe a situation where you would use a fixed price contract and one for a cost plus contract.

A 146

A. Describe the major elements in a software project management plan (SPMP). Who do you think should be responsible for preparing this plan?

B. Describe the PERT network model for project scheduling.

C. Network models work well in scheduling large projects. Describe a scheduling technique useful for small projects.

D. Set up an equation using the basic COCOMO model to estimate the effort required to develop a 34.5 KLOC project in a semi-detached mode. The constants appear below. Where in the software life cycle should amanager use the COCOMO model to estimate effort and what degree of accuracy should he/she expect?

COCOMO constants (semi-detached mode)
a = 3.0, b= 1.12, c = 2.5, d = .35

A 147

A. You will be preparing black box tests for the following module. The module which is a component of a auto parts warehouseinventory system, accepts the name of a part, and a list of the different sizesthe part comes in, specified in centimeters (cm). The part-name is alpha-numeric, between 2-35 characters in length and must start with an upper case letter. The size of the part is an integer with a range of 1-100 centimeters. The sizes must be entered in ascending order, and no more than 4 sizes can be entered for each part. The module expects the part-name to be entered first, followed by a list of part sizes. Each input item is separated from the others by a comma (comma is the delimiter). Blank spaces are ignored.

For this module you are to: a) Create a list of equivalence classes. Number each class and indicate if it is valid or invalid, b) Apply boundary value analysis and clearly show the boundary cases for each input item where appropriate, c) Develop 4 test cases and indicate which equivalence classes and boundary values are covered by the cases?

B. There are two major module integration strategies used in integration testing, bottom-up and top-down. Describe these strategies; a example with a simple structure chart is helpful. Give the advantages and disadvantages of each strategy.

C. For the following software what types of systems-level tests are especially indicated in view of the system characteristics and the nature of the problem domain? Include the goals for each type of test. The software for a nuclear power plant monitoring system. The system monitors the plant for unsafe conditions that could arise and gives warnings via a console and alarm system to the plant personnel.In the event of a potentially unsafe condition, it interacts with plant devices to prevent catastrophic failures.

A 148

A. The following is a pseudo-code fragment that has no redeeming features except for the purpose of this question. Draw a control flow graph for the example, and clearly label each node so that it is linked to its corresponding statement. Calculate its cyclomatic complexity. Describe how a tester could use the cyclomatic complexity and the control flow graph to design an adequate set of white box tests (adequate according to some criteria) for this module.

module nonsense()
/* a[]  and b[] are global variables */
begin
	int i,x
	i =1
	read (x)
	while  ( i < x) do begin
		a[i] = b[i] * x
		if a[i] > 50 then
			print ("array a is over the limit")
		else
			print ("ok")
		i = i +1
	end
	print ("end of nonsense")
end

B. You are the test manager at "Windy City Software Developers" Your boss is willing to provide funds for the purchase of tools to assist the staff of the newly formed test organization. No testing tools are currently being used. What types of tools would you recommend keeping in mind that your company goal is to develop large software systems with multiple releases.

C. Describe 2 different criteria that a test manager can apply to decide when to stop system testing. Which do you think will lead to the highest quality software?