CS 3354 Exam 1

60 flashcardsby Kevin
Study these flashcardsFree · spaced repetition · iPhone, Android, Mac & web

All cards

1
What is software engineering?
Software engineering is an engineering discipline that is concerned with all aspects of software production.
2
What are the essential attributes of good software?
Maintainability, Dependability & Security, Efficiency, Acceptability.
3
What is the purpose of software engineering ethics?
To ensure that software engineers act responsibly, considering the societal and ethical implications of their work.
4
What are the four case studies covered in the exam?
Insulin Pump, MentCare, Weather Station, iLearn.
5
What does the Insulin Pump system do?
Monitors blood sugar levels and injects the correct insulin dosage.
6
Why is the Insulin Pump system considered safety-critical?
Incorrect dosage can lead to serious health consequences such as coma or organ damage.
7
What is the MentCare system used for?
It is a patient information system for mental health care.
8
What does the Wilderness Weather Station do?
Collects weather data like temperature, wind speed, and pressure and transmits it via satellite.
9
What is iLearn?
A digital learning environment that integrates tools for online education.
10
What are the four key software process activities?
Specification, Development, Validation, Evolution.
11
What is the Waterfall Model?
A sequential software process model with distinct phases including Requirements, Design, Implementation, Testing, and Maintenance.
12
What is Incremental Development?
A software process where the system is developed in small increments and delivered in stages.
13
What is Agile Software Development?
An iterative approach that emphasizes flexibility, customer collaboration, and working software over documentation.
14
What is a Sprint in Scrum?
A fixed time period in which a Scrum team develops a working increment of the product.
15
What are the three roles in Scrum?
Product Owner, Scrum Master, Development Team.
16
What is Test-Driven Development (TDD)?
A practice where tests are written before the code itself to ensure correct implementation.
17
What are Functional Requirements?
Statements that describe what the system should do, such as features and operations.
18
What are Non-Functional Requirements?
Constraints on system behavior, including performance, security, and usability.
19
What is a Use Case Diagram?
A UML diagram that represents interactions between a system and external actors.
20
What does a Sequence Diagram show?
The interactions between objects over time.
21
What is a Class Diagram?
A UML diagram that represents the static structure of a system using classes and relationships.
22
What is an Architectural Pattern?
A general solution to a recurring design problem, such as MVC (Model-View-Controller).
23
What are the four architectural views?
Logical, Process, Development, Physical.
24
What is Reuse-Oriented Software Engineering?
An approach that builds software using existing components or COTS (Commercial Off-The-Shelf) systems.
25
What is Open Source Development?
A model where software code is publicly available for anyone to use, modify, and contribute to.
26
What is Unit Testing?
Testing individual components of a system to ensure they function correctly.
27
What is System Testing?
Testing the entire integrated system to verify that it meets the specified requirements.
28
What is Acceptance Testing?
A form of user testing that determines if the software is ready for deployment.
29
What is Black-Box Testing?
A testing method where the internal structure of the system is not known; testers focus on inputs and expected outputs.
30
What is White-Box Testing?
A testing method that examines the internal logic and structure of the code.
31
What is Verification in Software Engineering?
Ensuring that the software meets its specifications and is built correctly.
32
What is Validation in Software Engineering?
Ensuring that the software meets user needs and expectations.
33
What is a Software Defect?
A flaw in the software that causes incorrect or unexpected behavior.
34
What is Pair Programming?
A technique where two programmers work together at the same workstation, one writing code and the other reviewing it.
35
What is Continuous Integration?
A development practice where code is frequently merged and tested automatically to detect issues early.
36
What is Software Evolution?
The process of adapting and modifying software to meet new requirements over time.
37
What is Configuration Management?
A practice that tracks and controls changes in software to maintain consistency.
38
What is a Software Process Model?
An abstract representation of a software development approach, such as Waterfall or Agile.
39
What is Software Prototyping?
Creating an early version of a system to refine requirements and design before full-scale development.
40
What is Refactoring?
The process of improving code without changing its functionality.
41
What is a Product Backlog in Scrum?
A prioritized list of features and requirements for a project.
42
What is a Burn-down Chart?
A graphical representation of work remaining versus time in a Scrum project.
43
What is Software Maintainability?
The ease with which software can be modified or extended.
44
What is an Object in Object-Oriented Design?
An instance of a class that encapsulates data and behavior.
45
What is an Interface in Object-Oriented Programming?
A contract that defines methods a class must implement.
46
What are the main goals of software testing?
To validate functionality, identify defects, and ensure reliability.
47
Why is Software Testing Important?
It helps find errors, ensures quality, and prevents failures in production.
48
What is a Stakeholder in Software Engineering?
Anyone affected by or involved in the development of a software system, such as users, developers, and managers.
49
What is Model-Driven Engineering?
A development approach where software is represented as a set of models that can be transformed into executable code.
50
What is Extreme Programming (XP)?
An Agile methodology that emphasizes customer involvement, frequent releases, and rigorous testing.
51
What is a Software Requirement?
A documented need or functionality that a system must provide.
52
What is a Context Model?
A diagram that shows how a system interacts with external entities.
53
What is an Activity Diagram?
A UML diagram that represents workflows or processes.
54
What is Software Validation?
Checking whether software meets user needs and expectations.
55
What is Software Verification?
Ensuring that software functions as specified in its documentation.
56
What is Software Evolution?
The process of updating software to meet new requirements or fix defects.
57
What is a Component in Software Engineering?
A reusable, self-contained unit of software functionality.
58
What is System Integration?
Combining different system components to function as a whole.
59
What is a Business Process Model?
A diagram that represents the workflow and activities in an organization.
60
What is Risk Management in Software Engineering?
The process of identifying, analyzing, and mitigating risks in a project.

Study all 60 cards for free