Quiz 2 Flashcards

1
Q

Software Engineering IEE Definition

A

Application of a systemic, quantifiable approach to the development, operation, and maintenance of software

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

People

A

Products Stakeholders

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

Project

A

Activities carried out to create the product

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

Product

A

Software and associated documents

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

Process

A

Framework used to carry out the project

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

Stakeholders

A

Business management, project management, development team, customers, and end users

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

Project Documentation

A

Documents associated with the project

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

Code

A

Source code and object code

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

Test Documents

A

Plans, Cases, Results

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

Customer Documents

A

How to operate products

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

Every project includes:

A

Inception, Planning, Requirements Analysis, Design, Implementation, Testing, and Maintenance

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

Waterfall Process

A

Inception, Requirements, Design, Implementation, Testing, Maintenance

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

Principles of Agile Processes

A

1) Make quality #1
2) High-quality software is possible
3) Give products to customers early
4) Use an appropriate software process
5) Minimize intellectual distance
6) Inspect code
7) People are the key to success

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

Ethics Principles:

A

1) Public - act with public interest
2) Client and Employer - act with interests of client and employer
3) Product - ensure products meet highest standards
4) Judgement - maintain integrity in professional judgement
5) Management - ethical approach to managing software
6) Profession - advance integrity and reputation
7) Colleagues - be fair
8) Self - lifelong learning

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

What is a Software process

A

The interrelationship among the phases expressed by their order, frequency, and deliverables

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

Umbrella Activities

A

Risk Management, project management, configuration management, quality management

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

What are prototypes for?

A

To implement risky functionality

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

Inception

A
  • Major functionality and project scope determined
  • Target customers
  • High-level feedback
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Planning

A
  • HL activities, work items, schedule, resources
  • Cost estimate, feasibility determined
  • Software Project Management Plan (SPMP)
  • Configuration Management (Tracking changes to artifacts and version management)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Requirements Analysis

A
  • Specific functions and features
  • Performance requirements
  • Software Requirements Specification (SRS)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Design

A
  • Software architecture (Blueprints for modules and interactions)
  • Detailed design (interface and database design)
  • Software Design Document (SDD)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Implementation

A
  • Translation of design
  • Integration and assembly of software parts
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Testing

A
  • Unit testing, interface testing, system/requirements testing
  • QA performs validation
  • Beta Testing
  • Acceptance testing (Does product meet release criteria?)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Maintenance

A
  • Repair of defects
  • Enhancements
  • Improving performance/reliability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Waterfall Process

A
  • Requirements, Design, Implementation, Testing, Maintenance
  • Feedback loop between adjacent phases
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Advantages of the Waterfall Process

A
  • Simple
  • Older
  • Easy to manage
  • Facilitates allocation of resources
  • Works well for smaller projects with easily understood requirements
27
Q

Disadvantages of the Waterfall Process

A
  • Requirements must be known up front
  • Hard to estimate reliability
  • No continuous feedback
  • Lack of parallelism
  • Inefficient use of resources
28
Q

Iterative Process

A

Develop pieces at different times and integrate them together, creating self-contained mini projects in each iteration

29
Q

Release Types

A
  • Proof of concept/feasibility study
  • Prototype
  • Internal Release
  • External Release
30
Q

Internal Release

A

Used to ensure development is on track

31
Q

External Release

A

Shipped to customers for validation

32
Q

Synch-and-Stabilize Process (Cusumano & Shelby)

A
  • HL features initially developed
  • Product divided into parts with small teams
  • Iterations with milestones
  • Incremental synchronization occurs when teams combine their work and stabilize the resulting system weekly
33
Q

Prototyping

A
  • GUIs
  • Unknown factors or risks can be confronted as soon as possible to assess severity
  • Proceeds in parallel with main thread of development
34
Q

Feasibility Studies

A

Partial implementations or simulations

35
Q

Spiral Model (Barry Boehm)

