2012-2013学年《软件工程》课程作业1
软件工程简介。
1.前言。本**对软件工程的概念和思想进行了简单的概述,以及归纳了在软件开发的过程中的各个环节的主要内容。
本文还归纳了软件工程的几个过程模型,并就其中常用的瀑布模型进行了详细的介绍 ,最后给常用工程制图软件2010 autocad这一软件进行了需求分析,并给出了其需求构成。
2.软件工程概述。
2.1软件工程概念。
“软件工程”--software engineer是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济的开发出高质量的软件并维护它。软件工程三要素:方法、工具、过程。
2.2软件工程的过程。
软件从产生、发展到成熟、直至衰亡为止分为三个时期八个步骤。三个时期为计划时期、开发时期和运行时期。计划时期包括问题定义,可行性研究两个过程;开发时期包括需求分析、概要设计、详细设计、编码、测试五个过程,运行时期包括运行与维护过程。
3.详细的开发环节。
制定计划:确定要开发软件系统的总目标;给出功能、性能、可靠性以及接口等方面的要求;完成该软件任务的可行性研究;估计可利用的资源 (硬件,软件,人力等)、成本、效益、开发进度;制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。
需求分析和定义 :当完成制定计划之后,需要对用户的需求去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来。 其主要任务是:
对用户提出的要求进行分析并给出详细的定义;编写软件需求说明书及初步的系统用户手册,提交管理机构评审。
软件设计其主要任务是:概要设计:把各项需求转换成软件的体系结构。
结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应;详细设计:对每个模块要完成的工作进行具体的描述,为源程序编写打下基础;编写设计说明书,提交评审。
程序编写 :把软件设计转换成计算机可以接受的程序**,即写成以某一种特定程序设计语言表示的“源程序清单”;写出的程序应当是结构良好、清晰易读的,且与设计相一致的。
软件测试主要过程是:单元测试:查找各模块在功能和结构上存在的问题并加以纠正;组装测试:
将已测试过的模块按一定顺序组装起来;按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。
运行与维护:保证正常而可靠地运行,并能使软件不断得到改善和提高,充分发挥其作用。软件维护有四种类型:
改正性维护(运行中发现了软件中的错误而进行的修正工作),适应性维护(为了适应变化了的软件工作环境,而做适当的变更),适应性维护(为了增强软件的功能而做的变更),预防性维护(为未来的修改与调整奠定更好的基础而进行的工作)。
4.软件的过程模型。
软件过程模型主要有以下几种:瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型、混合模型和敏捷模型七种。瀑布模型是最常用的一种。
瀑布模型(waterfall model)是由w. royce于2024年提出来的。又称为软件生存周期模型。
瀑布模型严格按照软件生存周期各个阶段来进行开发,上一阶段的输出即是下一阶段的输入,并强调每一阶段的严格性。它规定了各阶段的任务和应提交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文档)进行评审,通过后才能开始下一阶段的工作。因此,它是一种以文档作为驱动的模型。
瀑布模型特点:(1)阶段间具有顺序性和依赖性(2)推迟实现的观点(3)质量保证的观点。
瀑布模型的优点:提供了软件开发的基本框架,有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究与使用,因此,在软件工程中占有重要的地位。
瀑布模型缺点:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3)作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
瀑布模型适应场合:瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。
2010的软件需求构成。
需求分析采用面向数据流自顶向下求精方法。其需求构成为:
5.1 功能需求。
(1)可以对文件批量处理。
(2)可以打开和保存为几种常用的cad格式。批量清理图层。更改文字样式与线型。修改对象图层。
(3)能避开原文件夹,以免输出的图形将原图形覆盖。
(4)可以同时对多个文件夹进行操作;也应能对部分读入列表的图形进行选中操作。
(5)规避锁定的图层(先解锁再打开);规避杂乱的对象。(最好能区别对象,如不要将非文本对象当作文本对象处理。)
(6)可以在操作前对文件列表进行排序,以方便使用者选择文件。
(7)在操作前可以先对示例文件操作,提取相关图层信息,以供选择。并要提供方便的选择方式。(比如:
左或右边的几个字符满足某一条件;或名字中包含某些字符,或名字中从起点到一终点的字符串满足某一条件;要不要先剔除空格等。);并要直接显示选择效果。提供选择方式和集体挪动方式。
(8)可以对图层中的对象进行处理,可以添加、移除对象。可以改变对象的图层。可以添加删除图层。并对处理后的图层进行处理。
(9)如果需要可以对各图层分别定义取舍方式,最后批量处理。
(10).设置默认选项,并允许使用者更改后保存。可以随时恢复默认选项。
5.2非功能需求。
可用性需求:人机界面友好、使用舒适、可理解性好、可修改性好。
环境需求: (1)microsoft windows xp professional或home版本(sp2或更高)(2)支持sse2技术的英特尔奔腾 4或amd athlon双核处理器(1.6 ghz或更高主频)(3)2 gb内存(4)1 gb可用磁盘空间(用于安装)(5)1,024 x 768 vga真彩色显示器(6)microsoft internet explorer 7.
0或更高版本(7)**或使用***或cd-rom安装。
接口细节:本系统应用windows api实现对数据库的操作,基于odbc数据库的访问技术。本产品的用户要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相应的界面。
数据通信协议:tcp、ip,udp协议等。
6.参考文献:
1] 卫红春等编著。软件工程概论。北京市:清华大学出版社,2007.
2] 施一萍编著。软件工程及软件开发应用。北京市:清华大学出版社,2009.09.
3] robert e. filman等主编;莫倩等译。面向方面的软件开发。北京市:机械工业出版社,2006.01
4] 景作军等编著。计算机辅助设计与工程分析。北京市:化学工业出版社,2002.
5] 乔爱科编著。机械cad软件开发应用技术教程。北京市:机械工业出版社,2008.
7.作业独立完成声明。
本作业的完**作如下郑重声明:
本课程作业是在完**参阅了相关文献资料后,由完**提出作业题目并独立组织和完成了作业的相关内容,对各种参考文献的引用已在文中注明。本人对作业自主完成(不涉及抄袭和其他非正常方式)的真实性负有全部责任。
完**:年月日。
软件工程课程作业
一 名词解释。1 软件。软件 程序 数据 文档。2 软件工程。软件工程是研究如何将完善的科学与工程原理,先进高效的管理技术以及完整规范的设计方法应用于经济地开发即可靠,又能在实际计算机上有效运行的软件的一门工程学科。3 软件生命周期。软件生命周期是一个软件系统从目标提出 定义 开发 使用和维护,直到...
软件工程课程作业
软件工程作业与解答。第一章软件工程概述。1.简述软件的发展过程。答 计算机软件的发展经历了三个阶段 1 程序设计阶段,约50至60年代 2 程序系统阶段,约60至70年代 3 软件工程阶段,约70年代以后。各个时期软件开发的特点见课本第7页表1.3。2.简述软件的定义及特点。答 软件是计算机系统中与...
软件工程课程作业一
北京师范大学继续教育与教师培训学院。网络教育。本学期共三次作业,每次作业满分为25分,总共所得成绩作为平时成绩。1.下面选项中,属于软件工程的主要开发方法是 c a.面向需求 b.面向过程 c.面向对象 d.面向数据 2.在软件工程中主要存在3类过程管理模型,下列选项中,那些不属于软件工程中的3类过...