Quiz 1 Flashcards

1
Q

What is software engineering?

A

A collection of techniques, methodologies, and tools that help with the production of a high quality software system developed within a budget meeting a deadline while change occurs

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

What is the goals of software engineering?

A

To produce quality software and/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

Performs precisely as required
Entirely fault-free (reliable)
Maintainable
Offers appropriate user interface
Efficient
Delivered on time
Delivered within budget

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

Why is software development difficult?

A

The application/problem domain is difficult
The solution domain is difficult
The development process is difficult to manage
Software is a discrete system resulting in hidden surprises
Software offers extreme flexibility

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 an engineering discipline?

A

Using appropriate theories and methods to solve problems bearing in mind organizational and financial constraints.

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

What are techniques?

A

Formal procedures for producing results using some well defined notation.

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

What are methodologies?

A

A collection of techniques applied across software development and unified by a philosophical approach

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

What are tools?

A

Instruments or automated systems to accomplish a technique

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

What are the 5 phases in the software engineering life cycle?

A

Evolution->requirement analysis->design->implementation->testing

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

What are the 4 things that all software development processes require?

A

Specification, Design and implementation, validation, evolution

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

What is the difference between a computer scientist and a software engineer?

A

A computer scientist studies, learns and develops underlying theorems, algorithms and languages for computers while software engineers applies these concepts and ideas to create products.

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 and security, 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 and customized products

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

What are the 8 types of systems typically developed?

A

Stand alone systems, interactive transaction based systems, embedded control systems, batch processing systems, entertainment systems, systems for modelling and simulation, data collection systems, systems of system

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

What are stand alone systems?

A

Systems that run on their own, such as pcs

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

What are interactive transaction based systems?

A

Run on a remote computer and are accessed by users from their own local systems

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

What are embedded control systems?

A

Software systems that control and manage hardware devices

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

What are batch processing systems?

A

Business systems that are designed to process data in large batches

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

What are entertainment systems?

A

Systems that are primarily used for personal use.

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

What are systems for modelling and simulation?

A

Systems that are developed by scientists and engineers to model physical process or situations

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

What are data collection systems?

A

Systems that collect data from their environment using a set of sensors and send that data to other systems for processing

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

What are systems of systems

A

Systems that are composed of a number of other software systems

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

What are the three parties in system development?

A

Users (direct/indirect)
Customers/procurer
Producer/developer

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

In reference to users role in software engineering what should systems be?

A

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
26
Q

What is notation?

A

A representation of a model

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

What is a method

A

Repeatable technique for solving a problem

28
Q

What is a methodology?

A

Collection of methods for solving a class of problems

29
Q

What are some of the terms used to refer to the methodology of developing software systems?

A

The software development process or the software process

30
Q

What is requirements engineering?

A

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

31
Q

What is software design?

A

A description of the structure of the software to be implemented, data models, the user interface design, subsystem interface design and possibly the algorithms used

32
Q

What is software verification and validation?

A

Independent procedures that are used together for checking that the software system meets its requirements and specification and that it fulfills its intended purpose

33
Q

What is software evolution?

A

The process of modifying a software product after delivery

34
Q

What are the four types of maintenance?

A

Corrective maintenance, adaptive maintenance, perfective maintenance, preventive maintenance

35
Q

What are the two types of software processes?

A

Plan driven processes, and agile processes

36
Q

What are the 8 software process models?

A

Waterfall model, incremental development, iterative development, agile development, reuse oriented development, prototyping, spiral model, formal transformation

37
Q

What are the 5 stages in the waterfall model?

A

Requirement definition, system and software design, implementation and unit testing, integration and system testing, operation and maintenance

38
Q

What is the main drawback of the waterfall method?

A

Its hard to change after the process is underway

39
Q

When is the waterfall method appropriate?

A

When the requirements are well understood and changes will be fairly limited

40
Q

What are the benefits of incremental development?

A

Changing is cheap, you can get customer feedback on the development work that has been done, rapid delivery and deployment of the useful software to the customer is possible, early increments act as a prototype, low risk of project failure, high priority systems receive alot of tests

41
Q

What are some issues with incremental development?

A

The process is not visible, system structure degrades, when the new system needs to replace an existing system you cannot use an incomplete system with the old system

42
Q

What are two ways of reducing the costs of rework.

A

Change anticipation, and change tolerance

43
Q

What are two ways of coping with changing requirments?

A

System prototyping and incremental delivery

44
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

45
Q

What is iterative development?

A

Its a form of coping with changes that includes the elements of the waterfall model but organizes it into an iterative incremental process

46
Q

What are the 4 phases in the rational unified process?

A

Inception, elaboration, construction and transition

47
Q

What is inception?

A

Establish the business case for the system

48
Q

What is elaboration?

A

Develop an understanding of the problem domain and the system architecture

49
Q

What is construction?

A

System design, programming and testing

50
Q

What is transition?

A

Deploying the system in its operating environment

51
Q

What are the two RUP iterations?

A

In-phase iteration and cross-phase iteration

52
Q

What is Scrum?

A

An agile process that allows us to focus on delivering the highest business value in the shortest time

53
Q

What is a sprint?

A

A period of time in scrum projects where progress is made on the project. The product is designed coded and tested during the sprint

54
Q

Does change occur during a sprint?

A

No

55
Q

What are the 3 parts of the scrum framework?

A

Roles, Ceremonies, and artifacts

56
Q

What are the 3 roles in a scrum?

A

The product owner, the scrumMaster and the team

57
Q

What are the 4 ceremonies in the scrum framework?

A

Sprint planning, sprint review, sprint retrospective, daily scrum meeting

58
Q

What are the 3 parts of the artifacts?

A

The product backlog, the sprint back log and the burndown charts

59
Q

What is the job of the product owner?

A

To define the features of the product, decide on release date, be responsible for the profitability of the product, accept or reject work results

60
Q

What is the job of the scrummaster?

A

To represent management to the project, enacting scrum values and practices, removing impediments, ensuring that the team is fully functional and productive, shield the team from external interferences

61
Q

What occurs during a sprint planning?

A

The teams select items from the product backlog to commit to completing

62
Q

What are the 3 questions to be answered during a sprint meeting?

A

What did you do yesterday?
What will you do today?
Is anything in your way?

63
Q

What is the product backlog?

A

A list of the requirements and all desired work on the project

64
Q

What is the sprint goal?

A

A short statement of what the work will be focused on during the sprint

65
Q

How is the sprint backlog managed?

A

Individuals sign up for work, the remaining work is updated daily, any team member can add/delete/change the sprint back log

66
Q

What is agile development good for?

A

small to medium sized projects and new software development

67
Q

What are some agile methodologies?

A

Extreme programming, dynamic system development method, Kanban and Scrum