软件工程基础的体会
一、首先我们要知道什么是软件?
1、软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关的文档的完整集合。
2、程序是按事先设计的功能和性能要求执行的指令序列。
3、数据是使程序能正常操纵信息的数据结构。
4、文档是与程序开发,维护和使用有关的图文材料。
二、软件的特点
1、软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。
2、软件的生产过程与硬件不同,在它的开发过程中没有明显的制造过程。
3、在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
4、软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同的依赖程性。
5、软件的开发至今尚未完全摆脱手工艺的开发方式。
6、软件本身是复杂的,具体包括:实际问题的复杂性,程序逻辑结构的复杂性。
7、软件成本相当昂贵。
8、相当多的软件工作涉及到社会因素。
三、软件发展过程中存在的问题。
1、软件开发能力不能满足人民的需要;
2、社会对软件的依赖程度加大,人民普遍关注软件的安全和可靠性;
3、若干年前开发的应用软件已经经过几十次修改已经没有人认识它的内部结构,已经不可维护;
4、由于经济原因,嵌入式系统存在许多怪现象,企业不愿意投入资源再生产,而采取打补丁+时髦界面的方法。
四、软件危机
1、软件危机是指再计算机软件的开发和维护过程中所遇到的一系列严重问题。
一、其典型表现:开发成本和进度的估计常常很不准确;
二、用户对“已完成的”软件系统不满意;“闭门造车”;
三、软件质量不可靠;
四、软件常常不可维护的;
五、软件成本的比列逐年上升;
六、软件产品“供不应求”;
五、软件危机产生的原因
1、客观原因:软件的特点
2、主观原因:软件开发和维护过程中使用不正确的方法。
六、消除软件危机的途径
1、消除“软件就是程序”的错误观念。
一、一个软件必须由一个完整的配置组成,事实上,软件是程序,数据及相关文档的完整集合。
二、软件开发不说某种个体劳动的神秘技巧,而应该是一种组织良好,管理严密,各类人员协同配合,共同完成的工程项目。
三、成功的软件开发技术和方法。
四、软件工具和软件工程支撑环境。
七、软件工程的定义
软件危机→根源→解决途径→软件工程“概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念,原理,技术和方法来开发和维护软件,
把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出搞质量的软件并有效地维护它。
八、软件工程的目标
软件工程的目标是明确的,就是研制、开发与生产出具有良好软件质量和费用核算的产品。
1、采用工程化方法和途径来开发与维护软件工具。
2、应该开发和使用更好的软件工具。
3、采取必要的管理措施。
九、软件生存期
1、软件有一个孕育,诞生,成长,成熟,衰亡的生存过程。这个过程即为计算机软件的生存期。
2、软件生存期的六个步骤,即制定计划,需求分析,设计,程序编码,测试及运行维护。
十、软件生存期模型
1、瀑布模型
2、演化模型
3、增量模型
3、螺旋模型
4、喷泉模型