求一份软件工程实习总结生产实习报告,包括源文件和文档的

76软件工程实习报告-第2页
上亿文档资料,等你来发现
76软件工程实习报告-2
初就埋下风险;2:用户需求的不断增加;在开发中若不断地补充需求,项目就越变越庞大以致超;要想把需求变更范围控制到最小,必须一开始就对项目;产品开发中不断延续的变更会使其整体结构日渐紊乱,;3:模棱两可的需求;模棱两可是需求规格说明中最为可怕的问题;模棱两可的需求会使不同的风险承担者产生不同的期望;处理模棱两可需求的一种方法是组织好负责从不同角度;4:不必要的
初就埋下风险。2:用户需求的不断增加在开发中若不断地补充需求,项目就越变越庞大以致超过其计划及预算范围。计划并不总是与项目需求规模与复杂性、风险、开发生产率及需求变更实际情况相一致,这使得问题更难解决。实际上,问题根源在于用户需求的改变和开发者对新需求所作的修改。要想把需求变更范围控制到最小,必须一开始就对项目视图、范围、目标、约束限制和成功标准给予明确说明,并将此说明作为评价需求变更和新特性的参照框架。说明中包括了对每种变更进行变更影响因素分析的变更控制过程,有助于所有风险承担者明白业务决策的合理性,即为何进行某些变更,相应消耗的时间、资源或特性上的折中。产品开发中不断延续的变更会使其整体结构日渐紊乱,补丁代码也使得整个程序难以理解和维护。插入补丁代码使模块违背强内聚、松耦合的设计原则,特别是如果项目配置管理工作不完善的话,收回变更和删除特性会带来问题。如果你尽早地区别这些可能带来变更的特性,你就能开发一个更为健壮的结构,并能更好地适应它。这样设计阶段需求变更不会直接导致补丁代码,同时也有利于减少因变更导致质量的下降。3:模棱两可的需求模棱两可是需求规格说明中最为可怕的问题。它的一层含义是指诸多读者对需求说明产生了不同的理解;另一层含义是指单个读者能用不止一个方式来解释某个需求说明。模棱两可的需求会使不同的风险承担者产生不同的期望,它会使开发人员为错误问题而浪费时间,并且使测试者与开发者所期望的不一致。一位系统测试人员曾告诉我,她所在的测试组经常对需求理解有误,以致不得不重写许多测试用例并重做许多测试。处理模棱两可需求的一种方法是组织好负责从不同角度审查需求的队伍。仅仅简单浏览一下需求文档是不能解决模棱两可问题的。如果不同的评审者从不同的角度对需求说明给予解释,但每个评审人员都真正了解需求文档,这样二义性就不会直到项目后期才被发现,那时再发现的话会使得更正代价很大。4:不必要的特性“画蛇添足”是指开发人员力图增加一些“用户欣赏”但需求规格说明中并未涉及的新功能。经常发生的情况是用户并不认为这些功能性很有用,以致在其上耗费的努力“白搭”了。开发人员应当为客户构思方案并为他们提供一些具有创新意识的思路,具体提供哪些功能要在客户所需与开发人员在允许时限内的技术可行性之间求得平衡,开发人员应努力使功能简单易用,而不要未经客户同意,擅自脱离客户要求,自作主张。同样,客户有时也可能要求一些看上去很“酷”,但缺乏实用价值的功能,而实现这些功能只能徒耗时间和成本。为了将“画蛇添足”的危害尽量减小,应确信:你明白为什么要包括这些功能,以及这些功能的“来龙去脉”,这样使得需求分析过程始终是注重那些能使用户完成他们业务任务的核心功能。5:过于精简的规格说明 有时,客户并不明白需求分析有如此重要,于是只作一份简略之至的规格说明,仅涉及了产品概念上的内容,然后让开发人员在项目进展中去完善,结果很可能出现的是开发人员先建立产品的结构之后再完成需求说明。这种方法可能适合于尖端研究性的产品或需求本身就十分灵活的情况。但在大多数情况下,这会给开发人员带来挫折(使他们在不正确的假设前提和极其有限的指导下工作),也会给客户带来烦恼(他们无法得到他们所设想的产品)。6: 忽略了用户分类大多数产品是由不同的人使用其不同的特性,使用频繁程度也有所差异,使用者受教育程度和经验水平也不尽相同。如果你不能在项目早期就针对所有这些主要用户进行分类的话,必然导致有的用户对产品感到失望。例如,菜单驱动操作对高级用户太低效了,但含义不清的命令和快捷键又会使不熟练的用户感到困难。7:不准确的计划据统计,导致需求过程中软件成本估计极不准确的原因主要有以下五点:频繁的需求变更、遗漏的需求、与用户交流不够、质量低下的需求规格说明和不完善的需求分析。对不准确的要求所提问题的正确响应是“等我真正明白你的需求时,我就会来告诉你”。基于不充分信息和未经深思的对需求不成熟的估计很容易为一些因素左右。要作出估计时,最好还是给出一个范围。未经准备的估计通常是作为一种猜测给出的,听者却认为是一种承诺。因此我们要尽力给出可达到的目标并坚持完成它。1.6需求分析人员和用户的合作关系优秀的软件产品是建立在优秀的需求基础之上的。而高质量的需求来源于客户与开发人员之间有效的交流与合作。通常,开发人员与客户或客户代理人,如市场人员间的关系反而会成为一种对立关系。双方的管理者都只想自己的利益而搁置用户提供的需求从而产生摩擦,在这种情况下,不会给双方带来一点益处。只有当双方参与者都明白要成功自己需要什么,同时也应知道要成功合作方需要什么时,才能建立起一种合作关系。由于项目压力与日渐增,所有风险承担者有着一个共同的目标这一点容易被遗忘。其实大家都想开发出一个既能实现商业价值,又能满足用户需要,还能使开发者感到满足的优秀软件产品。软件客户需求权利书列出了十条关于客户在项目需求工程实施中与分析人员、开发人员交流时的合法要求。每一项权利都对应着软件开发人员、分析人员的义务。而软件客户需求义务书也列出了十条关于客户在需求过程中应承担的义务。如果愿意,可以将其作为开发人员的权利书。客户有如下权利:1:要求分析人员使用符合客户语言习惯的表达需求讨论应集中于业务需要和任务,故要使用业务术语,你应将其教给分析人员,而你 不一定要懂得计算机的行业术语。2:要求分析人员了解客户的业务及目标通过与用户交流来获取用户需求、分析人员才能更好地了解你的业务任务和怎样才能使产品更好地满足你的需要。这将有助于开发人员设计出真正满足你的需要并达到你期望的优秀软件。为帮助开发人员和分析人员,可以考虑邀请他们观察你或你的同事是怎样工作的。如果新开发系统是用来替代已有的系统,那么开发人员应使用一下目前的系统,这将有利于他们明白目前系统是怎样工作的,其工作流程的情况,以及可供改进之处。3:要求分析人员编写软件需求规格说明分析人员要把从你和其他客户那里获得的所有信息进行整理,以区分开业务需求及规范、功能需求、质量目标、解决方法和其它信息。通过这些分析就能得到一份软件需求规格说明。而这份软件需求规格说明便在开发人员和客户之间针对要开发的产品内容达成了协议。软件需求规格说明书可以用一种你认为易于翻阅和理解的方式组织编写。要评审编写出的规格说明以确保它们准确而完整地表达了你的需求。一份高质量的软件需求规格说明能有助于开发人员开发出真正需要的产品。4:要求得到需求工作结果的解释说明分析人员可能采用了多种图表作为文字性软件需求规格说明的补充。因为如工作流程图那样的图表能很清楚地描述出系统行为的某些方面。所以需求说明中的各种图表有着极高的价值。虽然它们不太难于理解,但是你很可能对此并不熟悉。因此可以要求分析人员解释说明每张图表的作用或其它的需求开发工作结果和符号的意义,及怎样检查图表有无错误及不一致等。5:要求开发人员尊重你的意见如果用户与开发人员之间不能相互理解,那关于需求的讨论将会有障碍,共同合作能使大家“兼听则明”。参与需求开发过程的客户有权要求开发人员尊重他们并珍惜他们为项目成功所付出的时间。同样,客户也应对开发人员为项目成功这一共同目标所作出的努力表示尊重与感激。6:要求开发人员对需求及产品实施提供建议,拿出主意通常,客户所说的“需求”已是一种实际可能的实施解决方案,分析人员将尽力从这些解决方法中了解真正的业务及其需求,同时还应找出已有系统不适合当前业务之处,以确保产品不会无效或低效。在彻底弄清业务领域内的事情后,分析人员有时就能提出相当好的改进方法。有经验且富有创造力的分析人员还能提出增加一些用户并未发现的很有价值的系统特性。7:描述产品易使用的特性你可以要求分析人员在实现功能需求的同时还要注重软件的易用性。因为这些易用特性或质量属性能使你更准确、高效地完成任务。例如,客户有时要求产品要“用户友好”或“健壮”或“高效率”,但这对于开发人员来说,太主观了并无实用价值。正确的应是:分析人员通过询问和调查了解客户所要的友好、健壮、高效所包含的具体特性。8:调整需求,允许重用已有的软件组件需求通常要有一定的灵活性。分析人员可能发现已有的某个软件组件与你描述的需求很相符。在这种情况下,分析人员应提供一些修改需求的选择以便开发人员能够在新系统开发中重用一些已有的软件。如果有可重用的机会出现,同时你又能调整你的需求说明,那就能降低成本和节省时间,而不必严格按原有的需求说明开发。所以说,如果想在产品中使用一些已有的商业常用组件,而它们并不完全适合你所需的特性,这时一定程度上的需求灵活性就显得极为重要了。9:获得满足客户功能和质量要求的系统每个人都希望项目获得成功。但这不仅要求你要清晰地告知开发人员关于系统“做什么”所需的所有信息,而且还要求开发人员能通过交流了解清楚取舍与限制。一定要明确说明你的假设和潜在的期望。否则,开发人员开发出的产品很可能无法让你满意。客户有下列义务:1:给分析人员讲解你的业务分析人员要依靠你给他们讲解的业务概念及术语。但你不能指望分析人员会成为该领域的专家,而只能让他们真正明白你的问题和目标。不要期望分析人员能把握你们业务的细微与潜在之处,他们很可能并不知道那些对于你和你的同事来说理所当然的“常识”。2:抽出时间清楚地说明并完善需求客户很忙,经常在最忙的时候还得参与需求开发。但无论如何,你有义务抽出时间参与“头脑风暴”会议的讨论,接受采访或其它获取需求的活动。有时分析人员可能先以为明白了你的观点,而过后发现还需要你的讲解。这时,请耐心一些对待需求和需求的精化工作过程中的反复,因为它是人们交流中的很自然的现象,何况这对软件产品的成功极为重要。3:准确而详细地说明需求编写一份清晰、准确的需求文档是很困难的。由于处理细节问题不但烦人而且又耗时,故很容易留下模糊不清的需求。但是,在开发过程中,必须得解决这种模糊性和不准确性。而你恰是为解决这些问题作出决定的最佳人选。不然的话,你就只好靠开发人员去正确猜测了。在需求规格说明中暂时加上待定(to be determined, TBD也可采用汉语拼音略写“DQD:待确定”)的标志是个不错的办法。用该标志可指明了哪些需要进一步探讨、分析或增加信息的地方。不过,有时也可能因为某个特殊需求难以解决或没有人愿意处理它而注上TBD标志。尽量将每项需求的内容都阐述清楚,以便分析人员能准确的将其写进软件需求规格说明中。如果你一时不能准确表述,那就得允许获取必要的准确信息这样一个过程。通常使用所谓的原型技术。通过开发的原型,你可以同开发人员一起反复修改,不断完善需求定义。4:及时地作出决定正如一位建筑师为你修建房屋,分析人员将要求你做出一些选择和决定。这些决定包括来自多个用户提出的处理方法或在质量特性冲突和信息准确度中选择折衷方案等。有权做出决定的客户必须积极地对待这一切,尽快做处理、做决定。因为开发人员通常只有等你做出了决定才能行动,而这种等待会延误项目的进展。5:尊重开发人员的需求可行性及成本评估所有的软件功能都有其成本价格,开发人员最适合预算这些成本(尽管许多开发人员并不擅长评估预测)。你所希望的某些产品特性可能在技术上行不通,或者实现它要付出极为高昂的代价。而某些需求试图在操作环境中要求不可能达到的性能或试图得到一些根本得不到的数据,开发人员会对此作出负面的评价意见,你应该尊重他们的意见。有时,你可以重新给出一个在技术上可行、实现上便宜的需求,例如,要求某个行为在“瞬间”发生是不可行的,但换种更具体的时间需求说法(“在50ms以内”,但若没有准确的技术分析不能轻易下结论),这就可以实现了。6: 划分需求优先级别大多数项目没有足够的时间或资源来实现功能性的每个细节。决定哪些特性是必要的,哪些是重要的,哪些是好的,是需求开发的主要部分。只能由你来负责设定需求优先级,因为开发者并不可能按你的观点决定需求优先级。开发者将为你确定优先级提供有关每个需求的花费和风险的信息。当你设定优先级时,你帮助开发者确保在适当的时间内用最小的开支取得最好的效果。在时间和资源限制下,关于所需特性能否完成或完成多少应该尊重开发人员的意见。尽管没有人愿意看到自己所希望的需求在项目中未被实现,但毕竟是要面对这种现实的。业务决策有时不得不依据优先级来缩小项目范围或延长工期,或增加资源,或在质量上寻找折衷。7:评审需求文档和原型正如我们将在第1 4章讨论的,无论是正式的还是非正式的方式,对需求文档进行评审都会对软件质量提高有所帮助。让客户参与评审才能真正鉴别需求文档是否的确完整、正确说明了期望的必要特性。评审也给客户代表提供一个机会,给需求分析人员带来反馈信息以改进他们的工作。如果你认为编写的需求文档不够准确,就有义务尽早告诉分析人员并为改进提供建议。通过阅读需求规格说明,很难想象实际的软件是什么样子的。更好的方法是先为产品开发一个原型。这样你就能提供更有价值的反馈信息给开发人员,帮助他们更好地理解你的需求。必须认识到:原型并非是一个实际产品,但开发人员能将其转变、扩充成功能齐全的系统。8:需求出现变更要马上联系不断的需求变更会给在预定计划内完成高质量产品带来严重的负面影响。变更是不可避免的,但在开发周期中变更越在晚期出现,其影响越大。变更不仅会导致代价极高的返工,而且工期也会被迫延误,特别是在大体结构已完成后又需要增加新特性时。所以一旦你发现需要变更需求时,请一定立即通知分析人员。9:应遵照开发组织处理需求变更的过程为了将变更带来的负面影响减少到最低限度,所有的参与者必须遵照项目的变更控制过程。这要求不放弃所有提出的变更,对每项要求的变更进行分析、综合考虑,最后作出合适的决策以确定将某些变更引入项目中。10:尊重开发人员采用的需求工程过程软件开发中最具挑战性的莫过于收集需求并确定其正确性。分析人员采用的方法有其合理性。也许你认为需求过程不太划算,但请相信花在需求开发上的时间是“很有价值”的。如果你理解并支持分析人员为收集、编写需求文档和确保其质量所采用的技术,那么整个过程将会更为顺利。尽管去询问分析人员为什么他们要收集某些信息,或参与与需求有关的活动。系统分析人员在开发过程中可能会遇到以下问题,一些很忙的客户可能不愿意积极参与需求过程,而缺少客户参与将很可能导致不理想的产品。故一定要确保需求开发中的主要参与者都了解并接受他们的义务。如果遇到分歧,通过协商以达成对各自义务的相互理解,这样能减少今后的摩擦。1.7需求文档需求开发的最终成果是:客户和开发小组对将要开发的产品达成一致协议。协议综合了业务需求、用户需求和软件功能需求。就像我们早先所看到的,项目视图和范围文档包含了业务需求,而使用实例文档则包含了用户需求。你必须编写从使用实例派生出的功能需求文档,还要编写产品的非功能需求文档,包括质量属性和外部接口需求。只有以结构化和可读性方式编写这些文档,并由项目的风险承担者评审通过后,各方面人员才能确信他们所赞同的需求是可包含各类专业文献、应用写作文书、行业资料、生活休闲娱乐、外语学习资料、文学作品欣赏、专业论文、中学教育、76软件工程实习报告等内容。 
 软件工程实习报告_实习总结_总结/汇报_实用文档。通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高软件...  软件工程专业 实习报告_计算机软件及应用_IT/计算机_专业资料。软件工程专业 实习报告辽宁工程技术大学 本科生实习报告书 教学单位 专班业级 软件学院 软件工程(财升...  《软件工程》实训报告 软件工程》 专班姓学 业: 级: 名: 号: 软件技术 软件 3071 胡少平 41 淡海英 尹毅峰 指导老师: 指导老师: 实训时间: 实训时间: ...  软件工程实习报告(3700字)_实习总结_总结/汇报_实用文档。软件专业的实习报告,字数适合3000字或者4000字。以软件工程这门科学为基本写的,需要的可以拿去软件...  软件工程实训总结_计算机软件及应用_IT/计算机_专业资料。实训总结 一、 实训目的...必须要有事先对文档进行可靠性报告,功能说明书,详细设计说明书 等的编写和一些...  软件工程毕业实习报告_实习总结_总结/汇报_应用文书。软件工程专业的毕业实习报告学号xxxxxxxx 实习报告毕业实习 起止日期: 2013 年 3 月 4 日至 2013 年 3 月...  软件工程实习报告_IT/计算机_专业资料。软件工程实习报告案例解析》 《软件工程与 UML 案例解析》一、实习时间: 实习时间: 二、实习地点:第一机房 实习地点: 三、...  软件工程实习报告_学习总结_总结/汇报_实用文档。软件工程实习报告生产实习报告 生产实习单位加拿大维多利亚加中教育集团 实习时间 2011 年 8 月 5 日至 月 23 日...  软件工程认识实习报告_实习总结_总结/汇报_实用文档 暂无评价|0人阅读|0次下载|举报文档软件工程认识实习报告_实习总结_总结/汇报_实用文档。2010 年中国软件产业...软件工程认知实习(免费下载)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
软件工程认知实习(免费下载)
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩10页未读,继续阅读
你可能喜欢企业员工信息管理系统 软件工程实习报告_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
企业员工信息管理系统 软件工程实习报告
本​文​档​是​企​业​员​工​信​息​管​理​系​统​设​计​,​包​括​软​件​工​程​中​可​行​性​研​究​、​需​求​分​析​和​总​体​设​计​三​大​部​分​,​是​软​件​工​程​这​门​课​程​的​很​好​的​设​计​模​板​。
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩23页未读,继续阅读
你可能喜欢软件工程实习报告_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
软件工程实习报告
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩8页未读,继续阅读
你可能喜欢

我要回帖

更多关于 软件工程实习报告 的文章

 

随机推荐