Midterms Reviewer Flashcards

1
Q

Process of designing, developing, and delivering software systems that meet a client’s requirements in an efficient and cost effective manner

A

Software Engineering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In what year did the software crisis occur that led to the development of software engineering

A

1960

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A software engineering project consume resources: ___, ____, ____, etc.

A
  1. Time
  2. Money
  3. People
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

It includes the program, documentation, distribution, and packaging

A

End Product

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Term for “ all individuals that are involved in the development process”

A

Stakeholders

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Name all 7 stakeholders involved in a Software Engineering Project

A
  1. Client
  2. Project Manager
  3. Team Leader
  4. System Architect
  5. Programmer/developer
  6. Tester
  7. End User
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

It is continuously analyzed, evaluated, and updated to meet changes such as updated requirements or specifications

A

Planning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Software Engineering is in essence a form of ___________

A

Problem Solving

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Used to describe the intricacies of software systems in an understandable way

A

Abstraction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Provides a visual representation of the abstraction or a conceptually-based picture of a software system

A

Modeling

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is UML short for

A

Unified Modeling Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Serves as benchmarks that allow the client to evaluate the work being done by the team

A

Milestones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Any artifacts created during the software development process (documentations, files, code, etc.)

A

Deliverables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Essential in large teams, monitors progress and report statuses

A

Communication

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Anything utilized or consumed in a software engineering project

A

Resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

It aims to ensure production of quality software through inclusion of quality assurance mechanisms. It is also the framework for activities, actions, and tasks required to build high-quality software

A

Software Lifescycles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q
  • Linear approach to software Development
  • Sets development phases to be in complete order
  • current phases have to be completed before moving on to the next phase
A

Waterfall Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
  • AKA evolutionary model
  • employs prototyping to test software at various phases
  • retains the use of structure in the waterfall model
  • allows greater flexibility and management of change
A

Spiral Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
  • AKA lean/light model
  • effective response to change
  • Emphasizes rapid delivery or operational software
  • adopts customer as part of the development
A

Agile Model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q
  • popular agile development method
  • consistent principles with agile
  • work conducted within a sprint is adapted to the problem at hand and is defined and modified in real time
A

Scrum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

It is a straightway approach to software engineering

A

Structured Paradigm

22
Q

Is broken into objects that both manage data and carry out operations called objects

A

Object-oriented Paradigm

23
Q

Entities that are composed of behaviors (methods and functions) and attributes

A

Object

24
Q

A method that involves creation of objects and initialization of values

A

Constructors

25
Q

A method that erases or removes the object

A

Deconstructors

26
Q

Focuses on partitioning a program into smaller modules to reduce complexity

A

Modular Programming

27
Q

Originally developed without the intention of future implementation

A

Accidental Reuse

28
Q

Intentionally developed for reuse

A

Opportunistic reuse

29
Q

Hiding the system’s inner workings

A

Information Hiding

30
Q

Process of compartmentalizing the elements of an abstraction that constitute its structure and behavior

A

Encapsulation

31
Q

Provides additional integrity in information hiding

A

Access Levels

32
Q

3 access levels

A

Public, Private, Protected

33
Q

Provides an opportunity for code reuse without having to inherit the attribute of some classes

A

Code delegation

34
Q

Relationship between classes in which one class shares attributes of one or more different classes

A

Inheritance

35
Q

Practice of OOP where different methods of a class share the same name provided

A

Overloading

36
Q

Practice of replacing the method inherited from a superclass with a newly defined method in the sub class

A

Overriding

37
Q

It allows efficient management of complexity by generalization

A

Abstraction

38
Q

An engineering concept concerned with the ability to separate classes and their derived instances to be accessed in the same way

A

Polymorphism

39
Q

Associated with specific functions, tasks, or behaviors of a system

A

Functional Requirements

40
Q

Widespread practice capturing functional requirements for a system

A

Use cases

41
Q

Essentially constraints placed on various attributes of these functions or tasks. Related to emergent system properties such as system performance, security, and others

A

Non-functional Requirements

42
Q

Requires dealing with interpersonal, cultural, and organizational aspects of adopting these methods. Captures intended behavior of a system.

A

Requirements Elicitation

43
Q

Two categories of methods for requirements elicitation

A

Traditional - interviews, questionnaires, observation, etc.

Modern - prototyping, joint application development, rapid application development, etc.

44
Q

A systematic activity of identifying, formalizing, and classifying the knowledge in a problem domain

A

Domain Analysis

45
Q

process of showing the requirements define the system in a fashion that accurately represents what the customer wants

A

Requirements Validation

46
Q

Used to develop early executable versions of requirements model

A

Prototyping

47
Q

Identifies User requirements not addressed by the developer

A

Quality function deployment

48
Q

Where reviewers analyze requirements

A

Requirements review

49
Q

Defines goal-oriented set of interactions between external actors and the system under consideration

A

Use Case Model

50
Q

Relationship between two use cases mean that the sequence described in the included (or sub) use case is included in the sequence base (including) use case

A

Includes

51
Q

Provides a way to capture variand to a use case. Accommodates changes to steps

A

Extends

52
Q

Relationship between cases implies that the child use contains all attributes, sequence behavior, and extensions, defined in the parent and participate in all relationships of the parent use case

A

Generalization