Quiz 2 Flashcards

(64 cards)

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
Waterfall Process
- Requirements, Design, Implementation, Testing, Maintenance - Feedback loop between adjacent phases
26
Advantages of the Waterfall Process
- Simple - Older - Easy to manage - Facilitates allocation of resources - Works well for smaller projects with easily understood requirements
27
Disadvantages of the Waterfall Process
- Requirements must be known up front - Hard to estimate reliability - No continuous feedback - Lack of parallelism - Inefficient use of resources
28
Iterative Process
Develop pieces at different times and integrate them together, creating self-contained mini projects in each iteration
29
Release Types
- Proof of concept/feasibility study - Prototype - Internal Release - External Release
30
Internal Release
Used to ensure development is on track
31
External Release
Shipped to customers for validation
32
Synch-and-Stabilize Process (Cusumano & Shelby)
- 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
Prototyping
- GUIs - Unknown factors or risks can be confronted as soon as possible to assess severity - Proceeds in parallel with main thread of development
34
Feasibility Studies
Partial implementations or simulations
35
Spiral Model (Barry Boehm)
- 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
Spiral Model Iteration
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
Spiral Model Advantages
- Risk management - Software evolves - Planning is built into the process
38
Spiral Model Disadvantages
- Complicated - May be overkill for some projects with minimal risks
39
Unified Process (Jacobson, Booth, Rumbaugh)
- Use case driven - Architecture centric - Iterative and incremental
40
UP Phases
Inception, Elaboration, Construction, Transition
41
UP Disciplines
- Business Modeling - Requirements - Analysis and Design - Implementation testing - Deployment - Configuration and change management - Project management - Environment
42
UP Inception
- Feasibility - Establish vision and scope - Assess risk and build prototypes
43
UP Elaboration
- Specify requirements - Implement core architecture - Resolve high risk items
44
UP Construction
- Complete remaining requirements - Iteratively implement remaining design - Thoroughly test and prepare for deployment
45
UP Transition
- Conduct beta tests and correct defects - Create user manuals
46
UP Advantages
- More aspects of the project are accounted for - The UP is mature
47
UP Disadvantages
- Designed for larger projects - May be overkill for smaller projects
48
Manifesto for Agile Software Development
- 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
Agile Manifesto values
- 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
Agile Software Manifesto Advantages
- Demonstrable results - Better requirements through evolving product
51
Agile Software Manifesto Disadvantages
- Problematic for large applications - Documentation is questionable
52
Reasons to go Open Source
- Damage competing products - Academic and research - Free work with high motivation
53
Reasons not to go Open Source
- Poor documentation - No management control - Visibility to competitors
54
During SCRUM the following questions need to be answered
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
A SCRUM master is appointed and responsible for conducting the daily SCRUM as well as
Measuring progress and clearing obstacles
56
Refactoring
Altering the form of the code base while retaining the same functionality
57
A teams’ velocity is the assessment of
The relative difficulty of stories and the rate at which it is able to implement them
58
Extreme Programming (XP)
- Test-driven development - Refactoring - Continuous integration - Pair programming - Communication, simplicity, feedback, courage
59
Agile principles
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
Agile Modeling
Models support understanding and communication, not documentation
61
Crystal Methodology (Cockburn)
- Safety in the project outcome - Efficiency in development - Habitability of the conventions
62
CIA
Confidentiality, Integrity, and Authentication
63
Nonrepudiation
Prove the existence of agreements
64
Authorization
Specify who has access to what