ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:761.91KB ,
资源ID:10143655      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10143655.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程导论作业.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程导论作业.docx

1、软件工程导论作业定义:软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过实践考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地、高效的开发出高质量的软件并有效地维护它,这就是软件工程。认识:软件工程导论是软件工程专业的一门专业基础课程,是一门必修课。通过本课程的学习可以使学生了解软件工程的基本概念、基本原理、使用的开发方法和技术;了解软件工程各领域的基本内容和发展动向;学习工程化的方法开发软件和项目,初步掌握开发过程中应遵循的流程、准则、标准和规范。 需求获取总结:需求获取是进行需求收集的一个活动,它从人、资料和环境中

2、得到系统开发所需要的信息,着重与发现用户需求,常见的需求获取技术包括面谈和需求专题讨论会、问卷调查、原型、观察与文档审查方法等。需求模型总结:常见的需求模型包括思维导图模型、用例模型、数据流模型等,主要是用于表现系统的功能性需求,是以一种更加直观的方式来表现用户对软件系统的要求,即客户可以通过模型来验证系统是否满足自己的期望。开发者可以通过需求模型保证自己开发的系统是用户所期望的,以保证用户和开发者对问题理解的完备一致。系统设计总结:系统设计是对总体的规划,是整体的构思,包括了系统的元素以及它们之间的关系,就是规划系统的蓝图。主要包括了规划系统整体结构、明确系统所受到的制约和约束、确定系统核心

3、元素和相互关系、确定系统中的设计机制、确定系统的存储行、并行性和分布特征测试方法总结:软件的测试是软件开发过程中重要的组成部分,测试是在软件在投入运行前,对软件需求分析、设计规格说明和编码的最终复审,软件测试方法主要包括了黑盒法、白盒法、单元测试、集成测试、功能测试等,主要的测试步骤为:拟定软件测试计划、编制软件测试大纲、确定软件测试环境、设计和生成测试用例、实施测试、生成软件测试报告。无论说明方法,其测试的目的在于衡量正在开发的软件的质量。二、电脑软件开发过程、软件功能分析描述、所采用的技术、绘制功能流程图、用例图、时序图时序图:软件的开发过程:1、首先制定项目计划,最初计划是里程碑性质的。

4、可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用进入试运行期(也可以称为用户测试阶段)2、需求开发阶段:怎么样写好需求很关键,如何学会进行需求开发可以去看下经典的需求工程这个翻译的书,不是很厚,但需要能理解为什么那样做更好,这个需要实践经验锻炼自己。如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。一般分为用户需求说明书和需求规格说明书,小项目可以写一个需求分析报告,用户需求说明书是用用户的语言进行描述,让用户和

5、开发团队对于需求的达成一致的理解,需求规格说明书,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴3、系统设计阶段:系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类,用图的方式描述出用户和各子系统或模块的全局视图,以及和其他系统的关系。也就是搞清楚系统的边界问题。概要设计中除了高层架构设计,还需要设计网络拓扑图,以及系统部署图。概要设计比较

6、重要的还有就是子系统、模块进行合理的划分。模块的名称很大程度上会成为用户的主要菜单,如何用用户的角度去取比较清楚的子系统和模块是很重要的。4、代码开发和单元测试阶段:这个阶段一般来说需要改进瀑布模型,类似跌代开发,把模块进行合理划分,把项目总体计划的代码开发测试阶段划分为多个时间段,每个时间段都包括代码开发、单元测试和集成测试,这个阶段还需要对需求变更进行跟踪控制,如果需求有变更,那么要把需求文档、设计文档都重新跟上。跌代开发的好处就是不让代码开发阶段拉的过程,没有进行及时的自我检查,不小心到了提交时间,却不是用户想要的,还有可能都不是自己想要的。项目经理重要的责任是控制好进度,能及早发现风险

