
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 任课教师首页链接 |
这个作业的要求在哪里 | 作业链接地址 |
课程学习目标 | (1)掌握软件项目评审会流程 (2)反思总结课程学习内容 |
任务一:
团队项目Github仓库中提交甲方填写验收意见的验收意见表如下:
任务二:
1.结合本学期课程学习内容,对比《实验一 软件工程准备》的任务5你所提的问题(给出提问博客链接),尝试对提出问题进行解答,并阐明是如何通过学习/实践/讨论弄清楚的;学习中是否产生了新的问题?如有,请提出。
作业地址链接:https://www.cnblogs.com/nunw-qslhd/p/10507022.html
2.对《实验一 软件工程准备》的任务5所提出问题进行解答,解答如下表所示:
问题1解答 | 问题2解答 | 问题3解答 |
---|---|---|
如果新加入团队的人员提出的想法,有一定的可取性,那么其他开发人员应该通过沟通再决定是否能够采取,所以说无论是创意还是效率都需要开发人员一起商议决定,给出最好的解决办法 | 遇到这种问题时,就应该清楚的意识到代码管理的重要性,因此在团队项目编码实现中,应该利用软件的源代码管理工具加上构建系统,才能保证一个复杂软件在多个角色、多个团队的合作下,继续保持代码的完整性 | 在团队软件项目开发中,从项目的初期,就应该对项目成员进行合理分工,各司其职,完成各自的任务 |
3.总结自己在项目的可行性分析/需求分析/软件设计/实现/测试/项目验收/中学到了哪些“知识点”。
(1)可行性分析:项目可行性分析是项目前期开发最重要的一个环节,可以根据建设项目背景、必要性、可行性以及项目产品市场分析、项目产品规划方案和项目实施进度来分析项目的可行性
(2)需求分析:开发人员通过根据用户的需求做出选择,满足用户需求的基础上实现软件,所以需求分析无论是对用户还是开发人员都相当重要
(3)软件设计:软件设计包括软件的结构设计,数据设计,接口设计等方面。从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案计和过程设计
(4)实现阶段:通过软件系统详细设计说明书进行编码实现软件,在编码阶段,团队编写代码要随时交互,共同协作,同时编码一定要规范化
(5)测试阶段:软件测试必不可少,通过编码阶段之后,一定要对软件进行测试,保证软件的实用性、正确性和安全性,同时也要选择合适的测试方法,比如白盒测试和黑盒测试
(6)项目验收:项目验收方代表着用户,开发人员必须有和用户有一定的沟通能力,将自己开发的软件完全展现给顾客,让顾客了解自己的软件
4.结合个人项目/结对编程/团队项目的个人经历,谈谈心得。
通过这些项目,我意识到软件工程这门课在项目实现中起着关键性作用,也让我们明白一个软件是如何开发的以及开发软件的具体流程。具体心得如下:
(1)编程技能
在后面的结对编程和团队项目设计与实现中,我们采用Java语言开发,作为开发人员,选择一门编程语言是至关重要的,我们选择B/S框架,采用JavaWeb语言,经过前期软件需求分析、软件系统设计、详细设计和数据库设计这几个阶段后,我们查阅相关资料,一方面学习编程语言和框架的使用,另一方面学习数据库知识,将前端和后端相互联系,团队成员彼此相互协作。在编程过程中,也遇到了很多问题,同时,也学会了使用编程语言来解决问题,也体会到了软件开发中面向对象的编程语言的魅力。用编程语言来编写漂亮的界面,实现用户所需要的功能,从而提升了我在编程中的成就感,也让我对编程的兴趣提升了。
(2)结对编程和团队项目合作
结对编程和团队项目需要成员相互协作,团队合作是团队项目最重要的一环,就我的感受而言,最重要的是分工和交流。同样的任务,我深刻地意识到一个缺乏合理分工的团队可能比一个强力程序员更慢,一个很可能的情况是每个成员在分工不清的情况下,都不认为某项任务是自己的事情,对相对难的的任务就互相推诿,造成进度的停止。另一方面,分工的结果是由不同人完成的各部分工作,要合成整个项目,必须要团队成员之间进行流畅的交流,消除可能的误解,理解各部分模块实现的思路,达成成功的对接。不仅仅是前后端的对接,同是后端或者前端,也需要对互相的工作有比较清楚的了解,达成对项目整体的把握,明白自己要实现什么要注意些什么。
(3)反思
在开发的过程中,团队项目也遇到了很多问题。首先团队合作缺乏经验,走了很多弯路,前期分工效率不是很高,导致进度很满,后期的编程也存在问题,团队还是缺乏沟通,导致出现很多错误,但团队成员及时发现了问题,彼此相互协作,及时沟通,最后,才完成了本次项目。
5.总结这门课程的实践总结和给你带来的提升,包括以下内容:
(1)统计在软件工程实践中,你完成了多少行的代码?
答:在软件工程实践中,我大概完成了5000多行代码。
(2)你在软件工程实践的各次作业分别花了多少时间?(做一个列表)
软件工程实验作业 | 时间(h) |
---|---|
实验 一 软件工程准备 | 5h |
实验 二 软件工程个人项目 | 4h |
实验 三 作业互评与改进 | 2h |
实验 四 软件工程结对项目 | 4h |
《BUG创造队》第一次作业:团队亮相 | 4h |
《BUG创造队》第二次团队作业:团队项目选题报告 | 4h |
《BUG创造队》第三次作业:团队项目原型设计与开发 | 10h |
《BUG创造队》第四次作业:基于原型的团队项目需求调研与分析 | 7h |
《BUG创造队》第五次作业:项目需求分析改进与系统设计 | 5h |
《BUG创造队》第六次作业:团队项目系统设计改进与详细设计 | 5h |
《BUG创造队》第八次团队作业:Alpha冲刺 | 40h |
《BUG创造队》第九次团队作业:Beta冲刺与团队项目验收 | 10h |
实验 十四 团队项目评审&课程学习总结 | 5h |
总花费时间 | 160 |
每周平均花费时间 | 10 |
(3)哪一次作业让你印象最深刻?为什么?
答:团队项目作业给我的印象最深刻,因为团队项目我们初次采用B/S的MVC架构,这个框架比较新颖,也特别使用,但是在本次项目中,我们对这个架构的使用并非容易。
(4)累计花了多少个小时在软件工程实践上?平均每周花多少个小时?
答:在本学期的软件工程实践作业上,我累计花了160个小时在软件工程实践上,平均每周花10个小时。
(5)你学习和掌握的新语言、新平台;
答:本学期我学习了JavaWeb,怎样在博客园编写博客,还有原型设计工具mockplus、墨刀,Github平台,process on、visio、问卷星、leangoo等软件
(6)填写下表,总结一学期的学习中,你学习或使用的软件工程开发工具、开发方法和建模方法;
软件开发工具、项目管理工具 | 软件开发方法 | 软件建模方法 |
---|---|---|
MyEclipse、sublime、Github | 面向对象的软件开发方法 | 面向对象的分析模型、面向对象设计模型 |
6.你认为目前的课程存在哪些问题,你有什么更好的建议。
答:相对来说,本学期的软件课程让我学到了很多关于项目设计与实现的基本知识,但是课程任务量较多,导致我们花费大量时间在编写博客和撰写文档上。