Senior Project Mini-Exam Solutions: Product, Documentation, Design & Software Development , Exams of Computer Science

Solutions to a mini-exam covering topics such as product development process, project documentation, engineering design, and software development concepts. It includes explanations of the product development process, key attributes of requirements and specification documents, components of a test plan, and the design process. It also covers the meaning of a silver bullet in software development and the components of an effective resume.

Typology: Exams

2012/2013

Uploaded on 01/12/2013

djgoodwi
djgoodwi 🇺🇸

4.5

(6)

36 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Mini-Exam for Senior Project Fall 2008
>>> SOLUTIONS <<<
Welcome to your 10% mini-exam for Senior Project. You have 75 minutes for the exam. The exam is "anything on a dead
tree is allowed" as a reference. That is, you may have anything with you on paper including copies of old exams, your
notes, your book, and so on. You may not share material or give help during the exam. If you copy your answer directly
out of the textbook (or some other source), be sure to properly “quote” the answer (otherwise it is assumed that any
answer is given in your own words). Read the last sentence again. Failure to correctly cite copied answers will cost you
points. There are six questions each worth 16 points and one extra credit question worth 10 points. Please use a separate
sheet of paper for each question, do not write on the back of any sheet of paper, and submit your exam with this cover
sheet as the topmost sheet and the problem sheets following in number order. You get 4 points for just following these
instructions correctly
Use of a laptop for completing the exam: These problems require a lot of writing. If you are like me, you can type better
than you can write by hand. So, I will allow you to use your laptop to type the answers to this exam. At the end of 75
minutes I will ask you to hand-in to me your thumb drive with your exam file (name the file with your last name). We will
then go up to my office and print-out your exam (and return the thumb drive to you). It is your responsibility to make sure
your file is properly saved and not "eaten by the computer". During the exam you may only have your word processor
open to your exam answers file, and nothing else. You will be asked to turn-off the wireless (WiFi) in your laptop. The
exam will be proctored from the back of the room. Anyone opening-up a Web browser or otherwise displaying a file that
is not the exam solution text will receive a zero for the exam.
Problem #1
Sketch the product development process as we have discussed and followed it in this class.
(validation) +-> Requirements
| |
| V
| Specification
| |
| V
(verification)+---> Design
| | (Prototype Demo)
| V
| Implementation
| |
| V
+------Test
|
V
Manufacture
|
V
Distribute
|
V
Maintenance
|
V
End-of-Life
(yup... you can pretty much copy this from all previous old tests. Just by copying it, maybe you learned it just a little bit
better!)
1
p
oint for each item and transition
pf3
pf4

Partial preview of the text

Download Senior Project Mini-Exam Solutions: Product, Documentation, Design & Software Development and more Exams Computer Science in PDF only on Docsity!

Mini-Exam for Senior Project Fall 2008

>>> SOLUTIONS <<<

Welcome to your 10% mini-exam for Senior Project. You have 75 minutes for the exam. The exam is "anything on a dead

tree is allowed" as a reference. That is, you may have anything with you on paper including copies of old exams, your

notes, your book, and so on. You may not share material or give help during the exam. If you copy your answer directly

out of the textbook (or some other source), be sure to properly “quote” the answer (otherwise it is assumed that any

answer is given in your own words). Read the last sentence again. Failure to correctly cite copied answers will cost you

points. There are six questions each worth 16 points and one extra credit question worth 10 points. Please use a separate

sheet of paper for each question, do not write on the back of any sheet of paper, and submit your exam with this cover

sheet as the topmost sheet and the problem sheets following in number order. You get 4 points for just following these

instructions correctly

Use of a laptop for completing the exam: These problems require a lot of writing. If you are like me, you can type better

than you can write by hand. So, I will allow you to use your laptop to type the answers to this exam. At the end of 75

minutes I will ask you to hand-in to me your thumb drive with your exam file (name the file with your last name). We will

then go up to my office and print-out your exam (and return the thumb drive to you). It is your responsibility to make sure

your file is properly saved and not "eaten by the computer". During the exam you may only have your word processor

open to your exam answers file, and nothing else. You will be asked to turn-off the wireless (WiFi) in your laptop. The

exam will be proctored from the back of the room. Anyone opening-up a Web browser or otherwise displaying a file that

is not the exam solution text will receive a zero for the exam.

Problem

Sketch the product development process as we have discussed and followed it in this class.

(validation) +-> Requirements | | | V | Specification | | | V (verification)+---> Design | | (Prototype Demo) | V | Implementation | | | V +------Test | V Manufacture | V Distribute | V Maintenance | V End-of-Life

(yup... you can pretty much copy this from all previous old tests. Just by copying it, maybe you learned it just a little bit better!)

1 point for each item and transition

Problem

