您好,欢迎访问三七文档
目录实验一项目开发的准备工作..................................................................................4实验二可行性研究及项目开发计划.......................................................................7实验三需求获取....................................................................................................10实验四系统分析与设计........................................................................................13实验五软件实现....................................................................................................17实验六软件测试....................................................................................................19实验七结构化分析方法(提高型).....................................................................23附录一:实验说明..................................................................................................26一、实验安排方式...............................................26二、实验环境:..................................................26三、实验要求...................................................26四、实验成绩的评分方法和标准...................................26附录二:实验题目..................................................................................................27附录三:实验报告范例..........................................................................................27附录四:小组成员角色描述..................................................................................28实验一项目开发的准备工作一.目的与要求【目的】1、确定课题,组织组员,合理分工,熟悉软件开发环境,培养团队精神。2、掌握常用工具软件的使用方法。【要求】1、学习软件开发小组的组织和管理,合理分工,将项目开发各阶段的任务明确。2、熟悉相应的软件开发环境。3、熟悉Visio的工作环境及组成;掌握Visio软件绘制图表的基本操作。二.实验基本原理1、项目团队的组建合理的工作分工能够提高软件生产率。要考虑软件生产率,首先要选择衡量软件生产率的指标。在“软件生命周期模型”、编程语言基本一致的情况下,代码行数可以代表软件项目规模。这里不考虑某个公司技术人员有特别的编码习惯导致代码特别精简或特别复杂的情况,在技术人才流动频繁的情况下,没有哪家公司存在这样的特别性。“全生命周期代码生产率”指在软件开发的整个生命周期中,最终输出的代码行数与人日的比值。有些项目经理可能偏好于进行非常繁琐的设计,然后快速输出代码;有些项目经理则主张在编码阶段对模型进行精细化。显然,设计清楚的项目,在编码阶段效率就比较高,然而设计本身需要消耗较多的人日。因此,”编码阶段代码生产率“在各个项目中是不一致的,而”全生命周期代码生产率“则趋于一致。我们的目标,是提高”全生命周期代码生产率“。在软件项目中,人数最多的是开发人员。假如软件项目组总人数为10人的规模,一般可以这么配置人员:项目经理1人、系统架构师1人、需求1-2人、测试1-2人,开发5人。直接参与代码输出的人员为开发人员5人。因此,假如我们希望全生命周期代码生产率达到100LOC/人日,编码阶段开发人员的代码生产率就必须达到200LOC/人日以上才能满意要求。为了提高全生命周期的代码生产率,在个人生产率基本不变的情况下,可以增加开发人员在项目组中的人数比例,并减少开发人员进行非编码输出的时间比例。例如,项目经理1人、系统架构师1人,需求1人、测试1人,开发6人。且开发几乎全部时间用于编码,即系统架构师应输出架构设计和模块设计,并直接可以用于开发人员编码输出,这样,假如开发人员仍保持200LOC/人日的输出,则全生命周期代码生产率则提高到120LOC/人日,提高20%。但是,假如一直增加开发人员的比率,最终其他环节会成为瓶颈,导致治理混乱、质量低下等。假如项目开发需要多种技能,那么通常也可以有2种选择:专业化分工或模块化分工。例如,做一个网络应用项目,可以有美工、Web页面开发人员、J2EE开发人员、数据库人员等专业化分工,也可以根据项目可以划分的模块,按模块分配人员。那么,哪种分工更为合理呢?仍以上面的例子为例,6名开发人员,4个专业角色,平均每个角色只能有1-2人。一个轻微复杂的工作任务就需要4个人的合作,会构成比较复杂的工作沟通,形成额外的沟通成本。因此,过于复杂的专业分工是不合理的。在上述分工中,最具备专业性壁垒的是最前端的美工和最后端的数据库人员。因此,在网络应用项目中需要的大部分开发人员,应该是能够进行Web页面开发、J2EE开发的人员,并鼓励部分人员学习数据库知识,把握存储过程等技能开发人力。这样,美工可以从项目组中移出,归属到上级部门作为专业团队支持。数据库人员往DBA方向发展,成为真正的专业人员,弱化对业务方面的要求。在实际项目中,对于美工与DBA的需求是阶段性,可以独立于项目组设立,在全生命周期至多只相称于0.5人。这样,6名开发人员中,5人把握Web页面及J2EE开发技能,进行模块开发。专业组提供美工、DBA,阶段性参与项目。实际进行编码工作的人数较多,也就能提高全生命周期代码生产率,提高软件生产率。此外,由于多数人员从事的工作近似,便于相互学习,提升技能,也有利于团队的融合。2、Visio简介Visio2003是一个图表绘制软件,它有助于创建、说明和组织复杂设想、过程与系统的业务和技术图表。使用Visio2003创建的图表能够将信息形象化。生产与运营管理中涉及到的项目管理、质量管理、业务流程等内容,通过应用VISIO软件绘制相关图表,能够以清楚简明的方式有效地交流信息,提高了相关工作的效率和质量。(1)启动和退出VISIO2003l执行【开始】→【程序】→【MicrosoftOffice】→【MicrosoftOfficeVisio2003】菜单命令,即可启动Visio2003。l直接单击视窗的开关按钮或选择主菜单中的File/Exit即可退出Visio2003。(2)项目日程lPERT图:计划评审技术(PERT)图用于规划、分析和监控项目。应用Visio2003软件绘制PERT图在项目早期组织任务、建立时间框架和阐释任务相关性方面很有用。l甘特图:甘特图是显示活动及持续时间的条形图。应用Visio2003软件绘制甘特图可用于安排、计划和管理项目。(3)业务进程lTQM图:使用Visio2003软件的“TQM图”模板可为全面质量管理项目创建流程图,有助于对当前流程和理想化的流程进行比较,并理解流程中各步骤是如何协同工作的。l基本流程图:使用Visio2003软件创建基本流程图可以展示过程、分析进程、指示工作流或信息流、跟踪成本和效率等。l因果图:因果图显示导致或影响特定情况的所有因素。使用Visio2003软件的“因果图”模板,有助于分析一个特定结果的主要原因和次要原因。(4)组织结构图l组织结构图:使用Visio2003软件的“组织结构图”模板,能够以图表形式表示组织的等级结构中人员之间、操作之间、职能之间以及活动之间的相互关系。(5)Visio画图步骤l选择一个所要的样板;l拖入一个原件:将模板中的原件拖入绘图页中,形成图形;l连接一些图形:将相互之间有关系的图形连接起来;l加上一些文字说明:给所有图形包括连接图形加上必要的文字说明;l对绘图文件进行美化处理和保存。三.实验准备【实验环境】配置有Office、Visio、Rose等软件的计算机设备。【预习内容】1、项目管理知识,开发计划工具,参考资料和阅读相关的国家有关软件开发的标准文档。2、掌握Office等常用工具软件的使用。四.实验步骤1、根据各组选择的课题,实行项目经理制,各组推荐一名组长,统一管理整个项目的实施过程,并和理调整资源和负责项目全局;根据项目的难易合理分配组员的任务,对问题达成一直的看法;针对项目的实施,熟悉相应的软件开发工具的使用环境。2、准备参考资料和阅读相关的国家有关软件开发的标准文档。3、使用MicrosoftVisio来设计基本流程图模型。l上机操作实验1:框图l上机操作实验2:基本流程图l上机操作实验3:PERT图l上机操作实验4:甘特图l上机操作实验5:因果分析图五.实验结果验收1、学习委员以班为单位上交项目小组表,表格形式如表一所示。表一:**班《软件工程》实验项目小组成员表组编号组别名成员学号成员姓名角色联系电话成绩成绩成绩成绩成绩总成绩2、此次实验不用写实验报告。六.思考题1、项目开发首先要做的事是什么?2、你认为该软件应具备的最重要的特性是什么。3、你认为怎样分工是最合理的?七.参考文献[1]郑人杰,软件工程(21世纪高等学校计算机规划教材:名家系列),人民邮电出版社,2009.11[2]系统自带的“Visio入门教程”。实验二可行性研究及项目开发计划一、目的与任务【目的】1、了解可行性研究的作用和实施过程;2、了解项目管理过程,开展团队合作,完成软件项目开发计划编制。【要求】针对所选择的项目,完成可行性研究报告;学习软件开发项目立项、计划工作,将项目开发各阶段的任务进行分解,制定开发计划书。二、实验基本原理1、可行性研究和可行性研究报告(1)可行性研究这是在软件项目计划阶段应该做的事情,包括四个方面的研究:§经济可行性:进行成本∕效益分析。从经济角度判断系统开发是否“合算”。§技术可行性:进行技术风险评价。从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。§法律可行性:确定系统开发可能导致的任何侵权、妨碍和责任。§方案的选择:评价系统或产品开发的几个可能的候选方案。最后给出结论意见。(2)经济可行性分析员需要进行成本∕效益分析。所谓成本,包括:①购置并安装软、硬件及有关设备的费用;②系统开发费用;③系统安装、运行及维护的费用;④人员培训费用。而效益是指:①系统为用户增加的收入或为用户节省的开支,这是有形的效益;②给潜在用户心理上造成的影响,这是无形的效益。它可以转化为有形的效益。(3)技术可行性分析员需要根据系统的功能、性能需求,建立系统模型。然后对此模型进行一系列的试验、评审和修改。最后由项目管理人员作出是否进行系统开发的决定。如果开发技术风险很大,或者模型演示表明当前采用的技术和方法不能实现系统预期的功能和性能,或者系统的实现不支持各子系统的集成,则项目管理人员可以作出停止系统开发的决定。(4)
本文标题:软件工程实验指导
链接地址:https://www.777doc.com/doc-4295074 .html