A
  • Risk-driven process
  • Each cycle increases system definition and implementation while decreasing risk
  • After major risks are dealt with it transitions to a waterfall model
36
Q

Spiral Model Iteration

A

1) Identify objects and constraints
2) Evaluate process to achieve objectives
3) Identify risks
4) Analysis, emulation, benchmarks, models, prototypes
5) Development of deliverables
6) Project plan is updated
7) Stakeholder review of deliverables

37
Q

Spiral Model Advantages

A
  • Risk management
  • Software evolves
  • Planning is built into the process
38
Q

Spiral Model Disadvantages

A
  • Complicated
  • May be overkill for some projects with minimal risks
39
Q

Unified Process (Jacobson, Booth, Rumbaugh)

A
  • Use case driven
  • Architecture centric
  • Iterative and incremental
40
Q

UP Phases

A

Inception, Elaboration, Construction, Transition

41
Q

UP Disciplines

A
  • Business Modeling
  • Requirements
  • Analysis and Design
  • Implementation testing
  • Deployment
  • Configuration and change management
  • Project management
  • Environment
42
Q

UP Inception

A
  • Feasibility
  • Establish vision and scope
  • Assess risk and build prototypes
43
Q

UP Elaboration

A
  • Specify requirements
  • Implement core architecture
  • Resolve high risk items
44
Q

UP Construction

A
  • Complete remaining requirements
  • Iteratively implement remaining design
  • Thoroughly test and prepare for deployment
45
Q

UP Transition

A
  • Conduct beta tests and correct defects
  • Create user manuals
46
Q

UP Advantages

A
  • More aspects of the project are accounted for
  • The UP is mature
47
Q

UP Disadvantages

A
  • Designed for larger projects
  • May be overkill for smaller projects
48
Q

Manifesto for Agile Software Development

A
  • Small close-knit teams
  • Code-centric approach
  • Customer reps work within the team
  • User stories for basic requirements
  • Refactoring
  • Pair programming
  • Continual unit testing
49
Q

Agile Manifesto values

A
  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
50
Q

Agile Software Manifesto Advantages

A
  • Demonstrable results
  • Better requirements through evolving product
51
Q

Agile Software Manifesto Disadvantages

A
  • Problematic for large applications
  • Documentation is questionable
52
Q

Reasons to go Open Source

A
  • Damage competing products
  • Academic and research
  • Free work with high motivation
53
Q

Reasons not to go Open Source

A
  • Poor documentation
  • No management control
  • Visibility to competitors
54
Q

During SCRUM the following questions need to be answered

A

1) What items have been completed since last meeting?
2) What issues have been discovered that need to be resolved?
3) What new assignments make sense for the team to complete until the next scrum meeting?

55
Q

A SCRUM master is appointed and responsible for conducting the daily SCRUM as well as

A

Measuring progress and clearing obstacles

56
Q

Refactoring

A

Altering the form of the code base while retaining the same functionality

57
Q

A teams’ velocity is the assessment of

A

The relative difficulty of stories and the rate at which it is able to implement them

58
Q

Extreme Programming (XP)

A
  • Test-driven development
  • Refactoring
  • Continuous integration
  • Pair programming
  • Communication, simplicity, feedback, courage
59
Q

Agile principles

A

1) Satisfy customer
2) Changing requirements
3) Deliver working software
4) Business and devs work together
5) Motivated individuals
6) Face-to-face conversation
7) Working software is the primary measure of progress
8) Agile is sustainable
9) Constant pace
10) Technical excellence and good design
11) Simplicity
12) Self-organizing teams
13) Reflection

60
Q

Agile Modeling

A

Models support understanding and communication, not documentation

61
Q

Crystal Methodology (Cockburn)

A
  • Safety in the project outcome
  • Efficiency in development
  • Habitability of the conventions
62
Q

CIA

A

Confidentiality, Integrity, and Authentication

63
Q

Nonrepudiation

A

Prove the existence of agreements

64
Q

Authorization

A

Specify who has access to what