软件工程导论作业Word格式文档下载.docx
- 文档编号:6062423
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:14
- 大小:761.91KB
软件工程导论作业Word格式文档下载.docx
《软件工程导论作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程导论作业Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。
软件的测试是软件开发过程中重要的组成部分,测试是在软件在投入运行前,对软件需求分析、设计规格说明和编码的最终复审,软件测试方法主要包括了黑盒法、白盒法、单元测试、集成测试、功能测试等,主要的测试步骤为:
拟定软件测试计划、编制软件测试大纲、确定软件测试环境、设计和生成测试用例、实施测试、生成软件测试报告。
无论说明方法,其测试的目的在于衡量正在开发的软件的质量。
二、
电脑软件开发过程、软件功能分析描述、所采用的技术、绘制功能流程图、用例图、时序图时序图:
软件的开发过程:
1、首先制定项目计划,最初计划是里程碑性质的。
可以先按瀑布模型设置,里程碑点主要为需求评审、设计评审、经过代码开发和单元测试后进行集成测试、部署上线是一个很重要的里程碑,一般用户会期望系统何时能使用进入试运行期(也可以称为用户测试阶段)
2、需求开发阶段:
怎么样写好需求很关键,如何学会进行需求开发可以去看下经典的《需求工程》这个翻译的书,不是很厚,但需要能理解为什么那样做更好,这个需要实践经验锻炼自己。
如果有项目成员,可以一起做需求,这个阶段对于业务理解、分析、如何开展调研以及文字表述、业务流程图描述还有文档编辑能力都有不少要求。
一般分为《用户需求说明书》和《需求规格说明书》,小项目可以写一个《需求分析报告》,《用户需求说明书》是用用户的语言进行描述,让用户和开发团队对于需求的达成一致的理解,《需求规格说明书》,则是对用户需求的分析,形成系统要具有的功能,这个是真正提供用户可交互操作的文档,也就是后期设计和代码开发的重要基线。
另外,作为了解需求,拿出用户UI和用户交流也是一项比较重要的需求获取手段,虽然这个属于设计的范畴
3、系统设计阶段:
系统总体架构,结合用户对系统环境、开发语言以及运行的网络硬件等要求,确定开发工具等,对应用系统关系进行架构性设计,通过需求阶段对用户的分析归类,用图的方式描述出用户和各子系统或模块的全局视图,以及和其他系统的关系。
也就是搞清楚系统的边界问题。
概要设计中除了高层架构设计,还需要设计网络拓扑图,以及系统部署图。
概要设计比较重要的还有就是子系统、模块进行合理的划分。
模块的名称很大程度上会成为用户的主要菜单,如何用用户的角度去取比较清楚的子系统和模块是很重要的。
4、代码开发和单元测试阶段:
这个阶段一般来说需要改进瀑布模型,类似跌代开发,把模块进行合理划分,把项目总体计划的代码开发测试阶段划分为多个时间段,每个时间段都包括代码开发、单元测试和集成测试,这个阶段还需要对需求变更进行跟踪控制,如果需求有变更,那么要把需求文档、设计文档都重新跟上。
跌代开发的好处就是不让代码开发阶段拉的过程,没有进行及时的自我检查,不小心到了提交时间,却不是用户想要的,还有可能都不是自己想要的。
项目经理重要的责任是控制好进度,能及早发现风险,并能拿出好的预防和解决办法的措施。
合理安排好开发团队的任务,合时的任务安排和衔接,你会觉得非常有艺术感,这个要自己体会了。
另外,关注项目团队各人员的状况,保持高的战斗力,及时发现并能鼓励团队共同朝一个目标前进。
6、测试工作,测试是项目的很重要的环节,怎么测试,怎么准确测试,怎么有效测试,怎么覆盖测试,时间、人手、经验扽个方面都会有制约。
高级测试人员能够分析系统各测试要点,在需求、设计阶段都要参与,提早了解如何去测试,能写出测试用例。
7、文档工作,文档在项目开发中也占有重要位置,除非你觉得代码是项目唯一的成果,那么你把文档抛掉吧,什么都在你的脑子里,团队中人员一走,项目的一部分也就带走了。
代码开发其实也需要文档,代码是成果,代码注释是成果,模块开发卷宗也是重要的成果,因为程序员在开发时候的逻辑是怎么样的,对于今后查问题很有作用。
除非你的系统设计程度到了方法、类,把代码逻辑也都设计好了,那么程序员就CODEING去吧。
8、QA是对项目过程的质量保障,有些公司吧QA和测试工作合成一个岗位叫做QA&
测试人员,或者就叫QA人员。
QA是对项目全过程的监管,独立于项目之外。
监督项目经理在各项目里程碑提交相关成果,入库形成基线。
功能分析:
在线购票、预定服务:
在线购票功能能够提供用户通过在线进行选购电影票,并且进行选择电影场次、选择观影座位等。
同时也能够通过在线进行预定其他服务,根据商家的服务内容为其提供产品服务的展示位。
互动圈子:
用户可以通过登录会员账号,就能够参与影院圈子的互动,对电影进行点评等,营造良好的平台互动氛围。
数据统计:
在数据统计中,对会员的消费内容进行统计,并且对个人消费数据分析,为营销人员提供运营的科学数据支持,帮助影院APP开发平台实现精准化营销。
会员积分:
通过商家制定的赢取积分的制度,会员能够通过消费或者参与活动获得积分,并且可以通过积分商城进行换购产品,能够有效提高APP的粘性。
线上支付线下取票:
与影院购票机硬件的结合,实现线上支付,线下取票功能。
在线观影:
在线观影功能为用户提供了预告片、免费影片等视频内容播放,有效提升APP点击率以及用户的粘性。
分类排序:
那么多的电影类型,细分开来才是为了用户考虑。
影视搜索:
不管是新片、旧片都那么多,怎么才能找到自己想看的哪一部电影呢?
那就是影视搜索了。
采用技术:
极致的海量数据处理方案--构建分布式、水平扩展的系统
任何系统都是妥协需求和设计的结果--超大访问导致的超大业务处理能力。
技术手段有分布式集群服务、缓存、业务水平分割和异步。
功能图:
功能流程图:
顶层系统流程图
用例图:
登录时序图:
买票时序图:
三、为一个软件设计测试方案以及具体的测试用例
功能分析和界面设计(绘制思维导图)
测试方案:
1、功能测试
测试范围:
验证数据精准度、数据类型、业务功能等相关方面的正确性
测试目标:
核实所有功能均已经正常实现,即是否与需求一致
技术:
采用黑盒模式、边界测试、等价类划分等测试方法
工具与方法:
手工测试
开始标准:
开发阶段对应的功能完成并且测试用例设计完成
完成标准:
测试用例用过并且最高级缺陷全部解决
2、界面测试
测试方位:
页面结构包括菜单、背景、颜色、字体、按钮名称、titlb、提示信息的一致性
合适各个窗口风格都与需求保持一致,或者符合可接受标准,能够保证用户就免的友好性,易操作性,而且符合用户操作习惯
app测试通用方法
工具和方法:
手动测试、目测
界面开发完成
ui符合可接受标准,能够保证用户界面的友好性,易操作性、而且符合用户操作习惯
3、性能测试
测试范围:
多用户长时间在线操作时性能方面的测试
合适系统在大流量的数据与多用户操作时软件性能的稳定性,不造成形同崩溃或相关异常现象
手工测试、自动化测试
自动化测试脚本设计并评审通过且项目组移交系统测试
体统满足用户需求中所有要求的性能要求
4、安全性测试
用户、管理员密码安全、权限、非法攻击
用户、管理员的密码操作、应用程序级别的安全性,核实用户只能操作其所有权限能操作的角色、系统级别的安全性,核实只有具系统访问权限的用户才能访问系统
代码包或者非法攻击工具
功能测试完成
执行各种非法操作无完全漏洞且系统使用征程
5、兼容性测试
使用不同版本的安卓系统进行测试、使用不同的分辨率和操作系统的手机进行操作
核实系统在不同的手机系统中稳定的运行
黑盒测试
项目组移交系统测试
在不同的安卓系统版本下或或者其组合下均能正常的实现其功能
6、回归测试
所有功能、用户界面、兼容性、安全性等测试类型
核实执行所有测试类型后功能、性能等均达到用户需求所要求的的标准
手工测试和自动化测试
每当测试的软件或者其环境改变时在每个合适的测试阶段上进行回归测试
百分之九十五的测试试用例执行通过并通过系统测试
测试终点与优先级:
测试优先级以测试绣球的优先级为参照
需考虑的特殊事项:
软硬件设备问题
二、性能测试性能测试是一种对响应时间、事务处理速率和其他与时间相关的需求进行测试和评估。
性能测试的目标是核实性能需求是否都已满足。
可以分为以下几种进方式来组织进行测试。
1.2.预期性能测试用例通常系统在设计前会提出一些性能指标,这些指标是性能测试要完成的首要工作,针对每个指标都要统写多个测试用例来验证是否达到要求,根据测试结果来改进系统的性能。
预期性能指标通成以单用户为主。
测试目的前置条件测试需求测试过程说明期望的性能(平均值)实际性能(平均值)功能1场景1场景2场景3
备注:
1.3.用户并发测试用例用户并发测试是性能测试最主要的部分,主要是通过增加用户数量来加重系统负担,以检验测试对象能接收的最大用户数来确定功能是否达到要求。
测试目的前提条件测试需求输入(并发用户数)用户通过率期望性能(平均值)实际性能(平均值)功能150100200
功能250100200
备注:
1.4.大数据量测试用例大数据量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。
大数据量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
测试目的前提条件测试需求输入(最大数据量)事务成功率期望性能(平均值)实际性能(平均值)功能110000第条记录15000第条记录20000第条记录功能210000第条记录15000第条记录
20000第条记录„
1.5.负载测试测试用例负载测试也是性能测试中的一种。
在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
测试目的前提条件测试需求输入期望输出是否正常运行备注
客户端Window2000(S)WindowXpWindow2000(P)Window2003数据库服务器Window2000(S)WindowXpWindow2000(P)Window2003浏览器WindowIE4.0以上NetScapeFireFoxMaxthon其他
心得体会:
刚刚结束了“软件工程导论”课程的学习。
这门课程带给了我很大的启发,让我对软件工程这一新兴学科有了全面的,深刻的认识。
终于知道了个软件工程的大概。
学的时候总觉得很抽象,理解起来好像不难,但总是摸不着头脑一种很茫然的感觉。
曾经以为程序就是软件,软件就是程序。
学习这门课程第一个收获是,知道了二者的不同之处。
以前做过的一些小型的软件比如加密软件,我也只是在程序旁边附上一个软件的说明,看来已经很接近作坊了。
不过大的项目没有接触过,用软件工程的方法还是第一次。
我想也是程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。
理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。
其核心就是,对于软件开发的5个重要组成部分:
需求分析,设计,编码,调试,维护,如何组织这5个部分的工作,以及如何完成每一个工作。
吾生也有涯,而知也无涯,学习永无止境。
起初,对软件工程处于一知半解的状态,分工比较混乱。
在划分模块后明确了各自分工,渐渐形成良性循环。
在学习过程中,知道了团队合作十分重要,争议固然存在,但通过讨论、协商,群策群力,在不断磨合中能够达成一致与默契。
团队成员中能力各有高下,互相尊重,各取所长,不宜妄自菲薄。
组长多加协调,组员积极配合,才能合作愉快。
学习能力体现在能尽快接受新的知识,顺应变化,学为所用。
上《软件工程导论》这门课,我的收获大概如下:
我们为什么需要软件工程呢?
上面已经给出了一些原因。
专业点讲,软件工程最终是为了实现“软件制造业”的社会化,工业化大生产,提高其劳动生产效率。
只有如此,软件业才能实现社会化,工业化大生产,才能“做大做强”。
没有管理的设计是失败和混乱的设计,没有设计指导的编程是无序的忙碌的。
根据开发的软件的规模,应该适当程度的运用软件工程化的思想,需要灵活,毕竟我们开发的软件大多数是中小型的,大型的并不多见(我是这么认为的)。
但只要涉及人员间的交流和沟通,或多或少都要需要软件工程才能更有效率,工作成果更稳定。
软件工程就是一门包含技术和管理两个部分的一门系统化学问。
整个课程学习让我收获颇多,但是仅仅凭课堂上的理论知识并不会让我对这门学科有更全面的认识,最主要的是学以致用,在以后其他的学习中我会使用在这门学科中所学到的知识,发挥这门学科的价值所在。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 作业