Midterm 1 Flashcards

1
Q

When was the term Software Engineering introduced?

A

The late 60s

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

What are the goals of software Engineering?

A

To produce quality software or well engineered software

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

What are some characteristics of quality software?

A

Peforms precisely as required, reliable, maintainable, good UI, efficient, delivered on time, delivered within budget

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

What are some reasons for the difficulty of software development?

A

The problem domain and solution domain is difficult.
The development process is difficult

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

What are the 4 facets of Software Engineering?

A

Problem solving
Modeling
Knowledge Acquisition
Rationale Management

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

What is software engineering?

A

A systematic approach to develop software within a specified time and budget

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

What are the stages of the software engineering life cycle?

A

Requirement Analysis
Design
Implementation
Testing
Evolution

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

What is specification (requirement analysis)?

A

The process of understanding and defining what services are required and identifying the constraints on these services

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

What is Design?

A

A description of the structure of the software to be implemented

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

What is Implementation

A

The process of converting a system specification and design into an executable system

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

What is validation?

A

Checking that the software system meets its requirements and specifications and that it fulfills its intended purpose

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

What is Evolution?

A

The process of modifying a software product after delivery

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

What are the 4 essential attributes of good software?

A

Maintainability
Dependability
Efficiency
Acceptability

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

What are the two types of software products?

A

Generic Products
Customized Products

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

What are the three parties involved in system development?

A

Users
Customers
Producers

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

How should systems take into account users?

A

Systems should be specified based on user needs
Validated whether it really functions according to user needs
Documented by describing the system from the user’s perspective

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

What is the Software Development Process or Software Process?

A

A structured set of activities required to develop a software system

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

What do all software processes involve?

A

Specification, Design and Implementation, Validation, Evolution.

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

What are the two types of software processes?

A

Plan-driven processes
Agile Processes

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

What are plan driven processes?

A

All the process activities are planned in advance and progress is measured against this plan

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

What are agile processes

A

Planning is incremental and iterative, and it is easier to change the process to reflect changing customer requirements

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

What is the main draw of the waterfall method?

A

It is hard to change after the process is underway

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

When should the waterfall method be used?

A

When the requirements are well understood and changes will be limited

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

What are the benefits of incremental development?

A

Changing is cheap
You can get customer feedback easier
More rapid delivery of a working product to the customer is possible
Early increments act as a prototype to help elicit requirements for later increments
Low risk of project failure
Highest priority system services can be tested more

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

What are some issue with incremental development?

A

The process is not visible
System structure tends to degrade
When the system is supposed to replace an already working system it is impractical to use a non complete system to replace the complete system even temporarly

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

What is the two ways to reduce the cost of change?

A

Change anticipation and Change tolerance

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

What is change anticipation?

A

Anticipate possible changes before you need to make significant reworks

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

What is change tolerance?

A

Making the system easy to change at a low cost

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

What are two ways of coping with change?

A

System prototyping and incremental delivery

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

What is a prototype?

A

An initial version of a system used to demonstrate concepts and try out design options

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

What are some benefits of prototyping?

A

Improved system usability
Closer match to users’ real needs
Improved design quality
Improved maintainability
reduced development effort

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

What are the stages of the RUP

A

Inception, Elaboration, Construction, Transition

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

What are the two iterations of the RUP?

A

In-phase iteration, Cross phase iteration

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

What is reuse-oriented development?

A

Systems are integrated from existing components or application systems

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

What are the key stages of reuse oriented systems?

A

Requirements specification
Software discovery and evaluation
Requirement refinement
Application system configuration
Component Adaptation and intergration

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

What are the advantages of reuse oriented systems?

A

Reduced costs and risks, faster delivery and deployment of system

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

What are the disadvantages of reuse oriented systems?

A

Requirement compromises are going to occur
Loss of control over evolution of reused system elements

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

What are the three parts of the SCRUM framework?

A

Roles, Ceremonies and Artifacts

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

What are the three roles in the SCRUM framework?

A

The Product owner
The ScrumMaster
The Team

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

What is does the Product Owner do in a SCRUM?

