思考题(一)
1、对软件工程的看法:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。 其中“工程”二字就是创造性地运用科学原理设计和实现建筑、机器、装置或生产过程,或者是在实践中使用一个或多个这些实体,或者是实现这些实体的过程。“软件工程”,就是把工程化的方法应用到软件之中。
2、软件开发不仅仅是编码,它还包括软件设计与体系结构、软件质量保证与测试、UML建模、软件需求工程、软件敏捷开发、软件项目管理等等一系列课程。因为软件工程学科不只是局限于写代码,会写代码仅仅是一项基本的能力,学会用工程化的思维去调研市场、管理项目、分析需求、建模、写文档等等也是十分重要的。
3、软件的特点:复杂性(Complexity)
大型软件百万行源代码,上万个文件
模块间各种显性和隐形的依赖关系
不可见性(Invisibility)
看不见源代码的具体执行
软件出错很难完整重现程序出现的问题
服从性(Conformity)
软件服从硬件
服从用户需求、行业系统要求
4、软件危机表现:规模大、复杂度增加、供需差增大、价格昂贵、开发速度慢、质量难以保证
两个方面的问题
如何开发软件,以满足对软件日益增长的客户需求
如何维护数量不断膨胀的现有软件
易变性
软件升级(新的功能,适应新的硬件)
比硬件容易修改,但正确修改难
解决途径:
重视需求分析,与客户的沟通,确切表达需求
重视设计和实现过程的资料
充分的测试工作
维护和管理工作
统一的、公认的方法论和规范指导
5、软件工程的要素:方法—技术手段,过程—任务框架和步骤,工具—支撑环境。
浙公网安备 33010602011771号