


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
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
1 / 4
This page cannot be seen from the preview
Don't miss anything!



(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
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.
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.
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.
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:
Understand the problem (what are the objectives and assumptions?)
Do background research (what have others done?)
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
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!
The components according to the handout/presentation for the USF Career Center are:
Steve’s advice was:
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.