Software Engineering Flashcards
Software engineering
Engineering discipline concerned with all aspects of software production
Software
All electronic documentation that is needed by system users, quality assurance staff, and developers; one or more programs
Essential software product attributes
Maintainability
dependability and security
efficiency
acceptability
Software process
Includes all of the activities involved in software development
(Includes high-level activities such as: specification, development, validation, evolution)
Fundamental ideas of software engineering
Managed software processes
software dependability and security
Requirements engineering
Software reuse
Software engineers have responsibilities to ____________________?
The engineering profession and society
Software process models
abstract representations of these processes
General process models
Describe organization of software processes
Name the general process model types
Waterfall
Incremental development
Reusable component configuration and integration
Requirements engineering (specification)
The process of developing a software specification
What is the purpose of specifications?
To communicate the system needs of the customer to the system developers
What does the design and implementation processes do?
Concerned with transforming a requirements specification into an executable software system
Software validation
The process of checking that the system conforms to its specification and that it meets the real needs of the users
Software evolution
Takes place when you change existing software systems to meet new requirements
- changes are continuous
- software must evolve to remain useful
What activités help cope with change?
- Prototyping phase (avoids poor requirements/design decisions)
- iterative development/delivery (changes may be made without disrupting the system as a whole)