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

任务一:结合本学期课程学习内容,对比《实验一 软件工程准备》的任务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网的老师学习了新知识,虽然在后期的学习中因为课程进度原因,老师是全程给我们讲授知识,但我还是收益匪浅!

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

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

201671030111 李蓉 实验十四 团队项目评审&课程学习总结的更多相关文章

  1. 201671010447 杨露露 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 总结这学期软件工程学习获得 一 ...

  2. 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 2016计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 团队名称 快活帮 作业学习目标 (1)掌握软 ...

  3. 杨巧丽 实验十四 团队项目评审&课程学习总结

    实验十四 团队项目评审&课程学习总结 项目 内容 这个作业属于哪个课程 (https://www.cnblogs.com/nwnu-daizh/) 这个作业的要求在哪里 (https://ww ...

  4. 201671010449 杨天超 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 作业学习目标 1.掌握软件评审流程及内容 2.个人总结 实验一问题解答 实验一问题链接:https://ww ...

  5. 201671010450-姚玉婷-实验十四 团队项目评审&课程学习总结

    项目 内容 所属科目 软件工程http://www.cnblogs.com/nwnu-daizh 作业要求 https://www.cnblogs.com/nwnu-daizh/p/11093584. ...

  6. 201671030128周琳 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...

  7. 201671030103 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于哪个课程 任课教师首页链接 这个作业的要求在哪里 作业链接地址 课程学习目标 (1)掌握软件项目评审会流程 (2)反思总结课程学习内容 任务一: 团队项目Github仓库中提交 ...

  8. 201671030126 赵佳平 实验十四 团队项目评审&课程学习总结

    项目 内容 这个作业属于那个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十四 团队项目评审&课程学习总结 作业学习目标 掌握软件项目评审会流程:反思 ...

  9. 201671010404+陈润菊 实验十四 团队项目评审课程&学习总结

    个人学习总结博客 这个作业属于哪个课程 软件工程任教教师 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/11093584.html 作业学习目标 (1 ...

随机推荐

  1. ASP.NET Core Swagger接入使用IdentityServer4 的 WebApi

    写在前面 是这样的,我们现在接口使用了Ocelot做网关,Ocelot里面集成了基于IdentityServer4开发的授权中心用于对Api资源的保护.问题来了,我们的Api用了SwaggerUI做接 ...

  2. prometheus、node_exporter、cAdvisor常用参数

    本节将介绍一下我在使用过程中用到的promethues.node_exporter.cAdvisor的常用参数,做一个总结 一.prometheus prometheus分为容器安装和二进制文件安装, ...

  3. es6 Decorator修饰器

    1.类的修饰: 修饰器(Decorator)函数,用来修改类的行为.修饰器是一个对类进行处理的函数.修饰器函数的第一个参数,就是所要修饰的目标类. @testable class MyTestable ...

  4. Hibernate的Hql语句使用in关键字

    原文地址:https://blog.csdn.net/u013410747/article/details/50954867

  5. Java程序特性

    1.1.简单性 Java的语法比C++简单,第二,JAVA类库比较小,可以跑在嵌入式上面. 1.2面向对象 Java与C++的不同在于,Java是接口继承,而C++是多继承. 1.3网络技能 Java ...

  6. Learn About Git Bash

    git是用来做版本控制的,在本节博客中,主要介绍git的下载,以及简单的配置 Version control is a system that records changes to a file or ...

  7. IIS 10 PHP 运行环境

    1.下载php for windows  解压到指定目录 https://windows.php.net/download/ 2.安装iis 勾选CGI 3  ,处理映射 4.添加测试站点测试是否已经 ...

  8. memcached源码分析一-slab

    Slab作为一种内存管理方案,其作用主要有以下2点: a) 避免频繁的内存分配释放造成的内存碎片 b) 减少内存分配操作产生的性能开销 Linux内核数据结构中也有slab的设计,Linux提供了一套 ...

  9. C# Dapper 的简单实用

    首先引入dapper  PM>Install-Package Dapper -Version 2.0.4 (可能会出现因版本问题而安装失败详情见官网:https://stackexchange. ...

  10. php批量检查https证书有效期

    function get_cert_info($domain){ $context = stream_context_create(['ssl' => [ 'capture_peer_cert' ...