Software Engineering Midterm Review
48 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the purpose of building prototypes during the development process?

  • To generate final code
  • To finalize the project schedule
  • To address uncertainty in requirements (correct)
  • To confirm external specifications

Which activity is involved in managing risks during the project phases?

  • Monitoring symptoms of identified risks (correct)
  • Performing a design review
  • Building an automated model
  • Generating code for components

What is typically maintained for all important tasks during the development phase?

  • Project timelines
  • External specifications
  • Metrics (correct)
  • Automated models

What is the correct order of tasks from high-level design to development?

<p>High-level design, prototypes, component-level design (D)</p> Signup and view all the answers

How are development tasks organized and monitored?

<p>Through the use of process technology tools (D)</p> Signup and view all the answers

What is the goal of the high-level design review?

<p>To uncover errors in the design (B)</p> Signup and view all the answers

What is analyzed to determine typical workflow during project execution?

<p>An automated model of the process framework (A)</p> Signup and view all the answers

Which of the following tasks is part of the component-level design process?

<p>Refining and reviewing the design (D)</p> Signup and view all the answers

What is the primary focus of the Personal Software Process (PSP)?

<p>Personal measurement of work product quality (C)</p> Signup and view all the answers

Which activity is NOT included in the framework activities of the Team Software Process (TSP)?

<p>Market analysis (D)</p> Signup and view all the answers

What is the first step in the communication management process?

<p>Planning (A)</p> Signup and view all the answers

Which type of requirement is written in natural language for customers?

<p>User requirements (D)</p> Signup and view all the answers

What does the postmortem activity in the software process aim to achieve?

<p>Set the stage for process improvements (A)</p> Signup and view all the answers

Which statement best describes the relationship between individual and team processes in software development?

<p>Both individual and team processes must align to be effective. (B)</p> Signup and view all the answers

What is the role of change control in configuration management?

<p>To maintain consistency across changes made to the system (B)</p> Signup and view all the answers

Which of the following statements is true regarding functional requirements?

<p>They detail how the system should behave with various inputs. (A)</p> Signup and view all the answers

How does the TSP framework approach software process improvement?

<p>By making CMM23 Level 5 behavior expected and normal (A)</p> Signup and view all the answers

What must the requirements serve as a basis for in project management?

<p>Bids for contracts or the contracts themselves (A)</p> Signup and view all the answers

What is one of the key aspects of process technology in software engineering according to the content provided?

<p>The use of one or more adapted process models is essential. (C)</p> Signup and view all the answers

Which framework activity is primarily concerned with estimating size and resources?

<p>Planning (D)</p> Signup and view all the answers

What is an inevitable characteristic of an abstract statement of a service or system?

<p>It must be open to interpretation. (C)</p> Signup and view all the answers

What is the expected outcome of creating a 'personal software process' as argued by Watts Humphrey?

<p>It allows for significant adaptation to meet project needs. (B)</p> Signup and view all the answers

In configuration management, what is the step that follows 'Identification'?

<p>Analysis (D)</p> Signup and view all the answers

What does a Gantt Chart primarily illustrate in project management?

<p>The timeline of project activities (C)</p> Signup and view all the answers

What is indicated by a non-functional requirement like security?

<p>It specifies operational characteristics and system services. (B)</p> Signup and view all the answers

What could organizational requirements arise from?

<p>Organizational policies and procedures. (D)</p> Signup and view all the answers

Which classification of requirements specifies performance metrics like execution speed?

<p>Product requirements. (C)</p> Signup and view all the answers

What is a challenge associated with non-functional requirements?

<p>They are often difficult to state and can be imprecise. (C)</p> Signup and view all the answers

What do external requirements arise from?

<p>Factors external to the development process. (D)</p> Signup and view all the answers

In structured analysis, how are data and processes viewed?

<p>As distinct entities with defined attributes and relationships. (B)</p> Signup and view all the answers

Which analysis method emphasizes collaboration between classes?

<p>Object-oriented analysis. (B)</p> Signup and view all the answers

What is the consequence of having imprecise non-functional requirements?

<p>They can lead to difficulties in verification. (A)</p> Signup and view all the answers

What is the primary role of system maintenance engineers in relation to requirements?

<p>To understand the system and its parts based on requirements. (B)</p> Signup and view all the answers

What purpose do appendices serve in a requirements document?

<p>They provide detailed, specific information related to the application. (A)</p> Signup and view all the answers

Which of the following models is NOT mentioned as a possible system model?

<p>Predictive models (C)</p> Signup and view all the answers

What do hardware requirements define in a systems development context?

<p>The minimal and optimal configurations for the system. (A)</p> Signup and view all the answers

What is a common use of UML diagrams in relation to requirements?

<p>To define functional requirements for the system. (D)</p> Signup and view all the answers

What aspect of system evolution is crucial for system designers to understand?

<p>Fundamental assumptions and anticipated changes. (A)</p> Signup and view all the answers

What is the purpose of mathematical specifications in requirements documents?

