西门子S7-200模块CPU224XPCN中央处理器
识不充分、缺乏经验;
② 缺乏统一的、标准化的开发过程设计,缺乏规范化的方法论进行指导;
③ 忽视软件开发前期的需求分析;
④ 文档资料不齐全、不准确;
⑤ 忽视测试的重要性;
⑥ 没有完善的质量保证体系;
⑦ 开发团队内部交流不顺畅、不充分;
⑧ 不重视维护,或由于以上原因造成维护工作的困难。
1.1.4 软件工程概念和基本原则
软件工程是人们为了应对软件危机,以借鉴传统工程的原则、方法,以提高质量、降低成本、控制工期为目的地指导计算机软件的开发和维护。软件工程有两方面的含义:一方面,软件工程是指导计算机软件开发和维护工程的学科;另一方面,它是人们把经过时间考验而证明正确有效的管理技术和当前能够得到的**的技术方法结合起来,经济地开发出高质量的软件并有效地维护它。
1993年IEEE给出了软件工程的全面定义。即软
程是:①把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化方法应用于软件中;②研究系统化的、规模化的、可度量的途径。)实行严格的产品控制。不能随意对软件进行修改,必要的修改必须按照严格的规程进行评审,获得批准后才能实施修改。
(4)采用现代程序设计技术。采用先进的开发技术来提高开发和维护效率、降低开发中可能出现的错误,提高软件产品质量。
(5)结果应能够清楚地审查。根据软件开发项目的总目标和完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清楚地审查。
(6)开发小组的人员应小而精。小的开发小组,可以降低交流成本,精练的开发人员可以极大地提高开发效率,并显著地降低错误。
(7)承认不断改进软件工程实践的必要性。积极主动地采用新的软件技术,注意不断经验,对于促进软件产品的质量也有莫大的效果。
这七条软件工程的基本原理是互相独立的,彼此不能替代,它们共同确保软件产品质量和开发效率,是缺一不可的、完备的*小集合。
1.2 软件生命周期
同任何事物一样,一个软件产品或软件系统也要经历一个包含孕育、诞生、成长、成熟、衰亡等阶段的生存过程,称为软件生命周期。通常把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。软件生命周期包含软件定义
件开发、软件运行维护三个时期,并可以细分为可行性研究、项目计划、需求分析、概要设计、详细设计、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段。这是软件生命周期的基本构架,在实际软件项目开发中,应该根据所开发软件的规模、种类,软件开发机构的习惯做法,以及采用的技术方法等,对各阶段进行必要的合并、分解或补充。
1.2.1 软件定义期
软件定义是软件项目的早期阶段,主要由软件系统分析人员和用户合作,针对有待开发的软件系统进行分析、规划和规格描述,确定软件是软件需求分析是软件规格描述的具体化与细节化,是软件定义时期需要达到的目标。需求分析要求以用户需求为基本依据,从功能、性能、数据、操作等多个方面,对软件系统给出完整、准确、具体的描述,用于确定软件规格。
在软件项目进行过程中,需求分析是从软件定义到软件开发的*关键步骤,其结论不仅是今后软件开发的基本依据,也是今后用户对软件产品进行验收的基本依据。
1.2.2 软件开发期
义以后,接着可以在此基础上对软件实施开发,并由此制作出软件产品。这个时期需要分阶段地完成以下5项工作。
(1)软件概要设计
概要设计(也称总体设计)是针对软件系统的结构设计,用于从总体上对软件给出设计说明。软件开发团队有开发人员、高层管理者、安装配置人员、运行维护人员、软件系统实际操作者(用户),不同的人员对于软件构成有不同的观察角度,所关心的软件系统构成元素有所不同。开发人员关心软件系统的构造、接口、全局数据结构和数据环境等,高层管理者关心系统的构造,安装配置人员、运行维护人员关心硬件系统和相关软件配置,软件实际操作者关心功能模块结构。概要设计的结果将成为详细设计与系统集成的基本依据。所谓系统集成也就是根据概要设计中的软件结构,把经过测试的模块,按照某种选定的集成策略,例如渐增集成策略,将系统组装起来。在组装过程中,需要对整个系统进行集成测试,以确保系统在技术上符合设计要求,在应用上满足需求规格要求。
(5)系统确认验证
在完成对系统的集成之后,接着还要对系统进行确认验证。系统确认验证需要以用户为主体,以需求规格说明书中对软件的定义为依据,由此对软件的各项规格进行逐项的确认,以确保已经完成的软件系统与需求规格的一致性。为了方便用户在系统确认期间能够积极参与,也为了系统在以后的运行过程中能够被用户正