软件工程——个人总结
回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升
学习和使用的新软件
- mockplus:这是一款进行原型设计的软件,界面有iOS风格和Android风格等,在软件工程——原型设计中多用到,本次我们Gali-gaygay小组在原型设计环节就用到了该软件;
- 微信公众号:我们是基于微信公众号做的开发 所以开发时用到了这个;
- EA:EA是一款用于画例图,类图等的软件;
- Git bash:利用此软件将代码上传到coding中。
学习和使用的新工具
- 新浪云服务器:在后台开发,网页制作过程中,我们主要是以新浪云服务器为基础环境所做的开发,其中有代码的编辑,网页的实现,数据库的实现;
- coding:团队合作中会使用coding存放代码。
学习和掌握的新语言、新平台
- 学习了PHP语言,主要是用来编写网页,因为新浪云服务器只支持PHP和Python语言;
- 学习使用新浪云服务器,主要用于后台的搭建。
统计一下,你在这软件工程实践中,完成了多少行的代码
- 包括自己在lintcode上完程的题目、coding中上传的代码以及在新浪云上传的代码,大概有2300行代码。
学习和掌握的新方法
- 学习了PHP语言,对这门语言不敢说掌握,只能说还处于学习中,目前能读懂并且修改简单的PHP语言所写的程序;
- 还学习了git指令以及用Git bash上传代码文件到coding中;
- 还有就是coding的使用;
- 最重要就是软件开发的方法,从需求分析到产品实现,这每一步都是如何进行的。
总结与展望
- 软件工程这门课程研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。所以我们在前期主要是学习了产品模型的设计,URL等,从结对编程这一阶段开始,我们就开始走向了团队合作。从这学期的学习及实践来看,我觉得对于软件开发,团队合作是很重要的,所以这就要求开发人员有很强的团队合作精神,这次开发过程中,我没有做到把握好时间,也对团队项目造成了一些影响。希望学弟学妹们在接下来的开发中能合理安排人员分工和时间,如果能提前学习相关开发语言更好,希望老师们在技术上也可给予一定的指导,这样软件开发不至于一头雾水,网上也没有整理的特别详细的开发案例。
记录自己在软件工程课程上的经验总结
- 前期学习的时候觉得画各种各样的图很枯燥,后来经过开发才知道图真的很能帮人理清思路,所以,前期开发时可以提前画好e-r图,类图,用例图;来帮助开发人员一步一步的进行开发;掌握一门语言对开发者来说很重要,如果不会,那就现学现做,很能锻炼自己对这门语言的理解,网上已有用该语言实现的功能,就拿别人的来用,可以根据自己的需求适当修改,这是很节约时间的一种方法;当然,注释对代码来说很重要,如果不注释,一两个月或更久之后可能会忘记代码的含义。
对于下一届的学弟学妹你有什么建议和告知呢?
- 新浪云服务器是需要收费的,我们现在已经用完了注册所送的云豆;学弟学妹们可以根据自己的需求分析再添加功能;希望能在我们完成的基础上更加完善公众号功能,能将公众号推广并投入使用。
分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?
- 首先是结对编程,与团队中的另一位队员共同完成了计算器的实现;接下来就是萌芽阶段:在团队刚创立之初,每个人都没有这方面的经验,所以在这个阶段,每个人都觉得有点无所适从,所以开始时我们讨论了软件定位,团队名称,需求分析等;磨合阶段:在这个阶段,在对团队项目有了一定的了解之后,每个人都对制作团队项目方面产生了很多不一样的想法,每个人都提出了有用的几个功能,我们一起对软件说明书进行了编写;规范阶段:在最终的意见达成一致之后,团队作业逐渐开始,每个人都做着已被分配好的工作,并且最终在期限之内完成团队作业,我主要是负责后台开发以及微信后台的功能实现。
1、请大家回顾我们软件工程第一次作业,通过本学期的学习,对第一次作业中的5个问题重新回答。
- 通过一学期的学习之后衡量软件质量的指标包括很多方面,一些优秀的软件会包括源代码行数(在同等功能的实现上,代码越精简越好,这样也利于后期维护)、代码段/模块/时间段内的平均Bug数(主要用于后期维护,凭借这些Bug,我们可以尽早的查出和解决缺陷起因)、代码覆盖率(代码覆盖率反映了程序当中源代码被测试的程度,可以反映出测试覆盖率的问题),软件的压力承受范围。
2、软件工程是如何衡量自己的能力的呢,如何让才能知道自己适合什么方向?
- 经过这次的团队合作,我发现自己在团队中比较适合做一个开发者,但自己的编程能力有待提高。
3、结对编程的效率高吗?
- 很多时候写程序可能只花了l小时就写好了,但是除错(debug)可能花一整天(8小时)甚至更久的时间。在结对编程模式下,发生这种状况的几率通常会比较低一点;当一人独自设计程序的时候(包含写程序代码),经常会出现一些自己看不到的盲点;不管是设计检视或是程序代码检视,都是找出设计或是程序问题的有效方法。结对编程有一个很重要的精神就是随时随地都在检视。
4、敏捷的团队适用于什么样的团队?
- 小团队;需求聚焦;工作内容无边界;团队无明显短板;互相信任。
5、如何评估自己的软件质量?
- 可以从以下六方面进行综合性的评估(1). 功能性(2). 可靠性(3). 易使用性(4). 效率(5). 可维修性(6). 可移植性