7、,并能拿出好的预防和解决办法的措施。合理安排好开发团队的任务,合时的任务安排和衔接,你会觉得非常有艺术感,这个要自己体会了。另外,关注项目团队各人员的状况,保持高的战斗力,及时发现并能鼓励团队共同朝一个目标前进。6、测试工作,测试是项目的很重要的环节,怎么测试,怎么准确测试,怎么有效测试,怎么覆盖测试,时间、人手、经验扽个方面都会有制约。高级测试人员能够分析系统各测试要点,在需求、设计阶段都要参与,提早了解如何去测试,能写出测试用例。7、文档工作,文档在项目开发中也占有重要位置,除非你觉得代码是项目唯一的成果,那么你把文档抛掉吧,什么都在你的脑子里,团队中人员一走,项目的一部分也就带走了。代码

8、开发其实也需要文档,代码是成果,代码注释是成果,模块开发卷宗也是重要的成果,因为程序员在开发时候的逻辑是怎么样的,对于今后查问题很有作用。除非你的系统设计程度到了方法、类,把代码逻辑也都设计好了,那么程序员就CODEING去吧。8、QA是对项目过程的质量保障,有些公司吧QA和测试工作合成一个岗位叫做QA&测试人员,或者就叫QA人员。QA是对项目全过程的监管,独立于项目之外。监督项目经理在各项目里程碑提交相关成果,入库形成基线。功能分析:在线购票、预定服务:在线购票功能能够提供用户通过在线进行选购电影票,并且进行选择电影场次、选择观影座位等。同时也能够通过在线进行预定其他服务,根据商家的服务内容

9、为其提供产品服务的展示位。互动圈子:用户可以通过登录会员账号,就能够参与影院圈子的互动,对电影进行点评等,营造良好的平台互动氛围。数据统计:在数据统计中,对会员的消费内容进行统计,并且对个人消费数据分析,为营销人员提供运营的科学数据支持,帮助影院APP开发平台实现精准化营销。会员积分:通过商家制定的赢取积分的制度,会员能够通过消费或者参与活动获得积分,并且可以通过积分商城进行换购产品,能够有效提高APP的粘性。线上支付线下取票:与影院购票机硬件的结合,实现线上支付,线下取票功能。在线观影:在线观影功能为用户提供了预告片、免费影片等视频内容播放,有效提升APP点击率以及用户的粘性。分类排序:那么

10、多的电影类型,细分开来才是为了用户考虑。影视搜索:不管是新片、旧片都那么多,怎么才能找到自己想看的哪一部电影呢?那就是影视搜索了。采用技术:极致的海量数据处理方案-构建分布式、水平扩展的系统任何系统都是妥协需求和设计的结果-超大访问导致的超大业务处理能力。技术手段有分布式集群服务、缓存、业务水平分割和异步。功能图:功能流程图:顶层系统流程图用例图:登录时序图:买票时序图:三、为一个软件设计测试方案以及具体的测试用例功能分析和界面设计(绘制思维导图)测试方案:1、功能测试测试范围 :验证数据精准度、数据类型、业务功能等相关方面的正确性测试目标:核实所有功能均已经正常实现,即是否与需求一致技术:采

11、用黑盒模式、边界测试、等价类划分等测试方法工具与方法:手工测试开始标准:开发阶段对应的功能完成并且测试用例设计完成完成标准:测试用例用过并且最高级缺陷全部解决2、界面测试测试方位:页面结构包括菜单、背景、颜色、字体、按钮名称、titlb、提示信息的一致性测试目标:合适各个窗口风格都与需求保持一致,或者符合可接受标准,能够保证用户就免的友好性,易操作性,而且符合用户操作习惯技术:app测试通用方法工具和方法:手动测试、目测开始标准:界面开发完成完成标准:ui符合可接受标准,能够保证用户界面的友好性,易操作性、而且符合用户操作习惯3、性能测试测试范围:多用户长时间在线操作时性能方面的测试测试目标:

12、合适系统在大流量的数据与多用户操作时软件性能的稳定性,不造成形同崩溃或相关异常现象技术:手工测试、自动化测试开始标准:自动化测试脚本设计并评审通过且项目组移交系统测试完成标准:体统满足用户需求中所有要求的性能要求4、安全性测试测试范围:用户、管理员密码安全、权限、非法攻击测试目标:用户、管理员的密码操作、应用程序级别的安全性,核实用户只能操作其所有权限能操作的角色、系统级别的安全性,核实只有具系统访问权限的用户才能访问系统技术:代码包或者非法攻击工具工具与方法:手工测试开始标准:功能测试完成完成标准:执行各种非法操作无完全漏洞且系统使用征程5、兼容性测试测试范围:使用不同版本的安卓系统进行测试

