项目 内容
这个作业属于哪个课程 >>2016级计算机科学与工程学院软件工程(西北师范大学)
这个作业的要求在哪里 >>实验十四 团队项目评审&课程学习总结
课程学习目标 1.掌握软件项目评审会议流程;2.对本学期所有知识进行回顾和梳理; 3.通过所学知识对之前所存在的疑惑进行再次思考并尝试解答。

一、对实验一所提问题的回答

实验一 读《构建之法》后的疑惑问题的回答:
Q1:
书上说,软件=程序+软件工程,那么现在已经学了一学期的软件工程了,软件应该如何理解呢?软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。正如前面的公式所讲,软件等于程序加软件工程,程序又等于数据结构加算法,而软件工程包括用户体验、用户界面设计等,一些软件开发活动如构建管理、源代码管理、软件设计、软件测试、项目管理等相关内容是软件工程的核心部分。现在再回头看这些问题,不难得出,程序(算法、数据结构)是基本功,在算法和数据结构之上,软件工程又决定了软件的质量。
Q2:关于团队和领导力,以前我是不太接触的,所以不太懂,因为以前我们的学习很少有这种团队合作的经历,但是这学期我们的很多课程尤其是软件工程这门课都是小组合作学习的,所以现在学完软件工程,可能比较更能理解团队和领导力。在一个团队中,我们讲求人员的少而精,也就是说我们的团队不需要很多成员,但是每一个成员都得有自己负责的模块,要都尽自己的一份力,但是经过实践才发现,事实要做成这样非常困难。因为几乎每个小组里面肯定总有那么几个不干活的,他加入小组只是让自己不落单,甚至不挂科。所以,在小组的学习当中,我们就要好好地去权衡,比如分配任务应该怎么分配才会更加合理。在我看来,每个人的能力是不一样的,肯定有我们人人都羡慕的那种学习好的“学霸”的存在,当然肯定也有“学渣”的存在(并没有针对个人,只是举个例子),那么在小组分配任务的时候,我觉得可以稍微不公平一点,因为我们既要学习还要帮助同学,我们可以给学习稍微差一点的同学分配一些他自己能做的会做的工作,我们也不比较这个任务量少还是不少难度大还是不大,我们要因人而异,应该给他们更多的机会,带动学习能力稍微差一点的同学,这样才能大家一起走向更高更远的地方,毕竟小组是一个团体,就要有团结的氛围以及行动,大家一起进步才是共赢的局面。
Q3:学生在学习阶段,比如说我作为计算机专业的一名学生,自从上了大学读了这个专业,每天就会面对很多名专业课,几乎每天都跟编程脱离不了关系,我们学过Python、C语言、Java和汇编语言等等语言。所以说在学习阶段,可以说具体编码上花费的时间是非常多的,甚至要比工程师还多。但是,自从学了软件工程这门课之后,我们也知道,除了编码,需求分析以及相关的一些文档也是极其重要的。但是我们之前一直注重编码的工作而丢了其他的学习,到用的时候就是一片空白。而反观工程师们,他们在需求分析和测试上花的时间是比较多的,所以说,跟我们一对比,好像感觉两个都是极端,是比较相反的。因此,我认为作为一名学生,我们在学习的时候一定要抓重点,不能只学一样东西而丢了其他的,不能因为学某一个知识而只学这个知识却跟别的知识脱节,我们的学习都是相通的,包括各学科之间也是有着各种联系的,因此自己在学的时候做一个平衡,一起学,而不是分开学把它们一刀两断。

二、总结知识点

