第十一章软件开发?程序开发是软件开发的核心,程序开发过程是:建立计算模型、设计程序、编写代码、测试程序、交付使用, 前四个步骤统称程序设计,简称编程。?硬件快速发展使计算机的计算能力成倍增长,手工开发的软件无论是在生产率方面还是在质量方面都不能满足用户需求和市场要求,这就是所谓的“软件危机”。?60年代末提出软件工程思想,以系统工程的方法全面规划和管理软件的开发和使用,以大量辅助工具加速开发进程,以求高效、快速地生产大量合格的软件。 软件工程的概念?硬件技术高速发展,成本以十年两位数的速度递减,导致了对软件的强烈需求。而软件系统的规模越来越大、越来越复杂、开发周期越来越长,软件的手工业生产方式使其成本急骤上升。?1968 年软件业界和科学工作者提出了软件工程的思想:任何软件都应当和其它产业的产品一样,由专业人员制作(软件中是系统分析员、高级程序员、程序员),以系统的、工程的方法开发, 并提供全方位的售后服务管理(不能因开发者离开调走而无人管)。 55 60 65 70 75 80 85 90 50% 成本 100% 硬件软件软件工程以系统工程的方法制作软件产品,它包括: ?软件的系统(生存期)模型; ?与此模型相对应的各种规范和标准; ?为达到这些规范、标准的方法和工具; ?软件生产、交付、使用、维护的全面管理。软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科。所谓软件工程是指,采用工程的概念、原理、技术和方法指导软件的开发与维护。软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方面。?任何软件都和其他产业的产品一样,由专业人员(制作软件中是系统分析员、高级程序员、程序员),以系统的、工程的方法开发制作,并提供全方位的售后服务管理。?系统的方法:是指创意、开发、生产、调试、使用、维护、退役的全过程。?工程方法:是指要有工程规范和工程管理。?软件开发方法学的研究是软件技术发展最活跃的因素。所谓方法学(Methodology) 是一组规范了的方法,按这组方法执行,可以得到较为理想的结果。把这组方法施行过程标准化就是软件开发标准。?美国电子电气工程师学会( IEEE )把软件工程定义为以系统的、规范的定量的方法应用于软件的开发、运营和维护,以及对这些方法的研究。软件工程基本原理(七条) ?用分阶段的生存周期计划严格管理?坚持进行阶段评审?实行严格的产品控制?采用现代程序设计技术?结果应能清楚地审查?开发小组的人员应该少而精?承认不断改进软件工程实践的必要性 软件生存周期?软件生存周期的瀑布模型系统分析软件需求分析概要设计详细设计编程与测试测试使用维护用户需要硬件需求分析系统规格说明书,可行性分析报告软件规格说明书,软件项目计划,初步用户手册概要设计说明书设计说明书,测试大纲模块测试报告, 源程序文档各种测试报告退役软件生存周期可分为计划、开发、运行三个时期。其中计划时期有问题定义和可行性研究;开发时期有需求分析、设计、编码和测试;运行时期系统运行维护阶段。软件创建和维护的关键活动?计划时期: –问题定义阶段:要解决的问题是什么? –可行性阶段:确定上述的问题是否有可行的解? ?开发时期–需求分析阶段:解决软件“做什么”的问题。对用户在系统功能方面的需求进行详细定义,并精确地分析系统中数据及数据之间的逻辑关系与数据流向,从而得到经用户确认的数据流图、数据字典及简要算法的逻辑模型,最后形成需求规格说明书,它是进行下一步设计的依据。–设计阶段:在需求规格说明书的基础之上建立软件系统的结构,包括数据结构和模块结构。此阶段分为总体设计和详细设计,前者考虑模块的分解,后者考虑每个模块内部的细节。设计阶段要编写设计文档:模块说明书、数据库或文件结构说明等。–编码阶段:用选定的程序设计语言把设计的过程性描述翻译为源程序。–测试阶段:对软件全面测试,以便发现并改正程序中的错误。按不同的层次,测试有可细分为单元测试、综合测试、确认测试和系统测试等步骤。文档称为“测试报告”,包括测试计划、测试用例和测试结果等内容。?运行时期–做好软件运行维护:通过各种维护活动使系统持久地满足用户的需求。维护活动通常分为改正性维护、适应性维护、完善性维护和预防性维护。 1、计划时期(1)问题定义目的是确定问题的性质、工程目标以及规模。力求使软件开发人员、用户以及使用部门负责人对问题的性质、工程目标与规模取得完全一致的看法,对取保软件开发的成功是非常重要的。?复查系统目标和规模?研究目前正在使用的系统?导出新系统的高层逻辑模型?重新定义问题?导出和评价供选择的方案?推荐一个方案并说明理由?草拟开发计划?书写文档提交审查(2)可行性研究可行性研究从技术、经济和社会因素三方面研究并论证软件项目的可行性,编写可行性报告,制定
应用软件设计与开发 来自淘豆网m.daumloan.com转载请标明出处.