Other (Week 1,2,3) Flashcards

1
Q

Software Engineering vs Computer Science?

A

Computer Science
- Focuses on understanding, designing, and developing programs and computers.

Software Engineering
- Building and maintaining software systems. From idea to final product

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

Tar pit?

A

Large system programming, many great and powerful beasts have thrashed violently in it.

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

Schedule Oriented Practices?

A

Speed-Oriented Practices
Schedule-Risk Oriented Practices
Visibility-Oriented Practices

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

Best Possible Schedule?

A
  1. Avoid Classic Mistakes
  2. Apply Development Fundamentals
  3. Manage Risks to Avoid Setbacks
  4. Apply Schedule Oriented Practices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

5 Principles of Software Staffing?

A
Top Talent
Career Progression
Misfit Elimination
Job Matching
Team Balance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

People Related Mistakes?

A
Undermined Motivation
Weak Personnel
Uncontrolled Problem Employees
Adding People to Late project
Unrealistic expectations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Process Related Mistakes?

A

Overly optimistic schedules
Contractor Failure
Insufficient Risk Management
Insufficient Planning

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

Management Fundamentals consist of?

A

Size of product (functionality)
Complexity,
Other product characteristics
Resource Management

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

3 Basic steps to create a software schedule?

A

Estimate the size of the project
Estimate effort needed
Estimate schedule based on the estimate

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

Fundamental topics in architecture and design?

A
Major Design Styles (object design, structured design, data structure design)
Foundational Design Concepts (information hiding, modularity, abstraction, encapsulation, basic data structures)
Standard Design Approaches (exception handling, internationalization, portability, i/o, memory management, data storage)
Design Considerations (financial applications, scientific applications)
Architectural Schemes (subsystem organization, logging)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Construction Fundamentals?

A

Coding Practices (variable naming, layout, documentation)
Data-related concepts (including scope, persistence, and binding time)
Control-related concepts (using conditionals, controlling loops)
Assertions and other code-centered error detection practices
Rules for packaging code into routines, modules, classes and files
Unit testing and debugging practices

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

Software Configuration Management?

A

Is the practice of managing project artifacts so that the project stays in consistent state over time.

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

SCM Practices?

A

Evaluating proposed changes,
Tracking changes,
Handling multiple versions

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

Agile Points (Class)

A
  1. You have to know when to say no
  2. Communication, frequency, transparency
  3. Process is adaptive, incrementally refined
  4. Continuous tradeoff
  5. Highly iterative
  6. Customer has to be involved
How well did you know this?
1
Not at all
2
3
4
5
Perfectly