1、任正非在致员工信中将可信贯穿于软件开发的整个过程中,每个产品从客户需求分析到软件架构设计再到软件的编码实现都要保证可靠、高质量···从任正非的信中我也大概了解了什么是软件工程,它是将软件看作是一个工程产品,综合计算机科学、数学、管理学、工程学等学科的原理、方法,把工程化的思想应用到需求、设计、实现、确认、支持等过程中,重视开发过程的管理,以求最终获得具有正确性、可用性、开销适宜的软件产品;
2、编码只是软件开发过程的一个阶段,它是软件设计的实现过程,软件开发就是实现问题域中的概念和处理逻辑到运行平台的概念和处理逻辑的影射,通过分层抽象建模,将复杂的问题转化为计算机能处理的逻辑问题,开发的过程就是模型的建立过程;
3、软件是程序、数据、文档的集合体,它的特点有:
复杂性,软件存在于人类社会的各行各业,常常涉及其他领域的专业知识,同时对质量要求较高;
一致性,软件必须和运行它的硬件保持一致;
退化性,软件不存在磨损和老化的问题,但会因缺陷和过时而退化;
易变性,软件是基于客户需求定制开发的,在生产甚至运行过程中均可被改变;
移植性,软件是设计开发的,不是生产制造的,易于复制,但软件运行受计算机系统的影响,设计时要考虑如何应用到不同的系统平台;
高成本,软件是无形的、不可见的逻辑实体,只有运行后才知道正确与否,需要耗费大量的设计成本、生产成本、管理成本;
例如1962年7月22日美国飞往金星的火箭“水手一号”的控制系统中一个FORTRAN循环语句的错误造成火箭偏离轨道,最终导致火箭被炸毁;IBM公司在1963至1966年开发的IBM360/OS,写了近一百万行源程序,但每次发行的新版本都修改了上一版本的一千个左右的程序错误
4、表现:软件质量差,可靠性难以保证;成本难以控制,大多容易超出预算;开发进度难以把握,周期拖得很长;可维护性较差,维护人员和费用不断增加;
定义:软件开发和维护过程中所遇到的严重问题称为软件危机;
出现原因:软件开发初期阶段,需求提得不够明确,或未能得到确切的表达;开发工作开始后,开发人员和用户又未能及时交换意见,造成开发后期矛盾集中暴露;
解决手段:需求分析后,要做好软件定义时期的工作,这样能在一定程度上降低开发成本,同时在无形中提高软件质量;开发过程要有统一的、公认的方法论和规范指导,参加的人员必须按照规定的方法经行开发;必须做好充分的检测工作,提交给客户高质量的软件;
5、软件工程的要素:目标、原则、活动;
目标:生产具有正确性、可用性以及开销合宜的产品;
原则:选取适宜的开发模型;提供高质量的工程支持;重视开发过程的管理;
活动:包括需求、设计、实现、确认和支持等活动
浙公网安备 33010602011771号