Final Prep Flashcards
(104 cards)
What are the essential attributes of good software?
Acceptability
Dependability
Efficiency
Maintainability
What are the software process activities?
Software Specification
Software Development
Software Validation
Software Evolution
What are general issues that affect software?
Business and social change
Security and trust
Scale
What are three application types?
Stand-alone applications
Interactive transaction-based applications
Embedded control systems
What is ethics?
Behavior with a positive or negative impact on society, its citizens, and environment
What are issues of professional responsibility
Confidentiality
Capability
Intellectual property rights
Computer misuse
What is the Code of Ethics?
A guide of principles designed to help professionals conduct business honestly and with integrity
What is a software process?
a structured set of activities required to develop a software system
What is a software process model?
an abstract representation of the process
What are plan-driven processes?
processes where all of the process activities are planned in advance and progress is measured against this plan
What are agile processes?
processes where planning is incremental and it is easier to change the process to reflect changing customer requirements
What is the waterfall model?
separate and distinct phases of specification and development; plan-driven model
What is the incremental development model?
specification, development, and validation are interleaved; may be plan-driven or agile
What is the integration and configuration model?
the system is assembled from existing configurable components; may be plan-driven or agile
What are some advantages of the waterfall model?
- simple and easy to understand and use
- works well for smaller projects where requirements are very well understood
- well understood milestones
- process and results are well-documented
What are some disadvantages of the waterfall model?
- no working software is produced until late during the life cycle
- it is difficult to measure progress within stages
- cannot accommodate changing requirements
What are benefits of the incremental development model?
- the cost of accommodating changing customer requirements is reduced
- it is easier to get customer feedback on the development work that has been done
- more rapid delivery and deployment of useful software for the customer is possible
What are some problems of the incremental development model?
- the process is not visible
- system structures tend to degrade as new increments are added
What is the integration and configuration model?
based on software reuse where systems are integrated from existing components or application systems
What are some advantages of the integration and configuration model?
- reduced costs and risks as less software is developed from scratch
- faster deployment of delivery system
What are some disadvantages of the integration and configuration model?
- requirement compromises are unavoidable so system may not meet real needs of users
- loss of control over evolution or reused system elements
What is software specification/requirements engineering?
the process of establishing what services are required and the constraints on the system’s operation and development
What is software design and implementation?
the process of converting the system into an executable system
What is software validation?
it is intended to show that the system is following its specification and meets the requirements of the system customer