软件工程大作业(12页).doc
《软件工程大作业(12页).doc》由会员分享,可在线阅读,更多相关《软件工程大作业(12页).doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-软件工程大作业-第 11 页软件工程课设报告书学院:软件学院 班级:16网安 姓名:范澜灵 学号:1615935075浅谈对软件工程项目开发本人虽是网络工程方向专业的学生,但经过这一学期来所上的软件工程课,收获颇多,就此对软件工程项目整体设计到开发发表一下自己的浅见,不足之处望各位读者老爷海涵。 一个项目总得来说不一定是给了你具体题目的,但总会是给你一个主题,在这个主题范围内找一个合适的题目,对吧?打个比方,比如我要开发一个项目,然后首先是要拿到这个项目的主题,通俗点来说就是这个项目是要做啥,做游戏?做网站?还是做软件应用。有了主题之后你才能从整体、大局上来构造这个项目的框架“提纲”。这个框
2、架就如同你写作文时的提纲,要让开发者清楚的明白自己该做相对于项目来说的什么模块。我的理解一直就是项目是由多个模块合成的,因此不太可能是大点的项目就只让某一个程序猿来做,每个程序员他总有自己所擅长的和所不擅长的模块,因此“物尽其用 人尽其才”就是项目经理所应达到的最高境界,合理的了解你项目内的各成员的性格特征、程序手法的特点来恰当并适宜的让他发挥出自己百分百的能力。 以上呢,都只能算是自己听了软件工程这门课后,一个软件工程菜鸟对软件如何开发谈出了自己的见解,正在学习中,也正在纠错的道路上。 先讲敏捷这一开发方法。敏捷软件开发是承担软件工程项目的概念框架。有许多像Scrum这样的敏捷软件开发方法论
3、(我们将在本文中更多地介绍它),Crystal方法和动态系统开发模型。敏捷方法的主要目标是通过在短时间内开发软件来降低风险,称为迭代,通常会持续一到四周。每个时间盒就像一个迷你软件项目,包括发布新增功能的所有必要任务:规划,需求分析,设计,编码,测试和文档。迭代可能不会增加足够的功能来保证发布产品,但是敏捷软件项目打算在每次迭代结束时发布新软件。在此迭代之后,团队重新评估项目优先级。敏捷方法强调工作产品是进度的主要衡量标准。相对于其他方法,敏捷产生很少的书面文档 - “实时”是更好的通信类型。大部分开发团队成员(以及企业主)都位于附近,可以面对面沟通。敏捷软件开发方法学的主要原则:面对面会议,
4、持续合作,早期和持续交付工作软件,透明度。每当客户端或内部发生意外或频繁的变化时,该模型就成为经理和团队领导者的最佳选择。它的优点是:1.自适应方法对变化做出有利的回应,允许直接沟通以保持透明度; 2.通过快速查找和修复缺陷并提前识别期望不匹配来提高质量。它的缺点是:专注于使用软件并缺乏文档效率,结果不一致的机会不明确。 下面说的是瀑布这一软件开发方法。瀑布模型是一种循序渐进的开发方法,其中开发被视为通过几个阶段稳步向下(如瀑布),通常:1.分析; 2.软件需求说明软件设计; 3.软件设计; 4.测试; 5.整合(如果有多个子系统); 6.部署(或安装); 7.维护。该方法的线性和刚性特性使其
5、易于理解和管理。所以对于经验不足的经理和团队来说,这是理想之选 在这种方法中,完成了不同的目标。在进入下一个阶段之前,每个阶段必须完成100,不要回头修改项目或方向。从理论上讲,这个过程导致项目按时交付,因为每个阶段都有详细的计划。它可以用于目标明确,需求稳定的项目。但在实践中,瀑布式开发通常不能达到预期,因为它不包含大多数项目所必需的不可避免的变化和修订。当一个应用程序正处于测试阶段时,很难回头去改变在概念阶段没有想到的东西。重点是一次性规划,时间安排,目标日期,预算和整个系统的实施。在开始下一阶段之前,通过大量书面文件,正式评审以及用户的批准/签收和大多数阶段结束时发生的信息技术管理,在项
6、目的整个生命周期内保持严密的控制。书面文件是每个阶段的明确可交付成果。尽管缺乏灵活性和过时的想法,但这种方法旨在摆脱不必要的文书工作,耗时的定期会议和积压。因此,对于预先了解开发的所有方面的小型项目而言,这是一个很好的选择,对于复杂项目来说这是一个不好的解决方案,因为它非常不灵活。在公司或者老板有明确要求和解决方案的情况下,不需要定义流程来开发最终产品。老板只需在完成项目时设定截止日期,并以开发团队自己的方式完成项目。优点:1.易于理解和功能; 2.简单到足以处理模型是僵化的; 3-节省大量的时间; 4.允许简单的测试和分析; 5.它允许部门化和管理控制。缺点:1.只匹配精确的需求; 2.不适
7、用于维护项目; 3.不允许在测试阶段进行编辑; 4.无法知道项目的可能结果; 5.对于长期和正在进行的项目来说不是很好。下面说的是Scrum这一软件开发方法。Scrum是一个用于管理产品开发的迭代式和增量式敏捷软件开发框架。它定义了一个灵活的整体产品开发策略,开发团队作为一个单元实现共同目标。这种方法使团队能够通过鼓励所有团队成员的实际共同定位或紧密的在线协作以及所有团队成员和所涉及的学科之间的日常面对面交流来自我组织。Scrum的一个关键原则是双重认识,即客户会改变他们想要或需要的东西(需求波动)并且会改变他们的想法。Scrum采用基于证据的经验方法 - 接受事先不能充分理解或定义的问题,而
8、是集中关注如何最大限度地提高团队的快速交付能力,响应新兴需求,并适应不断发展的技术和变化在市场条件下。Scrum的主要特点:积极进行优先工作,完成一系列短迭代或冲刺中的固定积压项目,一个简短的每日会议(“scrum”)来解释进展情况,描述即将开展的工作和可能的障碍,一个简短的计划会话,其中将定义sprint的积压项目,当所有团队成员反思过去的冲刺时,一个简短的心跳回顾。Scrum由Scrum master提供,它的主要工作是消除阻碍团队实现冲刺目标的能力。Scrum的主人并不是团队的领导者(因为他们是自组织的),而是团队与任何不稳定影响之间的生产力缓冲区。该方法鼓励所有团队成员以及项目涉及的所
9、有学科进行口头交流。与看板不同,Scrum更具时间框架和计划性。整个项目被分成称为Sprints的时间框,并且所有团队坐在一起并为每个Sprint计划需要完成的任务列表或用户故事列表。一旦团队同意并承诺在给定的时间框架内完成某些任务,开发团队应该坚持承诺并完成Sprint中的所有任务。如果延迟成本很高,最后期限应尽可能延迟,Scrum最适合。当最终产品不清楚或者需求没有得到客户的正确反馈时,经常会使用Scrum。在这里,客户参与整个过程,确定并关注需要完成的某些sprint产品待办事项(与团队一起)。Scrum取代了灵活的方法论,适合长期发展,并且频繁更改需求。换句话说,它适用于需要300多个
10、小时的开发项目。与瀑布不同的是,Scrum模型采用更灵活的规则,可以适应最后时刻的变化。团队合作,检查和透明度是Scrum方法的关键因素。结构:1.产品积压(一组允许尽快建立MVP的最高优先级任务); 2.冲刺积压(包含开发人员将在2-4周后处理的高优先级功能); 3.冲刺本身; 4.这种增长方法用于快速开发软件,其中包括一系列迭代以生成所需软件。它使有意推进的项目步入正轨。优点:1.决策权掌握在团队的手中; 2.业务需求文档被认为是不重要的; 3.轻轻控制的方法empathizing与不断更新。缺点:1.处理方法因成本波动而受损: 2.不适合大型项目: 3.需要高度专业的团队,这对新手来说没
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 作业 12
限制150内