Midterm Flashcards

1
Q

What is Software Engineering?

A

Developers of software in a team or solo

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

What are the 3 Main Areas of Software Engineering?

A

Development, maintenance and management

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

What is Software?

A
  • Requirements Specification Document
  • Design Specification Document
  • Programs
  • Test Cases
  • User and Technical Documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are Large Software Systems?

A
  • large number of functions, classes, and lines of code
  • team of developers
  • high cost
  • lifetime measure in years
  • software costs dominate hardware costs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the Science of Building Large Software Systems

A

On time/within budget, correct operations, acceptable performance

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

What was the Software Crisis?

A

Requirements of projects were unclear/unmet, no describing what the software should look like or do, high cost and pressure, and lack of coordination within the team

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

What are the two types of software?

A
  • Generic products: developed for a general market
  • Bespoke (customized): developed for a specific organization/company
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the 6 phases of software life cycle?

A
  • Feasibility Study: should we proceed with the proposed project?
  • Analysis: describe the problem requirements.
  • Design: produce a high quality solution to the problem. (build software architecture and refine to modules)
  • Implementation: implement the solution. (produce source code)
  • Testing: was the problem solved? (assess each quality)
  • Maintenance: fix bugs, enhance features, adapt to new things.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why is Software still Delivered Late?

A
  • Changing requirements not reflected in schedule
  • Underestimation of technical difficulties
  • Unrealistic deadlines
  • Lack of communication among project members
  • Fail to see that the project falls behind schedule
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some Production Activities?

A
  • Analyze problem requirements
  • Decide on high-level software architecture
  • Refine architecture
  • Implement and test programs
  • Write user documentation
  • Release to the customers
  • Provide support and maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are some Management Activities?

A
  • Conduct the software feasibility study
  • Plan and schedule the development tasks
  • Estimate the total cost
  • Coordinate among developers
  • Manage risks (miscalculation or coworker leaving)
  • Track progress of project completion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What were some of Technical/Practical disasters with Software Before?

A
  • Improper code reuse
  • Inadequate testing
  • Over budget
  • Logical problems that is rare and unique.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly