Removed
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) Describe Bernsteins Normalization Algorithm b) Describe the Relational View Integration Design Technique developed by Carlson and Arora, indicating how is uses AND extends Bernsteins 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.
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?
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
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) 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. 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
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".
Explain what a sublanguage is and why sublanguage study is important.
Describe the ideal lexical database to support parsing and text
generation.
Removed
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.
Removed
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
Pick an implemented natural language processing system and describe
what it can do and how it works.
Discuss Rule based production systems - forward and backward chaining,
when should each be used, appropiate application areas for each.
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.
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?
Discuss the Rete Pattern Matching Algorithm. Also provide high level
psuedocode. When should it be used? What are its advantages and
disadvantages?
Discuss Knowledge Acquisition and Interviewing as a means of acquiring knowledge for expert systems.
Discuss 4 techniques for automatically acquiring knowledge for expert sytems. Give advantages and disadvantages of each.
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) 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) 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. 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?
What is needed in a comprehensive medical information environment that can support a practicing physician throughout the day?
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?
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. 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.
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.
Sketch an ATN that can parse:
John saw the man on the hill with a telescope
after the green parrot started to screech.
A. Describe the Topological Sorting Algorithm. B. Explain how this algorithm can help in the design of a Computer Science Course.
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
Describe how a computer can be used to assist in the teaching of a first course in Algebra.
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. List three strategies that can be used in a CAI program. B. Pick one of the above and describe in detail how it works.
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.
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.
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.
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
Removed
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. 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. 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. 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. 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. 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. 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?