Lecture 2: Software and Software Engineering Flashcards
What is software?
Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system
What are some traits of software?
Intangible: Hard to understand the development effort required.
Reproducible: Cost is in development
Labor-Intensive: Difficult to automate
Does not ‘wear out’: Deteriorates by having its design changed
What are some types of software?
Applications: Business, CAD, databases, spreadsheets, video games, compilers, etc.
System: OS, device drivers, etc.
Embedded: Firmware and microcode
Real time: Control and monitoring, often safety critical
What are some types of software development?
Custom: For a customer
Generic: Sold on open market
Embedded: Tied closely to hardware
What is software engineering?
IEEE: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance of software; that is, the application of engineering to software. (2) the study of approaches as in (1)
What is the goal of software engineering?
To solve problems within cost, time, customer, and others
How do engineers approach development?
An engineering process involves applying well-understood, standardized techniques in an organized and disciplined way. Most development is evolutionary.
What are some ways in which software engineering differs from other disciplines?
Foundations in CS, not natural sciences
Focus on discrete rather than continuous mathematics
Focus on abstract entities instead of physical artifacts
No ‘manufacturing’ phase
‘Maintenance’ refers to continued development, or evolution, not wear and tear
What are some ways in which software engineering is similar to other disciplines?
Series of decisions and trade-off analysis conducted
Work quantitatively, calibrate measurements and use approximations based on experience and data
Emphasize a disciplined process, operate effectively as a team
Use tools to apply processes systematically
Advance the field through professional societies