A

Define the features of the product
Decide on the release date and content
Be responsible for the profitability of the product
Prioritize features according to market value
Adjust features and priority every iteration
Accept or reject work results

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

What does the ScrumMaster do in a SCRUM?

A

Represent management to the project
Enact Scrum values and practices
Removes impediments
Ensure that the team is fully functional and productive
Enable close cooperation across all roles and functions
Shield the team from external interferences

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

What does the Team do in a SCRUM?

A

Create the product during the spring

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

What are the 4 ceremonies in a SCRUM framework?

A

Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrum Meeting

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

What is done during the Sprint Planning Ceremony?

A

Team select items from the product backlog
Create the sprint backlog
Consider high level design

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

What is done during the Spring Review?

A

Team presents what was accomplished during the spring
Informal, typically a demo

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

What is done during the Sprint Retrospective?

A

Take a look at what is working and what is not working around 15-30 minutes, done after every sprint

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

What is done during the Daily Scrum meeings?

A

Discuss what was done yesterday, what will be done today, is there anything in ones way

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

What are the 3 artifacts in a SCRUM framework?

A

Product backlog
Spring backlog
Burndown charts

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

What is the product backlog?

A

A list of all desired work on the project

50
Q

What is the sprint backlog?

A

A short statement on what will be done during a sprint

51
Q

What is the burndown charts?

A

A chart of the amount of hours left in development

52
Q

What are the 4 parts of requirements engineering?

A

Elicitation, Analysis, Specification, Validation

53
Q

What is Elicitation?

A

Working with the customer on gathering requirements

54
Q

What is Analysis?

A

Processing information to understand it, classifying in various categories and relating the customer needs to possible software requirements

55
Q

What is specification?

A

Structuring the customer input and derived requirements as written documents and diagrams

56
Q

What is validation?

A

Asking customers to confirm that what you’ve written is accurate and completing it to correct errors

57
Q

What are the techniques to elicit requirments?

A

Interviews, Questionnaires, Task Analysis, User Stories, Scenarios, Use Cases

58
Q

What are User Stories?

A

Short simple description of a feature told from the perspective of the person who desires the new capability

59
Q

What are the three C’s of user stories?

A

Card, Conversation, Confirmation

60
Q

What is Acceptance Criteria?

A

The detail required to know when a ticket meets its definition of done

61
Q

What is a Scenario?

A

A synthetic description of an event or series of actions and events
Typically a concrete focused, informal description of a single feature of the system used by a single actor

62
Q

What are the types of Scenarios?

A

As-is scenario
Visionary scenario
Evaluation scenario
Training scenario

63
Q

What is a As-is scenario?

A

Describes a current situation

64
Q

What is a Visionary scenario?

A

Describes a future system

65
Q

What is a Evaluation scenario?

A

Description of a user task against which the system is to be evaluated

66
Q

What is a Training scenario?

A

A description of the step by step instructions that guide a novice user through a system

67
Q

Requirement specification uses what in comparison to the analysis model which uses what?

A

Natural Language
Formal or Semi-formal Notation

68
Q

What are the parts of a use case?

A

Participating actors
Entry condition
Flow of events
Exit Condition
Exceptions
Nonfunctional Requirements

69
Q

What is a use case?

A

A definition of a goal oriented set of interactions between external actors and the system under consideration

70
Q

What is an actor?

A

A party outside the system that interacts with the system

71
Q

How does a scenario relates to a use case?

A

It is an instance of a use case, it represents a single path

72
Q

What are the two types of actors in a use case?

A

A primary actor
A secondary actor

73
Q

What do use case associations represent?

A

Dependencies between use cases

74
Q

What are the three types of use case associations?

A

Includes
Extends
Generalization

75
Q

What does the includes relationship represent?

A

It represents functional behavior common to more than one use case

76
Q

What does the extends relationship represent?

A

A seldom invoked use case fragment or exceptional functionality

77
Q

When should the include statement be used?

A

When you need to break a big problem statement to a smaller one

78
Q

What does the extend relationship model?

A

Exceptional or seldom invoked cases

