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
What are some issue with incremental development?
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
26
What is the two ways to reduce the cost of change?
Change anticipation and Change tolerance
27
What is change anticipation?
Anticipate possible changes before you need to make significant reworks
28
What is change tolerance?
Making the system easy to change at a low cost
29
What are two ways of coping with change?
System prototyping and incremental delivery
30
What is a prototype?
An initial version of a system used to demonstrate concepts and try out design options
31
What are some benefits of prototyping?
Improved system usability Closer match to users' real needs Improved design quality Improved maintainability reduced development effort
32
What are the stages of the RUP
Inception, Elaboration, Construction, Transition
33
What are the two iterations of the RUP?
In-phase iteration, Cross phase iteration
34
What is reuse-oriented development?
Systems are integrated from existing components or application systems
35
What are the key stages of reuse oriented systems?
Requirements specification Software discovery and evaluation Requirement refinement Application system configuration Component Adaptation and intergration
36
What are the advantages of reuse oriented systems?
Reduced costs and risks, faster delivery and deployment of system
37
What are the disadvantages of reuse oriented systems?
Requirement compromises are going to occur Loss of control over evolution of reused system elements
38
What are the three parts of the SCRUM framework?
Roles, Ceremonies and Artifacts
39
What are the three roles in the SCRUM framework?
The Product owner The ScrumMaster The Team
40
What is does the Product Owner do in a SCRUM?
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
41
What does the ScrumMaster do in a SCRUM?
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
42
What does the Team do in a SCRUM?
Create the product during the spring
43
What are the 4 ceremonies in a SCRUM framework?
Sprint Planning Sprint Review Sprint Retrospective Daily Scrum Meeting
44
What is done during the Sprint Planning Ceremony?
Team select items from the product backlog Create the sprint backlog Consider high level design
45
What is done during the Spring Review?
Team presents what was accomplished during the spring Informal, typically a demo
46
What is done during the Sprint Retrospective?
Take a look at what is working and what is not working around 15-30 minutes, done after every sprint
47
What is done during the Daily Scrum meeings?
Discuss what was done yesterday, what will be done today, is there anything in ones way
48
What are the 3 artifacts in a SCRUM framework?
Product backlog Spring backlog Burndown charts
49
What is the product backlog?
A list of all desired work on the project
50
What is the sprint backlog?
A short statement on what will be done during a sprint
51
What is the burndown charts?
A chart of the amount of hours left in development
52
What are the 4 parts of requirements engineering?
Elicitation, Analysis, Specification, Validation
53
What is Elicitation?
Working with the customer on gathering requirements
54
What is Analysis?
Processing information to understand it, classifying in various categories and relating the customer needs to possible software requirements
55
What is specification?
Structuring the customer input and derived requirements as written documents and diagrams
56
What is validation?
Asking customers to confirm that what you've written is accurate and completing it to correct errors
57
What are the techniques to elicit requirments?
Interviews, Questionnaires, Task Analysis, User Stories, Scenarios, Use Cases
58
What are User Stories?
Short simple description of a feature told from the perspective of the person who desires the new capability
59
What are the three C's of user stories?
Card, Conversation, Confirmation
60
What is Acceptance Criteria?
The detail required to know when a ticket meets its definition of done
61
What is a Scenario?
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
What are the types of Scenarios?
As-is scenario Visionary scenario Evaluation scenario Training scenario
63
What is a As-is scenario?
Describes a current situation
64
What is a Visionary scenario?
Describes a future system
65
What is a Evaluation scenario?
Description of a user task against which the system is to be evaluated
66
What is a Training scenario?
A description of the step by step instructions that guide a novice user through a system
67
Requirement specification uses what in comparison to the analysis model which uses what?
Natural Language Formal or Semi-formal Notation
68
What are the parts of a use case?
Participating actors Entry condition Flow of events Exit Condition Exceptions Nonfunctional Requirements
69
What is a use case?
A definition of a goal oriented set of interactions between external actors and the system under consideration
70
What is an actor?
A party outside the system that interacts with the system
71
How does a scenario relates to a use case?
It is an instance of a use case, it represents a single path
72
What are the two types of actors in a use case?
A primary actor A secondary actor
73
What do use case associations represent?
Dependencies between use cases
74
What are the three types of use case associations?
Includes Extends Generalization
75
What does the includes relationship represent?
It represents functional behavior common to more than one use case
76
What does the extends relationship represent?
A seldom invoked use case fragment or exceptional functionality
77
When should the include statement be used?
When you need to break a big problem statement to a smaller one
78
What does the extend relationship model?
Exceptional or seldom invoked cases
79
What are the three types of events that can occur within a system?
An External Event A Temporal Event A State/Internal Event
80
What is an External Event?
An event that occurs outside the system, usually initiated by an external agent or actor
81
What is a Temporal Event?
An event that occurs as a result of reaching a point in time
82
What is a State/Internal Event?
An event that occurs when something happens inside the system that triggers a process
83
What is the Automation boundary?
The boundary between the computerized portion of the application and the users who operate the application.
84
What is a requirement?
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
What are the three types of requirements?
Functional requirements Nonfunctional requirements Constraints/Pseudo requirements
86
What are Functional requirements?
Interactions between the system and its environment independent from the implementation
87
What are Nonfunctional requirements?
Aspects not directly related to functional behavior
88
What are Pseudo requirements?
Constraints imposed by the client or environment
89
What are some types of nonfunctional requirements?
Usability Robustness Safety Security Performance Adaptability Maintainability Modifiability
90
What are the different types of requirement elicitation?
Greenfield Engineering Re-engineering Interface Engineering
91
What is Greenfield Engineering?
Dev starts from scratch, no prior system exists
92
What is Re-engineering?
Re-design and/or re-implementation of an existing system using newer technology
93
What is Interface Engineering?
Provision of existing services in a new enviroment
94
What is a Class Diagram?
A static structure representing possible classes and relationships among them
95
What is an Object Diagram?
A structure including objects and links
96
What is a workflow?
Sequence of processing steps that completely handles one business transaction or customer request
97
What is an Activity Diagram?
A diagram that describes user activities, who does each activity, and the sequential flow of these activities
98
What does an asterisk represent in a system sequence diagram?
Repeating or looping of the message
99
What do brackets indicate in a system sequence diagram?
A true/false condition
100
What are the three parts of a class diagram?
ClassName, Attributes, Operations
101
What are the three kinds of relationships in UMLs?
Dependencies, associations, generalizations
102
What is a dependency in UML?
A semantic relationship between two or more elements
103
What are the different types of objects modeled in UML?
Entity Objects Boundary Objects Control Objects
104
What are entity objects?
They are objects that represent the persistent information tracked by the system
105
What are boundary objects?
The represent the interaction between the user and the system
106
What are control objects?
They are objects that represent the control tasks performed by the system
107
What is a package?
A container like element for organizing other elements into groups
108
What is a database
Collection of persistent data
109
What is a database management system?
a software system that supports creation, population, querying and administering of a database
110
In the example Student (sid, name, login, age, gpa) What is the table name and attributes?
The table name is Student The attributes are sid, name, login, age, gpa
111
What is a tuple?
A tuple is related values, it is also a row in a table
112
What is a primary key?
The minimal subset of fields that uniquely identifies a tuple
113
What is a candidate key?
A candidate key is a key that could be used as a primary key
114
If a candidate key contains more than one attribute what is another word that could be used for it?
A composite key
115
What is a key that relates to a related tuple in another table?
A foreign key
116
What do foreign keys reference in the other table?
The primary key in the other table
117
In a many to many relationship what will you need?
Another table that stores both primary keys of the tables involved
118
What are the basic operators of relational algebra?
Selection Projection Union Cross Product Difference
119
What does selection do?
It takes a row from a table that fits the criteria
120
What does Projection do?
It takes a column from a table that fits the criteria
121
What does Joins do?
It combines the information from two or more tables