软件工程 |软件工程概论
软件是包含提供所需功能的指令的程序或程序集。工程是设计和构建服务于特定目的并找到具有成本效益的问题解决方案的过程。
Software Engineering is a systematic, disciplined, quantifiable study and approach to the design, development, operation, and maintenance of a software system.
软件的双重作用:
1. 作为产品——
- 它提供了跨硬件网络的计算潜力。
- 它使硬件能够提供预期的功能。
- 它充当信息转换器,因为它产生、管理、获取、修改、显示或传输信息。
2. 作为交付产品的工具——
- 它提供系统功能(例如,工资单系统)
- 它控制其他软件(例如,操作系统)
- 它有助于构建其他软件(例如,软件工具)
软件工程的目标:
- 可维护性——
软件的发展应该是可行的,以满足不断变化的需求。 - 效率 -
软件不应浪费使用内存、处理器周期等计算设备。 - 正确性——
如果 SRS 文档中指定的不同要求已正确实现,则软件产品是正确的。 - 可重用性——
如果产品的不同模块可以很容易地被重用以开发新产品,那么该软件产品具有良好的重用性。 - 可测试性——
在这里,软件有助于建立测试标准和根据这些标准评估软件。 - 可靠性——
它是软件质量的一个属性。可以预期程序在任意时间段内执行其所需函数的程度。 - 便携性——
在这种情况下,软件可以从一个计算机系统或环境转移到另一个。 - 适应性——
在这种情况下,软件允许不同的系统约束,用户需要通过对软件进行更改来满足。 - 互操作性——两个或更多功能单元协作处理数据的能力。
程序与软件产品:
- 程序是为完成特定任务而提供给计算机的一组指令,而软件是指程序可用于商业业务并与许可一起正确记录的情况。软件=程序+文档+许可。
- 程序是软件开发所涉及的阶段之一,而软件开发通常遵循一个生命周期,包括项目的可行性研究、需求收集、原型开发、系统设计、编码和测试。