CSC 550 Test 1 Review Questions
Pressman Chapters 1-15
Selected Readings
Instructions
Identify=describe in about two to four sentences
Topics and questions
Chapter 1
- How does software differ from hardware?
- What differences are present in failure behavior?
- Identify several distinct categories of application software.
- What is legacy software and why does it often have to evolve?
- What are some “laws” that describe/characterize software evolution?
- What are some common software myths and the corresponding realities?
Chapter 2
- Identify the five generic process framework activities.
- Identify eight umbrella activities.
- How do software process models differ from each other?
- What is the CMMI?
- Identify the five CMMI levels.
- Identify three formal techniques for assessing a software development process.
- Identify five framework activities for the Personal Software Process (PSP).
- Identify five goals for the Team Software Process (TSP).
- Identify the measurements that you are current making in order to provide the statistical basis for the personal software prediction model you are building. What parameters do you plan to predict?
Chapter 3
- What is a prescriptive software process model?
- Identify and compare two prescriptive software process models.
- What is an evolutionary software process model?
- Contrast three evolutionary software process models.
- Within the context of an evolutionary approach, identify five steps that component-based development employs.
- Who created the “Unified Process”?
- What was the result of the effort to combine object-oriented programming and object-oriented design concepts to software development processes?
- Identify the five phases of the unified process.
Chapter 4
- What is meant by agility in the software engineering community?
- Identify three assumptions that any agile software development process addresses.
- Identify seven key traits of an agile software development team or of its members.
- Identify three agile software development process models.
Chapter 5
- Identify Polya’s four steps to problem solving. What are some key questions that clarify each step?
- Identify the seven core principles for the practice of software engineering.
- Identify ten principles for effective communication.
- Identify ten principles for effective process planning.
- Identify five principles for effective analysis modeling.
- Identify nine principles for effective design modeling.
- Identify twenty-one principles for effective code production (preparation-5, coding-8, validation-3, testing-5).
- Identify five principles for effective software product deployment.
Chapter 6
- What is a computer-based system?
- Identify six elements that computer-based systems commonly use.
- What are four things that result from a system engineering model?
- Identify five factors that restrain system engineers when constructing system models.
- Contrast business process engineering and business product engineering.
Chapter 7
- What are some (six or eight) questions that can facilitate acquiring a basic understanding of a problem?
- What is it often difficult to elicit requirements?
- What aspects of software requirements should be traceable?
- Describe quality function deployment and the three types of requirements it identifies.
- Contrast user scenarios and use cases.
- What is the intent of the analysis model? What are the four key elements of the analysis model?
Chapter 8
- What is the principle result of requirements analysis?
- What are six rules of thumb for creating an analysis model?
- Contrast structured analysis and object-oriented analysis.
- What are the three principle elements of a data model?
- Compare and contrast scenario-based, flow-oriented, and class-based modeling.
- What is/are the function(s) of a behavioral model?
Chapter 9
- What are eight characteristics of a good design?
- Identify the “FURPS” quality attributes appropriate as goals for any software development project?
- Identify nine fundamental software design concepts that provide a necessary framework for successful product development.
- Explain Figure 9.4, p. 242.
- Identify four key elements of the design model.
- What are patterns?
Chapter 10
- What is software architecture?
- What is meant by data design and how does it relate to software architecture?
- What principles guide good data design?
- Describe, or compare and contrast the data-centered, data-flow, call and return, object-oriented, and layered architectural styles.
- Describe the architectural implications for dealing with concurrency, data persistence, and communication among distributed processes.
Chapter 11
- What is a component?
- Compare and contrast the object-oriented, conventional, and process-related views of components.
- Describe the open-closed, Liskov substitution, dependency inversion, interface segregation, release reuse equivalency, common closure, and common reuse principles.
- Provide guidelines for component-level design.
- Identify seven types of cohesion.
- What is class coupling and how does it manifest itself?
- Identify four design notations for designing components.
Chapter 12
- Identify three “Golden Rules” of user interface design.
- Identify four steps for designing user interfaces.
- What questions guide the evaluation of user interfaces?
Chapter 13
- Compare and contrast software verification and validation. Remember from the IEEE Transactions paper that valid and reliable are not the same.
- Identify and contrast unit, integration, validation, and system testing.
- Compare and contrast top-down, bottom-up, regression, and smoke integration testing.
- Identify and contrast system-level recovery, security, stress, and performance testing.
Chapter 14
- Identify seven characteristics that lead to “testable” software.
- Compare and contrast black box and white box testing.
- Identify path and control structure (conditions, data flow, loops) testing.
- How do testing methods differ when an object-oriented software development process is used?
- How do testing methods differ when a specific environment, architecture, or application is being evaluated?
Chapter 15
- Identify the 11 McCall et al. software quality dimensions.
- Contrast measure, metric and indicator.
- Identify five activities that characterize the software measurement process.
- Identify six attributes of effective software metrics.
- Identify four areas of software metrics and give examples of each.
- Identify five function-based metrics.
- Identify nine metrics for object-oriented design.
- Identify six class-oriented metrics.
- Identify at least four source code metrics.