13、、使用不同的分辨率和操作系统的手机进行操作测试目标:核实系统在不同的手机系统中稳定的运行技术:黑盒测试工具与方法:手工测试开始标准:项目组移交系统测试完成标准:在不同的安卓系统版本下或或者其组合下均能正常的实现其功能6、回归测试测试范围:所有功能、用户界面、兼容性、安全性等测试类型测试目标:核实执行所有测试类型后功能、性能等均达到用户需求所要求的的标准技术:黑盒测试工具与方法:手工测试和自动化测试开始标准:每当测试的软件或者其环境改变时在每个合适的测试阶段上进行回归测试完成标准:百分之九十五的测试试用例执行通过并通过系统测试测试终点与优先级:测试优先级以测试绣球的优先级为参照需考虑的特殊事项:

14、软硬件设备问题二、性能测试 性能测试是一种对响应时间、事务处理速率和其他与时间相关的需求进行测试和评估。性能测试的目标是核实性能需求是否都已满足。可以分为以下几种进方式来组织进行测试。 1.2. 预期性能测试用例 通常系统在设计前会提出一些性能指标,这些指标是性能测试要完成的首要工作,针对每个指标都要统写多个测试用例来验证是否达到要求,根据测试结果来改进系统的性能。预期性能指标通成以单用户为主。 测试目的 前置条件 测试需求 测试过程说明 期望的性能(平均值) 实际性能(平均值) 功能1 场景1 场景2 场景3 备注: 1.3. 用户并发测试用例 用户并发测试是性能测试最主要的部分,主要是通过

15、增加用户数量来加重系统负担,以检验测试对象能接收的最大用户数来确定功能是否达到要求。 测试目的 前提条件 测试需求 输入(并发用户数) 用户通过率 期望性能(平均值) 实际性能(平均值) 功能1 50 100 200 功能2 50 100 200 备注: 1.4. 大数据量测试用例 大数据量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。大数据量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。 测试目的 前提条件 测试需求 输入(最大数据量) 事务成功率 期望性能(平均值) 实际性能(平均值) 功能1 10000第条记录 15000第条记录 20000第条

16、记录 功能2 10000第条记录 15000第条记录 20000第条记录 备注: 1.5. 负载测试测试用例 负载测试也是性能测试中的一种。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。 测试目的 前提条件 测试需求 输入 期望输出 是否正常运行 备注 客户端 Window2000(S) WindowXp Window2000(P) Window2003 数据库服务器

17、Window2000(S) WindowXp Window2000(P) Window2003 浏览器 Window IE4.0以上 NetScape FireFox Maxthon 其他心得体会:刚刚结束了“软件工程导论”课程的学习。这门课程带给了我很大的启发,让我对软件工程这一新兴学科有了全面的,深刻的认识。终于知道了个软件工程的大概。学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。曾经以为程序就是软件,软件就是程序。学习这门课程第一个收获是,知道了二者的不同之处。以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。不

18、过大的项目没有接触过,用软件工程的方法还是第一次。我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。其核心就是,对于软件开发的5个重要组成部分:需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。吾生也有涯,而知也无涯,学习永无止境。起初,对软件工程处于一知半解的状态,分工比较混乱。在划分模块后明确了各自分工,渐渐形成良性循环。在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。团队成员中

19、能力各有高下,互相尊重,各取所长,不宜妄自菲薄。组长多加协调,组员积极配合,才能合作愉快。学习能力体现在能尽快接受新的知识,顺应变化,学为所用。上软件工程导论这门课,我的收获大概如下:我们为什么需要软件工程呢?上面已经给出了一些原因。专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。软件工程就是一门包含技术和管理两个部分的一门系统化学问。整个课程学习让我收获颇多,但是仅仅凭课堂上的理论知识并不会让我对这门学科有更全面的认识,最主要的是学以致用,在以后其他的学习中我会使用在这门学科中所学到的知识,发挥这门学科的价值所在。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1