Quality, Process, Methods, and Tools
Software engineering is a layered technology. Most engineering approaches (including software engineering) must rest on an organizational commitment to quality. The bedrock that supports software engineering is a "quality focus" layer.
- Quality: A product should meet its specification. This is problematical for software systems. There is a tension between customer quality requirements (efficiency, reliability, etc.), developer quality requirements (maintainability, reusability, etc.), users (usability, efficiency, etc.), and etc. But note:
- Some quality requirements are difficult to specify in an unambiguous way.
- Software specifications are usually incomplete and often inconsistent.
- Process: The foundation for software engineering is the process‘ layer. Software engineering process is the glue that holds the technology together and enables rational and timely development of computer software. The work products are produced, milestones are established, quality is ensured, and changes are properly managed.
- Methods: Software engineering methods provides the technical how-to‘s for building software. Methods encompass a broad array of tasks that include the requirements analysis, design, program construction, testing, and support.
- Tools: Software engineering tools provide automated or semi-automated supports for the process and the methods. When the tools are integrated so that the information created by one tool can be used by another, a system for the support of software development, called computer-aided software engineering (CASE). CASE combine software, hardware, and software engineering database.
No comments:
Post a Comment