软件开发的过程主要包括可行性分析、需求分析、概要设计、详细设计、实现、运行和维护七大步骤:

  • 可行性分析:可行性分析是通过对项目的市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等方面的研究,从技术、经济、工程等角度对项目进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及社会环境影响进行科学预测,为项目决策提供公正、可靠、科学的软件咨询意见。主要从经济、技术、社会环境等方面分析所给出的解决方案是否可行,当解决方案可行并有一定的经济效益和/或社会效益是才开始真正的基于计算机的系统的开发。
  • 需求分析:需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。任务是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的“做什么”的问题。分析系统的数据要求,导出系统的逻辑模型,修正系统的开发计划。
  • 概要设计:描述了软件的总的体系结构就是概要设计,概要设计阶段要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程。
  • 详细设计:详细设计是对概要设计的一个细化,就是详细设计每个模块实现算法和所需的局部结构。详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
  • 实现:软件实现就是将代码利用编译器编译生成的软件。
  • 运行和维护:软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序.修改后要填写程序改登记表,并在程序变更通知书上写明新旧程序的不同之处。包括正确性维护、适应性维护、完善性维护和预防性维护。
  • 测试:软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。
  • 项目验收:项目的验收是软件开发结束后用户对软件产品投入实际应用以前进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各项要求以及用户能否接受的问题。由于它不只是检验软件某个方面的质量,而是要进行全面的质量检验,并且要决定软件是否合格,因此验收测试是一项严格的正式测试活动。需要根据事先制订的计划,进行软件配置评审、功能测试、性能测试等多方面检测。项目开发方应该提供《需求分析说明书》、《概要设计说明书》、《详细设计说明书》、《数据库设计说明书》、《测试计划》、《测试报告》、《程序维护手册》、《用户操作手册》、《项目总结报告》等一系列的文档说明。

    三、心得体会

  • 个人项目:在我的个人项目中,我完成了词频统计软件。其实就我个人而言,编程能力是比较薄弱的,所以从一开始上这个课真的挺吃力的,在做这个软件的过程中,我一直都遇到各种自己没法解决的困难。所以,第一个项目是比较迷茫的,也不知道有些地方为什么这样做,也没有更多地去思考。
  • 结对编程:结对编程是跟令外一名同学合作完成的,在结对编程中,有了第一次的个人项目,再加上合作的同学对我的指导与帮助,慢慢地我开始理解软件工程是什么样的一套流程,需要做什么东西,有什么步骤,在编码前要准备些什么。随着两人的合作,对软件工程的了解也在加深。
  • 团队项目:软件工程这门课这学期的重头戏就数我们的团队项目了。我们五个人为一小组,做了一个宿舍管理系统,相比前面的个人项目和结对项目而言,这个就显得比较复杂比较难。在五个人的合作过程中,我们一直都是在合作中共同学习又“各司其职”,一个团队的合作很重要,但是我觉得分工也必不可少。在整个系统开发过程中,我们的团队力量就显得非常重要,毕竟一个团队的灵魂就是团队的力量,只有大家一起合作才能让团队发挥出巨大的力量。

四、总结和提升

1.在软件工程实践中我完成的代码

在软件工程实践中我大概完成了两千多行代码

2.在软件工程的各次作业中所花的时间

作业 所花的时间(min)
>>实验一 读《构建之法》后的疑惑 120
>>201671030106 词频统计软件项目报告 350
>>201671030106何启芝 实验三作业互评与改进报告 200
>>201671030106何启芝 《英文文本统计分析》结对项目报告 400
>>《队长说得队》第一次作业:团队亮相 60
>>《队长说得队》第二次作业:团队项目选题报告 80
>>《队长说得队》第三次作业:团队项目的原型设计 200
>>《队长说得队》第四次作业:项目需求调研与分析 200
>>《队长说得队》第五次作业:项目需求分析改进与系统设计 120
>>《队长说得队》第六次作业:团队项目系统设计改进与详细设计 120
>>《队长说得队》第八次团队作业Alpha冲刺 100
>>《队长说得队》第九次团队作业:Beta冲刺与验收准备 120
>>实验十四 团队项目评审&课程学习总结 200

3.印象最深刻的一次作业

我印象最深刻的一次作业是《队长说得队》第八次团队作业Alpha冲刺,这次作业是我们《队长说得队》小组共同完成的,这次作业的要求是任选连续的五天进行Alpha冲刺,每天发一篇博客,每天都分配任务。我们小组正好五个人,原本计划的是五个人每天一个人负责发博客(但是工作大家都要做),但是实际上我们那几天的作业不管是博客也好还是下来做的项目任务也好,从头到尾都是我们五个人一起完成的,我们一起讨论、一起学习、一起进步。通过这次的作业让我感受到了团结就是力量,并且真正地诠释了什么是“团队”。我们是一个团队,是不可分割的一个整体。时间飞快,一学期已经结束了,但是我相信,我们《队长说得队》会一直都在,会一直进步,越来越好!