79
Q

What are the three types of events that can occur within a system?

A

An External Event
A Temporal Event
A State/Internal Event

80
Q

What is an External Event?

A

An event that occurs outside the system, usually initiated by an external agent or actor

81
Q

What is a Temporal Event?

A

An event that occurs as a result of reaching a point in time

82
Q

What is a State/Internal Event?

A

An event that occurs when something happens inside the system that triggers a process

83
Q

What is the Automation boundary?

A

The boundary between the computerized portion of the application and the users who operate the application.

84
Q

What is a requirement?

A

A statement of what a system must do
A known limitation or constraint on resources or design or
how well the system must do what it does

85
Q

What are the three types of requirements?

A

Functional requirements
Nonfunctional requirements
Constraints/Pseudo requirements

86
Q

What are Functional requirements?

A

Interactions between the system and its environment independent from the implementation

87
Q

What are Nonfunctional requirements?

A

Aspects not directly related to functional behavior

88
Q

What are Pseudo requirements?

A

Constraints imposed by the client or environment

89
Q

What are some types of nonfunctional requirements?

A

Usability
Robustness
Safety
Security
Performance
Adaptability
Maintainability
Modifiability

90
Q

What are the different types of requirement elicitation?

A

Greenfield Engineering
Re-engineering
Interface Engineering

91
Q

What is Greenfield Engineering?

A

Dev starts from scratch, no prior system exists

92
Q

What is Re-engineering?

A

Re-design and/or re-implementation of an existing system using newer technology

93
Q

What is Interface Engineering?

A

Provision of existing services in a new enviroment

94
Q

What is a Class Diagram?

A

A static structure representing possible classes and relationships among them

95
Q

What is an Object Diagram?

A

A structure including objects and links

96
Q

What is a workflow?

A

Sequence of processing steps that completely handles one business transaction or customer request

97
Q

What is an Activity Diagram?

A

A diagram that describes user activities, who does each activity, and the sequential flow of these activities

98
Q

What does an asterisk represent in a system sequence diagram?

A

Repeating or looping of the message

99
Q

What do brackets indicate in a system sequence diagram?

A

A true/false condition

100
Q

What are the three parts of a class diagram?

A

ClassName, Attributes, Operations

101
Q

What are the three kinds of relationships in UMLs?

A

Dependencies, associations, generalizations

102
Q

What is a dependency in UML?

A

A semantic relationship between two or more elements

103
Q

What are the different types of objects modeled in UML?

A

Entity Objects
Boundary Objects
Control Objects

104
Q

What are entity objects?

A

They are objects that represent the persistent information tracked by the system

105
Q

What are boundary objects?

A

The represent the interaction between the user and the system

106
Q

What are control objects?

A

They are objects that represent the control tasks performed by the system

107
Q

What is a package?

A

A container like element for organizing other elements into groups

108
Q

What is a database

A

Collection of persistent data

109
Q

What is a database management system?

A

a software system that supports creation, population, querying and administering of a database

110
Q

In the example
Student (sid, name, login, age, gpa)
What is the table name and attributes?

A

The table name is Student
The attributes are sid, name, login, age, gpa

111
Q

What is a tuple?

A

A tuple is related values, it is also a row in a table

112
Q

What is a primary key?

A

The minimal subset of fields that uniquely identifies a tuple

113
Q

What is a candidate key?

A

A candidate key is a key that could be used as a primary key

114
Q

If a candidate key contains more than one attribute what is another word that could be used for it?

A

A composite key

115
Q

What is a key that relates to a related tuple in another table?

A

A foreign key

116
Q

What do foreign keys reference in the other table?

A

The primary key in the other table

117
Q

In a many to many relationship what will you need?

A

Another table that stores both primary keys of the tables involved

118
Q

What are the basic operators of relational algebra?

A

Selection
Projection
Union
Cross Product
Difference

119
Q

What does selection do?

A

It takes a row from a table that fits the criteria

120
Q

What does Projection do?

A

It takes a column from a table that fits the criteria

121
Q

What does Joins do?

A

It combines the information from two or more tables