<p>To provide unambiguous specifications that reduce ambiguity. (A)</p> Signup and view all the answers

Which index may NOT typically be found in a requirements document?

<p>Index of marketing strategies (B)</p> Signup and view all the answers

What is the primary focus of the Personal Software Process (PSP)?

<p>Disciplined planning and design with quantitative measurement (D)</p> Signup and view all the answers

Which activity in the PSP framework involves developing both size and resource estimates?

<p>Planning (A)</p> Signup and view all the answers

What is the purpose of creating high-level designs in PSP?

<p>To develop external specifications for components (D)</p> Signup and view all the answers

What happens during the high-level design review in the PSP?

<p>Formal verification methods are applied to uncover errors (B)</p> Signup and view all the answers

What is the main goal of the development activity in PSP?

<p>To refine and review component-level design (B)</p> Signup and view all the answers

How are project schedules created in the PSP framework?

<p>Based on personal metrics and worksheets (D)</p> Signup and view all the answers

What role do process technology tools play in software organizations?

<p>They assist in analyzing current processes and organizing tasks (A)</p> Signup and view all the answers

What is the outcome of conducting a postmortem in the PSP model?

<p>To set the stage for process improvements (A)</p> Signup and view all the answers

Flashcards

Team Software Process (TSP)

A software development process designed for teams to improve quality and efficiency.

Personal Software Process (PSP)

A personal process model that stresses personal measurement of work products and their quality.

Framework Activities (TSP)

Defined steps in the TSP process: launch, high-level design, implementation, integration/testing, and postmortem.

Planning (PSP)

PSP activity to define requirements and estimate size/resources, recording metrics on templates.

Signup and view all the flashcards

Software Process Adaptation

Adjusting software processes to meet the specific needs of a project and organization.

Signup and view all the flashcards

Process Technology

Applying a process model chosen to help a software team improve their processes.

Signup and view all the flashcards

Process Improvement

The act of making a process better, using feedback from each stage and improving quality.

Signup and view all the flashcards

CMM Level 5 Behavior

A high level of software process maturity, emphasizing consistency and effectiveness.

Signup and view all the flashcards

High-level Design

Creating external specifications for components and designing components, including prototyping if necessary.

Signup and view all the flashcards

High-level Design Review

Formal verification using methods from Chapter 21 (likely Software Quality Assurance techniques) to find design errors and maintain metrics of tasks/results.

Signup and view all the flashcards

Process Technology Tools

Software tools to analyze processes, organize tasks, monitor progress, manage quality, and model the software development process.

Signup and view all the flashcards

Project Schedule

A plan outlining the tasks and timelines for completing a project in software development.

Signup and view all the flashcards

Risk Management (Manage)

Analyzing risk likelihood and impact at each project phase, and creating mitigation plans.

Signup and view all the flashcards

Risk Management (Monitor)

Tracking and monitoring potential risks, early warning signs, and effectiveness of mitigation strategies to avoid further issues.

Signup and view all the flashcards

Requirements Engineering

Identifying customer needs and constraints for a software system, defining services to meet those needs.

Signup and view all the flashcards

Development

Refining the component design, creating code, and completing the development tasks.

Signup and view all the flashcards

Project Communication Management

The process of planning, sharing, giving feedback, and closing communication within a project.

Signup and view all the flashcards

Requirements

Detailed specifications, defining what a software system should do.

Signup and view all the flashcards

User Requirements

Requirements expressed in natural language, focusing on the system's services and its operational constraints as seen by the user.

Signup and view all the flashcards

System Requirements

Structured requirements specifying the system's detailed functions, services, and constraints.

Signup and view all the flashcards

Functional Requirements

Requirements defining the services the system must provide, and how it should react to inputs.

Signup and view all the flashcards

Configuration Management

The process to ensure all changes to the software system are consistent.

Signup and view all the flashcards

Change Control

A part of configuration management, ensuring all changes are made according to rules.

Signup and view all the flashcards

Project Management Tools (e.g., Gantt Chart)

Tools used to aid in organizing and tracking project tasks, milestones, and timelines.

Signup and view all the flashcards

Non-functional Requirements

Features that describe how the software should operate, like speed, security, or reliability, not what it does.

Signup and view all the flashcards

Product Requirements

Specifications on how the software itself must behave, e.g., speed, reliability.

Signup and view all the flashcards

Organizational Requirements

Rules and standards from the company, like specific processes or tools used.

Signup and view all the flashcards

External Requirements

Factors outside the software itself, such as legal/environmental constraints.

Signup and view all the flashcards

Requirements Analysis

The process of discovering and documenting the software's qualities and behaviors.

Signup and view all the flashcards

Requirements Modeling

Creating models to present the software's operational characteristics.

Signup and view all the flashcards

Structured Analysis

Requirements modeling approach focusing on data and the processes that transform it.

Signup and view all the flashcards

Object-oriented Analysis

Modeling approach centered around classes and their interactions.

Signup and view all the flashcards

System Requirements

