2020软件工程个人作业06——软件工程实践总结作业
软件工程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10864 |
作业目标 | 软件工程实践总结 |
作业正文 | 详见下文 |
参考文献 | 百度 |
一、回望
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
一个学期又过完了,因为疫情原因,这个学期倒是成了我最期待快点开学的一个学期。虽然这个学期很忙,但是我学到了很多东西。开始学习软件工程时,真的是一头雾水,不知道学了有什么用,只是按着老师的步骤走着,回顾第一次博客作业,希望自己具备web开发、软件开发的技能,再想想现在的自己感觉还是成长挺多,软件工程这门课程让我学会了github的使用,软件开发过程的步骤,一些软件设计阶段的UML设计图,还有体系结构的应该怎么去设计,也体会到团队合作的重要性,一个人的能力毕竟有限,团队的存在完全弥补这种缺陷。好的是对于自己的期待,自己越来越接近了,但是还有许多不足,因为我现在还不是很满意自己的代码,比如代码的规范、代码的质量、代码的可重用性、信息的安全性,还有单元测试,希望自己一定要重视这方面,好的程序理应具备这些基本的内容。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;
和你在第二次作业中绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
我觉得对于自己当初的预期,还是达到了一定的预期值,比如js、ajax、jquery等技术自己还是懂了很多,也通过一些途径学到一些技术,前端技术比如bootstrap、layui框架、vue,也了解了针对于vue的前端框element,后端技术有spring、spring mvc、mybatis。所以这个学期的收获还是有的,但还是要多练习来加强对于自己所学的东西的熟练度。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
-
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
具体多少还是不是很清楚,我大概估计差不多有半个项目的代码那么多,大概有3000行。
-
软工实践的各次作业分别花了多少时间?(做一个列表)
-
哪一次作业让你印象最深刻?为什么?
团队作业三让我印象最深刻,因为那次作业的问答由我来讲,然后自己也不大会画顺序图,老师也帮我们指出了一些问题,就觉得很不好意思,因为毕竟还是自己的问题,对于顺序图的理解不够吧,对于边界类、实体类、控制类等的理解程度上有点误解了,然后课后自己马上去修改了我们组的顺序图,也明白了那些类的原理。所以还是比较深刻吧。
-
累计花了多少个小时在软工实践上?平均每周花多少个小时?
从我寒假的作息来看,每天大概花费4个小时左右,平均每周20多个小时。
-
学习和使用的新软件、新工具;
学习使用的新软件有xmind、jprofiler、starUML、idea、axure、typora等
-
学习和掌握的新语言、新平台;
Markdown、博客园、github、ajax、jquary、node js、bootstrap官网
-
学习和掌握的新方法;
AxuerRP原型设计,markdown语法,UML的绘制,单元测试等。
-
工程能力的提升;
对于项目开发,不会在跟以前一样漫无目的的去做了,节省了很多时间。
-
团队合作上的提升;
通过团队合作,我学到了队友们身上我不会的东西,还有就是学会了应该怎么与队友去交流合作,有了一些经验。在项目开发中应注意对于前期工作的重视,使我们后面在写代码时,不再过多的去考虑一些相关因素。
-
其他方面的提升;
其他方面的话,我觉得自己对于处理代码的错误和bug有了很大提升。
二、团队总结
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
《构建之法》上说团队的发展分为萌芽阶段、磨合阶段、规范阶段、创造阶段 。我觉得我们团队还是基本经历了这几个阶段,从我们团队的“努力完成”创建之初到队员们之间的磨合,到对我们项目的框架的选择,在到实现。
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
组员:我在我们组我担任的是组员,也很认真的完成了我们组长安排给我的任务,也帮助过组员解决他们不明白的问题。我觉得作为一个项目的负责人,应该有调动自己团队成员并且带动成员们去学习和实践的能力,在这方面我觉得我们组的组长还是做的很好,我们组的成员都做着自己那部分的事,也有的帮助其他成员共同去完成,我觉得气氛还是很融洽的我们组。我觉得我承担的角色还是完成的可以,希望以后在承担组长这个角色时也能做的很好。
三、人月神话
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?
了解软件工程有那些阶段,每个阶段有哪些产物,自己团队开发时正处在哪个阶段。
在需求阶段,绘制相关的用例图、用例描述、顺序图、分析类图等。
在设计阶段,将分析类图与分析顺序图改进为设计类图与设计顺序图。体系结构模型、界面原型模型、数据库设计等。
(1)研发出符合用户需求的软件
我们的项目叫“小跳蚤二手市场”,目前还未发布,所以用户就只有我们团队的人,持续使用量也并不知道。但是我们认为我的项目是存在市场价值的,随着人们生活水平的提高,很多还能用的物品,因为某些原因不在使用了,扔了又觉得可惜,放着起灰又觉得占地方,多么希望可以转手他人,自己找人又觉得麻烦,“小跳蚤”的存在正好解决了大部分人的困扰。所以我对我们团队的项目的发展还是有信心的。
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
(3)并且通过数据展现软件是可以维护和继续发展的。
这两个也还只是后话了,但是以后还是可以实现的。
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,字数不限,开放命题,可以使用你自己喜欢的方式表达..
软件工程这门课我觉得是我大学到现在为止觉得最享受的一门课程了,真的。开始上这门课时感觉老师说了很多自己没听过的东西,但又是我们程序员一定要掌握的基本能力,比如博客园、github的使用,尤其时github吧真的使我们要去了解的一个网站,但又大多是英文,读起来真的很费劲,更不用说去学了,好的是现在网页都有翻译了,所以还是学会了大概怎么使用了。还有代码规范、性能测试和单元测试要使用的工具,以前也没用过,所以突然一下学这么多东西还是有点难,但是结果还是令自己很满意的,又学到这么多东西。然后就是组队开发项目了,又有很多新的东西了,在项目需求阶段,要写用例描述,再根据用例描述去画用例图、顺序图,再画类图。很多名词的含义要去理解,然后再根据我们的项目做出需求阶段的产品,再是设计阶段,在需求阶段的基础上,改进优化类图,还有体系结构模型的建立,原型设计,再是到代码实现。在实现时,我是做后端的,明显感觉到前期的工作还是节省了我们很多的时间,不用过多的去考虑太多的关联,不过毕竟还是第一次按着这种步骤进行一个项目,还是有的地方考虑不足,我在编程时发现数据库的设计不是很完整,然后我又去修改相关的表,还有就是接口方法的设计也有所欠缺。然后就是我们团队的问题了,我们团队也有过后端在等前端的页面,耽误了一些时间, 感觉还是我们需求阶段没有准备充分所以导致项目有段时间停滞了一下。后面还是在大家的努力之下基本完成了我们组最初制定的目标吧。我觉得这次团队合作让我们都成长了许多,也许这也是我觉得软件工程这门课是我最享受的一门课的原因吧。感谢经历。
四、建议
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
软件工程这门课将我们之前所学融会贯通,我希望下一届的学弟、学妹们能好好的学,结果一定是不会辜负你们所学,当然其他课也很重要,因为对这个专业接触越深,才发现那些课对我们来说也同样重要。还是希望你们能在学习期间能学到更多东西吧,只要你有了能力还有什么好担心的。加油!要是大一的我有这觉悟,相信也能在学校拿几个奖了,但是这并没有关系,什么时候学都是好的。
对于软工实践课程,你有哪些建议?
对于这门课程我觉得最重要的是实践,在实践中学习新东西,应该让多让学生做一些具体的项目,个人项目我觉得也很好,这样更能锻炼一个人的能力,然后在进行团队的合作。
对于老师的工作,你有哪些建议?
我觉得应该布置一些个人项目的作业,加强同学们的个人能力,因为我觉得就算是借用别人的,在答辩时,还是会去了解、学习。当然老师听这么人的答辩也不现实,时间上还是有问题,可以选几个助手分别在教室里听多人的答辩,老师监督着。当然我觉得我们的老师挺好的,与我们的也同学很合得来,作业虽然多,但同样学到的也多,谢谢琛姐。
对于自己今后,你有哪些建言?
今后的话建议在毕业前找一些与自己相关专业的公司去实习,增长一下自己的专业能力。目前就想到这么多了。加油!