Answer the following two questions on project documentation:

a) Describe the key attributes of a requirements document, specification document, and test plan as discussed in class.

That is, explain the purpose of each document and what it must contain. For the test plan, describe also the key

components of a test case.

The purpose of the requirements document is to address “what is the problem”. The requirements document should pay attention to who the user is, cost, reliability, performance, and time to market. Each item in a requirements document must be measurable and numbered (and listed in priority order).

The purpose of the specification document is to address “how to solve the problem”. The specification should contain precise descriptions of inputs, outputs, and transformations – in short, everything measurable in a product should be covered in the specifications document. A specification document must contain a traceability matrix that traces specification items to requirement items.

The purpose of the test plan is to address “is the problem solved”. The test plan should contain a description of how test cases were selected and descriptions of test cases. The key components of a test case are 1) traceability to requirements and/or specification item, 2) system configuration, 3) exact input, 4) exact expected output.

b) Describe the necessary components, or ingredients, of a press release.

A press release must contain the 5 Ws and 1H (who, when, where, what, and why, and how), and it must contain a user quote.

c) Finish (fill in the blanks of) the following quote from Brooks MMM, “Only when one writes do the gaps appear

and the inconsistencies protrude.”

Problem

Answer the following questions about design.

a) What is Engineering Design?

The full legal definition of design (from the Florida Administrative Code) is:

“Engineering Design” shall mean that the process of devising a system, component, or process to meet desired needs. It is a decision-making process (often iterative), in which the basic sciences, mathematics, and engineering sciences are applied to convert resources optimally to meet a stated objective. Among the fundamental elements of the design process are the establishment of objectives and criteria, synthesis, analysis, construction, testing and evaluation. Central to the process are the essential and complementary roles of synthesis and analysis. This definition is intended to be interpreted in its broadest sense. In particular the words “system, component, or process” and “convert resources optimally” operate to indicate that sociological, economic, aesthetic, legal, ethical, etc., considerations can be included.”

The key words are underlined above.

b) Describe the design process (i.e., the steps in design) as discussed in class.

There is no single best design process, but in class we discussed the following step-by-step process as one possible way to approach design:

  1. Understand the problem (what are the objectives and assumptions?)

  2. Do background research (what have others done?)

  3. Brainstorming to list all possible solutions, but evaluate none

2 points each item

1 point each item

1 point each item – must state purpose of document

1 point each keyword

1 point each item

Problem

Brooks describes object oriented programming as possibly a “brass bullet”, but not quite a silver bullet. Imagine a magic

compiler that can compile natural language (say, English) into executable code. Assume that this compiler can figure-out

any ambiguities present in a natural language. Would this compiler be a silver bullet? Why or why not?

The answer can be “yes”, “no”, or even both. The answer must be carefully explained and argued for full credit.

First, we need to understand what a silver bullet is. A silver bullet is a technology or method that “slays” the essential difficulties of software development. Essential is “the specification, design, and testing of this conceptual construct, and not the labor of representing it and testing the fidelity of the representation.” (Brooks, MMM, page 182). No programming language – even natural language – can reduce this essence. A programming language can only reduce the difficulty of representation; this is an accidental not essential difficulty of software development.

So, the answer would be “no” if we assume that the natural language is simply a replacement for a programming language. That is, I now describe my implementation in English rather than C or Java or whatever. In this case, all the essential difficulties (of conceptual construction) still exist.

The answer could be “yes” is we assume that the magic compiler can compile concepts (described in natural language) into machine code. For example, if I can say “Write an application that will solve all the accounting problems in my company” and out comes machine code to do this… then we have a silver bullet in hand!

Problem

According to the USF Career Center, what are the “Components of an Effective Resume”? As a Computer Engineering

major, which component(s) do you think are the most important?

The components according to the handout/presentation for the USF Career Center are:

  • Identifying information
  • Career Objective
  • Education
  • Experience (paid and unpaid)
  • Activities and honors
  • Computer Skills and Language Skills
  • References As a Computer Engineering major, skills (and experience to back them up) are perhaps the most important. Skills should be highlighted immediately after the Education section.

Extra Credit

The guest speakers all shared “career success” and “interview tips” kinds of advice. I found the advice from our last

speaker – Steve Baigrie at CAE – to be the most succinct and best overall. What was the advice given by Steve?

Steve’s advice was:

  • Focus on getting best possible grades
  • Be confident
  • Be organized, responsible, and accountable
  • Be a team player
  • Communicate well
  • Don’t be afraid to seek help
  • Research companies that you want to work for
  • Find a job that holds your interest
  • Work hard, try to learn something new everyday

1 point each and 8 points for importance

1 point each item

Grade is based on an understanding of what a silver bullet is and a solid argument/explanation of the answer.