Detailed description of what a software system should do and how it should behave.

Signup and view all the flashcards

Requirements Document

A document that fully captures the needs and specifications for software system.

Signup and view all the flashcards

System Engineers

Software engineers who analyze requirements and design the system architecture to meet these requirements.

Signup and view all the flashcards

System Test Engineers

Software engineers who rigorously validate the developed software system against the stated requirements.

Signup and view all the flashcards

UML Use Case

A visual diagram to represent how users interact with a system and what functions are involved.

Signup and view all the flashcards

Mathematical Specifications

Formal notations using mathematical concepts like finite-state machines to define system behaviors.

Signup and view all the flashcards

System Evolution

Describes system changes due to hardware, user needs, or other circumstances.

Signup and view all the flashcards

Index (Requirements Document)

Organization tools (alphabetical, diagrammatic, functional) inside the document to help find specific information.

Signup and view all the flashcards

PSP Planning

PSP activity focusing on defining project requirements, estimating size and resources, documenting metrics, and creating a project schedule.

Signup and view all the flashcards

High-Level Design

Creating external specifications for components and designing them. Prototyping helps if uncertainty exists. All issues are tracked.

Signup and view all the flashcards

High-Level Design Review

Formal review of high-level design using verification methods from Chapter 21, tracking metrics of important tasks.

Signup and view all the flashcards

Development (Software)

Refining and reviewing the component-level design; coding and completing development tasks.

Signup and view all the flashcards

Personal Software Process

A process for software development that emphasizes personal measurement of work products, focused on quality.

Signup and view all the flashcards

Process Technology

Using a software process model to improve processes; analyzing processes, organizing tasks, monitoring progress, and controlling quality.

Signup and view all the flashcards

Process Improvement

Making a process better through feedback and quality improvements.

Signup and view all the flashcards

Project Schedule

A plan that outlines tasks and timelines for project completion in software development.

Signup and view all the flashcards

Study Notes

Software Engineering Midterm Review

  • Software Engineering Process Models: Umbrella activities are defined by a set of actions within a framework. Quality assurance points and milestones track progress. Various process models exist: incremental, prototyping, spiral, component-based, and formal methods are highlighted. The Unified Process (UP) is described as an iterative and incremental approach, drawing on aspects of traditional and agile models. The UP has phases: inception, elaboration, construction, transition, and production.

Unified Process (UP) Phases

  • Inception Phase: Focuses on customer communication and planning, defining business requirements, proposing architecture, and outlining iterative development.

  • Elaboration Phase: Further refines use cases, expanding the architecture with various views (use case, requirements, design, implementation, and deployment).

  • Construction Phase: Builds software components based on elaboration phase architecture to make use cases operational.

  • Transition Phase: Finalizes construction, moves to user beta testing and feedback for defects and requested changes.

  • Production Phase: Continuous monitoring, operating system/infrastructure support, and evaluating defect reports and change requests are ongoing aspects here.

Personal and Team Process Models

  • Personal Software Process (PSP): Focuses on personal measurement of both work product and resultant quality to improve the process. Five activities: Planning, High-level Design, High-level Design Review, Development, and Postmortem.

  • Team Software Process (TSP): Aims to build self-directed teams producing high-quality software. Focuses on process improvement, and team performance. Processes: Project launch, High-level design, Implementation, Integration and test, and Postmortem.

Process Technology

  • Tools allow software organizations to automate process frameworks, manage tasks, control progress, and manage technical quality.

Product and Process

  • Software increment releases are reviewed, compiled, and tested. Metrics are important. Transition and production phases manage delivery and feedback.

Requirements Engineering

  • Establishing customer needs and constraints. Requirements can range from high-level descriptions to detailed specifications.

Types of Requirements

  • User Requirements: Natural language, diagrams of system services, operational constraints. For end-users and customers.
  • System Requirements: Structured documentation of system functions, services, and constraints, often contractual.
  • Functional Requirements: Statements of system services, reactions to inputs, and behavior in situations.
  • Non-functional Requirements: Constraints on services, process and development standards, also time, performance, and quality related constraints, often system-wide.
  • Domain Requirements: Constraints specific to the system's operating environment/area.

Requirements Modeling

  • Structured Analysis: Models data and processes to transform data.
  • Object-Oriented Analysis: Focuses on classes and their collaboration. Utilizes UML and other object oriented diagrams.

Requirements Specification

  • Natural Language: Simple, numbered sentences.
  • Structured Natural Language: Form-based descriptions (templates).
  • Design Description Languages: Programming-like notations for operational models.
  • Graphical Notations: Diagrams and annotations for visual representation (UML), including use cases and sequence diagrams.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Prepare for your Software Engineering midterm with this comprehensive review. Explore different software process models, focusing on the Unified Process (UP) and its key phases: inception, elaboration, construction, transition, and production. Test your understanding and boost your confidence for the upcoming exam.

More Like This

Software Processes Quiz
5 questions
Systems and Models in UML
16 questions
Use Quizgecko on...
Browser
Browser