201671030111 李蓉 实验十四 团队项目评审课程学习总结

项目内容
这个作业属于哪个课程软件工程
这个作业的要求在哪里实验十四 团队项目评审&课程学习总结
作业学习目标掌握软件项目评审会流程,反思总结课程学习内容。

任务一:结合本学期课程学习内容,对比《实验一 软件工程准备》的任务5你所提的问题(给出提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的;学习中是否产生了新的问题?如有,请提出。

        构建之法与博客首秀

问题一:软件的安全功能是指什么呢?

        经过一学期的学习,通过阅读书籍,我认为在软件中有类似飞机的安全功能,但是每个软件的安全需求不同,所以,其安全功能也是不一样的。比如一些带有支付功能的软件,其安全功能可能就是保障用户的财产安全,而像一些社交软件,其安全功能可能就是保障用户的账户安全。比如qq,其安全功能可能就是保障用户的社交账号不被不法分子盗用。再比如支付宝,其安全功能就是保障用户的钱财不被不法分子盗刷。

问题二:在软件项目中,哪项工作用“20%占用了80%的时间”?

        经过一学期的学习,在完成了几个项目有了一些开发经验后,再回过头来看这个问题,我认为在软件项目中,需求调研这项工作占用了80%的时间,以前认为的编程反而没有占那么多的时间,而前期的需求调研工作却占用了大量的时间。一个软件的开发,最主要的不是去编写程序,而是需要充足的时间去调研软件的目标用户所需要的功能,否则就是在做无用功,就是在想当然的编写程序代码,这样开发出来的软件,最后可能只会无人问津。所以,我认为需求调研这项工作占用了百分之八十的时间,而设计、实现这个软件,可能用了剩余的百分之二十的时间。

问题三:在现实的软件开发中,企业一般用哪种方式获取用户需求?

        经过一学期的学习,在真正做了几个小型项目和一个较大的项目,拥有一些软件开发经验后,我认为企业应该没有具体选择的应用模式,而是根据需求并结合模型的特点来选择使用哪种方式来获取用户需求。就像我们班在进行需求调研时,好多组的同学未经切实的考虑就选择了问卷调查法来获取用户需求,而实际是有的项目可能并不适合使用该方法,使用错误的方法获取用户需求,可能做的只是无用功,最后,还得用其他的方法去获取用户需求,费时又费力。因此,我认为企业获取用户需求不是只用一种方式,而是根据开的项目选取合适的方法去获取用户需求,为了获取更准确的用户需求,也不可能只使用一种方法,而是多种方法结合起来获取用户需求,而这项工作可能占用80%的时间。

任务二:总结自己在项目的 可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到了哪些“知识点”。

1.可行性分析:
        可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析包括投资必要性,技术可行性,组织可行性,资金可行性,政策可行性等。
2.需求分析:
        需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要“实现什么”,而不是考虑如何去“实现”。需求分析的目标是把用户对待开发软件提出的“要求”或“需要”进行分析与整理,确认后形成描述完整、清晰与规范的文档,确定软件需要实现哪些功能,完成哪些工作。此外,软件的一些非功能性需求(如软件性能、可靠性、响应时间、可扩展性等),软件设计的约束条件,运行时与其他软件的关系等也是软件需求分析的目标。常用的获取需求的方法:现场观察、访问、问卷调查、会议研讨、原型评估、场景分析和用例分析等。
3.软件设计:
        软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。软件设计阶段包括:概要设计与详细设计,概要设计又包括结构设计、接口设计、全局数据结构设计和过程设计。
(1)概要设计:描述了软件的总的体系结构就是概要设计,概要设计阶段要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程。
(2)详细设计:详细设计是对概要设计的一个细化,就是详细设计每个模块实现算法和所需的局部结构。详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
4.实现:
        通常把编码和测试统称为实现。
(1)编码:编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。
(2)测试:测试就是检测程序并改正错误的过程。
5.测试:
(1)测试方法:黑盒测试、白盒测试、静态测试和动态测试。
(2)测试步骤:
        a.模块测试;
        b.子系统测试;
        c.系统测试;
        d.验收测试;
        e.平行运行。
6.项目验收:
        项目验收是软件开发结束后用户对软件产品投入实际应用以前进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各项要求以及用户能否接受的问题。由于它不只是检验软件某个方面的质量,而是要进行全面的质量检验,并且要决定软件是否合格,因此验收测试是一项严格的正式测试活动。需要根据事先制订的计划,进行软件配置评审、功能测试、性能测试等多方面检测。项目开发方应该提供《需求分析说明书》、《概要设计说明书》、《详细设计说明书》、《数据库设计说明书》、《测试计划》、《测试报告》、《程序维护手册》、《用户操作手册》、《项目总结报告》等一系列的文档说明。
项目验收过程中,项目验收组织对于项目整体的九项主要的验收活动:
(1)项目目标验收;
(2)项目性质验收;
(3)项目空间验收;
(4)项目质量验收;
(5)项目技术验收;
(6)项目损耗验收;
(7)项目时间验收;
(8)项目安全验收;
(9)项目信息验收。

任务三:结合个人项目/结对编程/团队项目的个人经历,谈谈心得。

        通过一学期的学习、实践,在个人项目开发中,我认识到自己还有许多的技术需要去学习,虽然通过查阅大量的资料最终也磕磕绊绊的完成了项目,但深刻认识到自己在编程方面任重而道远,还需要花费大量的时间去学习、去练习新技术;在结对编程开发中我认识到一定要事先统一好编码风格,还要把握好一个人编程的时间,不能太长也不能太短,时间太长编程效率会降低,时间太短可能实现不了什么功能,两个人一定要配合好,有什么矛盾一定要当面说开,讨论出解决办法,否则可能完不成项目或完成的项目质量低;在团队项目开发中,我认识到组员之间的沟通非常重要,发生矛盾之后不能因为怄气而互相不理睬,要求同存异,找出解决办法,否则在后续的开发过程中会寸步难行,同时,在开发过程中也要进行合理的分工,虽然不可能每个人的工作百分百占一样的比例,但这周某位同学分配的工作多了,下周就可以给他分配的工作少一点,还要给每个人分配适合他的工作,还有就是,在遇到较大的困难时,一定要及时向他人求助,不能因为好面子就一直憋着不问,实在无法解决时,小组之内可以开会讨论,共同商讨解决办法,作为一个团队,一定要团结!

任务四:总结这门课程的实践总结和给你带来的提升,包括以下内容:

1.统计在软件工程实践中,你完成了多少行的代码?

        在软件工程的实践中,我大概完成了2000+行代码。

2.你在软件工程实践的各次作业分别花了多少时间?(做一个列表)

软件工程作业花费时间/h
实验一 软件工程准备8
实验二 软件工程个人项目15.5
实验三 作业互评与改进8
实验四 软件工程结对项目 15
实验五 团队作业1:软件研发团队组建 5
实验六 团队作业2:团队项目选题 5
实验七 团队作业3:团队项目原型设计与开发14
实验八 团队作业4:基于原型的团队项目需求调研与分析 21
实验九 团队作业5:团队项目需求分析改进与系统设计 17
实验十 团队作业6:团队项目系统设计改进与详细设计 20
实验十一 团队作业8:软件测试与Alpha冲刺30
实验十二 团队作业9:Beta冲刺与验收准备15.5
实验十三 团队项目评审&课程学习总结6

3.哪一次作业让你印象最深刻?为什么?

        我印象最深刻的一次作业是实验十一 团队作业8:软件测试与Alpha冲刺,由于我们班课程少且放假多,我们班的课程进度就很慢。当老师要求我们在一周内完成编码阶段时,我们内心其实都很慌,不知道自己在限定时间内能不能完成任务。在当天,我们就开会进行了讨论,进行了明确的分工。当学习了一些相关知识后,我们就开始了任务。由于编程基础不是很好,在刚开始编写代码时,确实遇到了许许多多的问题,但好在通过小组内同学的帮助,最终也解决了遇到的那许许多多的问题。通过这次实验我认识到“众人拾柴火焰高”,只要小组内的同学团结一致,看似不可能完成的任务最终也能完成

4.累计花了多少个小时在软件工程实践上?平均每周花多少个小时?

        累计共花了180个小时在软件工程实践上,平均每周10个小时在软件工程实践上。

5.你学习和掌握的新语言、新平台。

        博客园、Markdown、GitHub、MySQL数据库、jsp技术、中国大学MOOC、摹客、visio、ProcessOn、leango、雨课堂。

6.填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法。

软件开发工具,项目管理工具软件开发方法软件建模方法
Mockplus、leangoo、GitHub、MyEclipse、MySQL原型方法、面向对象方法、Jackson方法数据库建模、面向对象建模、数据流图

7.其他方面的收获或提升。

        通过这学期的学习和项目实践,我知道了如何撰写博客、如何使用许许多多的工具来辅助软件开发、如何有规划的学习新知识新技术和应用新知识新技术,同时,我也学到了新的学习知识的方法,比如老师的翻转课堂教学法,以前在学习中我是很少会课前预习的,但在这学期,我全程跟着MOOC网的老师学习了新知识,虽然在后期的学习中因为课程进度原因,老师是全程给我们讲授知识,但我还是收益匪浅!

任务五:你认为目前的课程存在哪些问题,你有什么更好的建议。

        通过本学期的学习,我认为老师新颖的教学方式——翻转课堂,前期做的很好,也有一定的过渡时期,但坚持的不太好,后期由于课程进度原因坚持的不是很好,希望老师在下学期的教学中能协调好这方面。还有就是在实践课程中,任务量大且耗时长,这学期由于考研等原因,有些实验完成的匆匆忙忙,没有达到预期的效果,希望老师可以减少一些工作量。最后,感谢老师一学期的辛勤教导,也感谢助教们对我们学习上的帮助和监督。

转载于:https://www.cnblogs.com/LioRong/p/11110195.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux——线程通信(2)

文章目录1.条件变量1.1 条件变量函数:1.2 pthread_cond_init 函数1.3 pthread_cond_destroy 函数1.4 pthread_cond_wait 函数1.5 pthread_cond_timedwait 函数1.6 pthread_cond_signal 函数1.7 pthread_cond_broadcast 函数2.生产者消费者模型3.条件变量的优点&…

Hadoop(2):常见的MapReduce[在Ubuntu中运行!]

1 以词频统计为例子介绍 mapreduce怎么写出来的 弄清楚MapReduce的各个过程&#xff1a; 将文件输入后&#xff0c;返回的<k1,v1>代表的含义是&#xff1a;k1表示偏移量&#xff0c;即v1的第一个字母在文件中的索引&#xff08;从0开始数的&#xff09;&#xff1b;v1表…

springboot学习笔记-01-springboot-helloworld的编写以及原理初步了解(自动装配)

文章目录原理初探主程序关于spring boot&#xff0c;谈谈你的理解&#xff1a;微服务阶段原理初探 pom.xml spring-boot-dependencies&#xff1a;核心依赖在父工程中&#xff01;我们在写或者引入一些springboot依赖的时候&#xff0c;不需要指定版本&#xff0c;就因为有这…

2022年:机器人技术的重大革命

来源&#xff1a;ScienceAI编辑&#xff1a;萝卜皮一段时间以来&#xff0c;跟踪机器人技术发展的人已经注意到该领域的一场无声革命。虽然自动驾驶汽车占据了所有的头条新闻&#xff0c;但人工智能、机器视觉和机器学习的交叉领域正在迅速成为下一阶段机器人技术的基础。通过将…

SpringBoot无法找到加载类 ,应用Feign其他服务无法package两类问题

无法找到加载类 1.如果在一系列简单的故障&#xff08;有没有加注解或者有没有依赖有没有全面&#xff09;&#xff0c;或者说加载类有没有在根目录src/main/java/(包名)的直接路径下 如果这些都没有 重点来了 把你 .idea 文件删了&#xff0c;运行 2.第二类问题 先把你要…

陈天奇高赞文章:新一代深度学习编译技术变革和展望

来源&#xff1a;机器之心作者&#xff1a;陈天奇陈天奇是机器学习领域著名的青年华人学者之一&#xff0c;本科毕业于上海交通大学ACM班&#xff0c;博士毕业于华盛顿大学计算机系&#xff0c;研究方向为大规模机器学习。在本文中&#xff0c;陈天奇回答了目前深度学习编译技术…

设计模式——桥模式

文章目录1.“单一职责”模式2.动机&#xff08;Motivation&#xff09;3.模式定义4.要点总结5.代码对比1.“单一职责”模式 在软件组件的设计中&#xff0c;如果责任划分的不清晰&#xff0c;使用继承得到的 结果往往是随着需求的变化&#xff0c;子类急剧膨胀&#xff0c;同时…

操作系统欢乐笔记-01-带你推开操作系统的大门(雾)

B站-操作系统-哈尔并工业大学-劝退警告223 文章目录1.什么是操作系统&#xff1f;什么是操作系统&#xff1f;小目标&#xff1f;2.揭开钢琴的盖子熟悉的win开机画面从白纸到图灵机冯-诺依曼一拍脑袋瓜&#xff0c;他说摁下开机键这段不是rap 223 劝退警告emmmmm1.什么是操作系…

oracle Sql语句分类

dml语句&#xff1a;数据操作语句【insert&#xff0c;update&#xff0c;delete】 ddl语句&#xff1a;数据定义语言【create table&#xff0c;drop table】 dql语句&#xff1a;数据查询语句【select】 dtl语句&#xff1a;数据控制语言【commit&#xff0c;rollback】 pack…

2022年值得关注的22项新兴技术

来源&#xff1a;参考消息网英国《经济学人》网站11月8日发表题为《下一个是什么&#xff1f;2022年值得关注的22项新兴技术》的文章。在文章列举的22项新技术中&#xff0c;既有今年大热的“元宇宙”、太空旅游、脑机接口&#xff0c;也有备受期待的量子计算、艾滋病病毒疫苗……

分别安装搭建lamp服务环境

一、 分别安装搭建lamp服务环境 准备工作&#xff1a; 1、配置防火墙&#xff0c;开启80端口、3306端口vi /etc/sysconfig/iptables-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state –state NEW -m tcp -p tcp –dp…

springdata学习笔记-01-helloworld-(暂时不全223)

第一天 orm思想和hibernate以及jpa的概述和jpd的基本操作 传统jdbc操作 获取链接创建statement对象可以对占位符赋值发送查询 操作繁琐占位符赋值麻烦 orm思想 主要目的&#xff1a;操作实体类就相当于操作数据库表建立两个映射关系 实体类和表的映射关系实体类中属性和表中…

oracle函数 INITCAP(c1)

【功能】返回字符串并将字符串的第一个字母变为大写&#xff0c;其它字母小写; 【参数】c1字符型表达式 【返回】字符型 【示例】 SQL> select initcap(smith abc aBC) upp from dual; UPP ----- Smith Abc Abc转载于:https://www.cnblogs.com/fanweisheng/p/11119958.html

设计模式——抽象工厂

文章目录1.“对象创建”模式2.动机&#xff08;Motivation&#xff09;3.模式定义4.要点总结5.代码对比1.“对象创建”模式 通过“对象创建” 模式绕开new&#xff0c;来避免对象创建&#xff08;new&#xff09;过程中所导致的紧耦合&#xff08;依赖具体类&#xff09;&…

nginx学习笔记-01nginx入门,环境搭建,常见命令

nginx学习笔记-01nginx入门&#xff0c;环境搭建&#xff0c;常见命令 文章目录nginx学习笔记-01nginx入门&#xff0c;环境搭建&#xff0c;常见命令1.nginx的基本概念2.nginx的安装&#xff0c;常用命令和配置文件3.nginx配置实例1.nginx的基本概念 nginx是什么&#xff0c;做…

MIT博士用概率编程让AI和人类一样看三维|NeurIPS 2021

来源&#xff1a;机器学习研究组订阅人与AI之间最大的区别就是对常识的利用&#xff01;无论各种AI模型在各大排行榜以何种性能超越了人类&#xff0c;它们在常识的利用上仍然远远不及人类&#xff0c;而这也正是目前AI研究中需要面临的一个巨大的挑战。对于自然语言处理的研究…

Unity Shader 2D水流效果

水流的模拟主要运用了顶点变换和纹理动画的结合&#xff1b; 顶点变换中&#xff0c;利用正弦函数模拟河流的大致形态&#xff0c;例如波长&#xff0c;振幅等。 纹理动画中&#xff0c;将纹理坐标朝某一方向持续滚动以形成流动的效果。 脚本如下&#xff1a; 1 Shader "M…

2022年智能家居十大预测新鲜出炉:全屋智能驶入快车道?健身镜成新宠……

来源&#xff1a;物联网智库 2021年接近尾声&#xff0c;这一年&#xff0c;新冠病毒仍旧没有离开地球&#xff0c;而在疫情常态化、工作与生活回归正轨之余&#xff0c;人们对于网络与虚拟世界的依赖度也陡然骤增。这一转变无疑将极大拉动消费端的数字化产业发展&#xff0c;除…

数据结构与算法——动态规划

文章目录1.内容概述2.爬楼梯2.1 题目描述2.算法思想2.3 代码实现3.打家劫舍3.1 题目描述3.2 算法思路3.3 代码实现4.最大子序和4.1 题目描述4.2 算法思路4.3 代码思路5. 零钱兑换5.1 题目描述5.2 算法思路5.3 代码实现6.三角形最小路径和6.1 题目描述6.2 算法思路6.3 代码实现7…

vue学习笔记-01-前端的发展历史(从后端到前端,再到前后端分离,再到全栈)

vue学习笔记-01-前端的发展历史&#xff08;从后端到前端&#xff0c;再到前后端分离&#xff0c;再到全栈&#xff09; 这篇文章是博主在看vue-前端发展简史的时候做的笔记&#xff0c;以供后续学习复习 文章目录vue学习笔记-01-前端的发展历史&#xff08;从后端到前端&#…