图书馆管理系统管理文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南科技大学
软件工程基础大作业
课程名称软件工程基础
题目图书馆管理系统管理文档
院系机电工程工程学院
班级机制101
学生姓名郑杰锋_____
日期 2011.12.18
课程问题
1.简述你对软件工程理论的来源、作用和意义的认识。
答:(1)软件工程理论来源:计算机产生后其技术发展十分迅猛,伴随着计算机的广泛应用,人们需要的软件越来越多,软件开发变得越来越复杂。软件危机也随之出现, 1968 年北大西洋公约组织的计算机科学家在联邦德国的学术会议上第一次提出了软件工程这个概念,从此一门新兴的工程学科 -- 软件工程学 -- 为研究和克服软件危机应运而生。
(2)软件工程的作用:总体上讲,软件工程的作用,是为了克服上个世纪60年代出现的软件危机,它告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上,即在规定的时间内,按照规定的成本,完成预期质量目标,并且控制软件进度,节约开发成本,提高软件质量。
(3)软件工程的意义:从广义上讲是以工程的理念和流程方法制作软件,从狭义上讲是计算机专业的一门重要的专业基础课,它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义。
2.简述软件生命周期中可行性研究、需求分析、软件设计、编码、测试和维护
的各个环节的具体任务和作用。
答:1、可行性研究的具体任务:1).复查系统规模和目标;2).研究目前正在使用的系统,主要查找其缺点;3).导出新系统的高层逻辑模型,高层逻辑模型包括:数据流图、数据字典等;4).重新定义问题;5).导出和评价供选择的解法,提供可行的方案;6).推荐行动方案,根据上一步的可能方案,确定一个“最优方案”。主要根据“经济上是否可行”来确定。 7).草拟开发计划,计划包括:工程进度表、开发人员及资源需求等。8).书写文档、提交审查;作用:明确是否能以最小的代价在尽可能短的时间开发出此软件,或是否有必要去开发此软件。
2、需求分析的具体任务:1.确定对系统的综合需求 (1)系统功能要求 (2)系统性能要求(3)运行要求 (4)将来可能提出的要求2.分析系统的数据要求,采用建立“概念模型”的方法,并辅助图形工具,如:层次方框图、Warnier图等。3.导出系统的逻辑模型数据流程图、数据字典、主要算法4.修正系统开发计划5.开发原型系统作用:软件需求分析是软件生命周期中决定性的一步,只有通过它,才能把软件总体的功能和性能描述为具体的软件需求规格说明,从而奠定软件开发的基础。
3、软件设计的具体任务:在总体设计中要做到 1).设想供选择的方案 2).选取合理的方案 3).推荐最佳方案 4).功能分解 5).设计软件结构 6).数据库设计 7).制定测试计划 8).书写文档(系统说明、用户手册、测试计划、详细的实现计划、数据库设计结果) 9).审查和复审。在详细设计中要做到 1)为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。 2)为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义 3)对数据结构进行物理设计,即确定数据库的物理结构。物理结构主要指数据库的存
储记录格式、存储记录安排和存储方法,这些都依赖于具体所使用的数据库系统。 4)其他设计:根据软件系统的类型,还可能要进行以下设计①代码设计。为了提高数据的输入、分类、存储、检索等操作,节约内存空间,对数据库中的某些数据项的值要进行代码设计。②输入/输出格式设计。③人机对话设计。对于一个实时系统,用户与计算机频繁对话,因此要进行对话方式、内容、格式的具体设计。 5)编写详细设计说明书。 6)评审。对处理过程的算法和数据库的物理结构都要评审。作用:软件设计是软件开发过程中用以保证质量的关键步骤
4、编码的具体任务: 1)问题分析:包括研究技术规范、弄清求解问题的性质、初步设计程序流程图,以及弄清不同编程人员之间的边界和沟通。 2)程序结构图设计:编写详细的程序结构图,为编码做好准备。 3)确定程序规范化措施:包括检验个别的模块以及考虑模块之间的一致性。 4)编码:在选择程序设计语言后,按结构化编程方法编程。软件编码的作用:编码是在软件详细设计的基础上进行的,它是问题分析、程序结构图设计、程序规范化和程序编码的过程,是软件设计的必然结果。编码阶段中,将为软件设计中的每个模块提供一份内容完整、说明清晰的源程序清单以及程序结构图等。
5、软件测试的具体任务: 1)设计一组测试用例。每个测试用例应该由输入数据和预期输出结果两部分组成。 2)用各个测试用例的输入数据实际运行被测程序。 3)检查实际输出结果与预期的输出结果是否一致。若不一致则认为程序有错。作用:软件测试是软件开发阶段的最后工作,在整个软件开发工作中占的比例很大,其主要任务是发现并排除在分析、设计和编程过程中所产生的个种错误。
6、维护的具体任务: 1)接受提出的维护要求。 2)对所要求的内容进行分析。 3)对现有系统进行调查(确定修改范围)。 4)决定维护作业的内容。 5)修改现行系统。 6)对修改部分进行测试。 7)对整个系统进行测试(确定其品质)。 8)修改后的系统投入正常的运行。作用:是对投入运行后的软件系统进行修改,即对在测试阶段未发现的错误进行修改,或实现软件功能的扩充和性能的改善。
3.谈谈你对“软件神话”的认识。
答:软件神话,即关于软件及其开发过程被人盲目相信的一些说法,可以追溯到计算技术发展的初期。神话具有一些特点,让人们觉得不可捉摸。例如,神话看起来是事实的合理描述(有时的确包含真实的成分),它们符合直觉,并且经常被那些知根知底、有经验的从业人员拿来宣传。今天,大多数有见地的软件工程师已经意识到软件神话的本质—它实际上误导了管理者和从业人员对软件开发的态度,从而引发了严重的问题。
然而,由于习惯和态度的根深蒂固,这一切难以改变,软件神话遗风犹在。(1)管理神话。承担软件职责的项目经理,像所有领域的经理一样,肩负着维持预算、保证进度和提高质量的压力。就像溺水人抓住稻草一样,软件经理经常依赖软件神话中的信条,只要它能够减轻以上的压力(即使是暂时性的)。比如神话:我们已经有了一本写满软件开发标准和规程的宝典。难道不能提供我们所需要了解的所有信息吗?而事实是:这本宝典也许的确已经存在,但它是否已在实际中采用?从业人员是否知道这本书的存在呢?它是否反映了软件工程的现状?是否全面?是否可以适应不同的应用环境?是否在缩短交付时间的同时还关