4.在软件工程上累计花的时间以及每周花的时间

在这学期的软件工程开发上我累计花费的时间是48h,平均每周话费的时间是2.6h。

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

在这学期的学习过程中,我学习和掌握的新语言是JavaWeb,学习到的新平台是博客园、GitHub、中国大学MOOC、Markdown、雨课堂

6.总结软件工程的开发工具、开发方法和建模方法

软件开发工具、软件管理工具 软件开发方法 软件建模方法
Github,MyEclipse,MySQL,墨刀,mockplus 面向对象方法,Jackson方法,软件重用,原型方法 数据流图,数据库建模,面对对象建模,结构化建模

7.其他方面的收获和提升

通过这一学期的学习,我学习到的额外的收获就是利用MOOC网进行自主学习,也体会到了老师的翻转课堂教学模式。

五、对课程的建议

一学期的课程很快结束了,在学习软件工程这门课的过程中,我学到了很多。首先,我觉得代老师是非常认真负责的一位老师,而且教学方式也非常新颖,真正做到了翻转课堂。还有几位助教老师也很负责任,尽心尽力地为我们批改作业,任务量很大,但是他们真的是尽职尽责,认真地给每位同学评论,这让我很敬佩,感谢老师们的指导与帮助。其次,这门课的学习可能花费的时间是比较多的,因为作业的任务量比较大比较耗时间,但是在这个过程中我学到的知识也是很多的。但是我觉得一学期下来,老师的翻转课堂对我们来讲,可能真的不是很适合,也可能是我们一时适应不了,但是感觉效果不是很好。总之,感谢代老师这一学期的教导!

201671030106 何启芝 实验十四 团队项目评审&课程学习总结的更多相关文章

  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. HP Client Security Manager

    HP Client Security Manager - SP77916   操作系统:windows 10 64位   HP Client Security Manager - SP77916.ex ...

  2. reduce深入理解

    // map console.log([1, 2, 3, 4, 5].reduce((a, v) => { a.push(v * v); return a },[])); //filter co ...

  3. c语言错题本

    ()malloc(sizeof()) 在stdlib.h包中

  4. Linux基础(01)开发环境的搭建

    内核源码下载 : https://blog.csdn.net/u011375704/article/details/81866427 1.在虚拟机安装Ubuntu 14.04版本 (安装时设置好用户名 ...

  5. tornado利用装饰器记录每个http请求

    python利用装饰器记录每个http请求 设置装饰器 from functools import wraps from datetime import datetime ""&q ...

  6. NOI2019网络同步赛游记

    我发的邮件**f没收到,后来去专门询问才整到一个名额(估计是嫌我太菜,参加了也是垫底) day -1 上午写了到类似随机游走的高斯消元期望dp,然后颓颓颓 下午打洛咕月赛.T1一直50pts,后来才知 ...

  7. - Permission 运行时权限 总结 翻译 MD

    目录 目录 对运行时权限的一些理解 运行时权限使用案例 开源库:PermissionsDispatcher 注解 使用案例 使用步骤 测试代码 自动生成的类 官方文档:请求权限 Add permiss ...

  8. 安装和启动docker

    1.安装和启动docker yum update -y yum install -y yum-utils yum-config-manager --add-repo https://download. ...

  9. 推送一个docker 使用阿里docker hub

    阿里docker hub 地址 打开容器镜像服务页https://cr.console.aliyun.com/cn-qingdao/namespaces 这个是我的私有库 配置加速 我这边用的也是阿里 ...

  10. Quartz基础调度框架-第二篇服务

    很多应用场景Quartz运行于Windows服务 Conf 在这个基本结构里 是用来存放配置  和上一篇 控制台运行的一样的结构 jobs.xml 的配置清单 <!-- 任务配置--> & ...