The idea is for you to write an answer which presents a clear and simple line of reasoning leading to your conclusion. This means you must present the important points supporting your answer, show how they lead to the conclusion you desire, and why you discount any obvious counter-arguments. This does NOT mean that you have to write a novel for each question. Concise answers presenting relevant information clearly, uncluttered by extraneous details, are the ideal. This is also a primary software engineering skill, since a significant amount of communication on software projects is done in writing.
The rules are simple:
Although we saved time this semester by combining the Requirements and Specification documents, standard SWE procedure uses separate documents for these purposes. Compare and contrast the content and purpose of the following three documents: (1) Requirements, (2) Specification, and (3) Software Design.
Most initial software requirements documents are both incomplete and inconsistent. (1) Discuss some reasons (at least three) why this is so, and (2) discuss how the use of a rapid prototype is intended to help reduce some ways in which such inconsistencies or incompleteness can arise. Finally, (3) discuss how your group's use of a RP helped make the requirements for your semester project more precise, or failed to do so, as the case may be.
The COCOMO model is a method of approximating development effort and duration, but it only produces an approximation. Considering the estimate you will produce with your group for GP #2, discuss three (3) plausible factors that may cause your estimate to be less accurate than you might wish.
Draw a distinction between Object Oriented Design and Object Oriented Implementation. Briefly describe an application which could easily have an object oriented design but need not have an object oriented implementation. Illustrate your discussion with a plausible example of an object in the design and how it might be implemented in a language without explicit object support.
(1) Define the term regression fault , and explain why it is important to detect them as early as possible in the software development process. (2) Compare and contrast the effectiveness of manual checking vs that of automated checking methods in detecting regression faults.
Describe some ways in which programming standards necessary for project success are likely to differ for a four person software development organization compared to those in organizations with four hundred programmers. Specifically address issues related to software design, coding standards, and methods of communication among programmers.