软件工程——个人总结

  • 回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升:

  • 学习和使用的新软件
    (1)、使用Enterprise Architect来绘制用例图,类图,程序流程图,通过使用EA更加简洁明了关联关系等。
    (2)、运用mockplus工具进行原型界面设计(我们大作业里的微信公众平台就是借助这个),这是一款简洁快速的原型图设计工具。
    适合软件团队、个人在软件开发的设计阶段使用。简洁明了的界面以及功能齐全是最大的优点。可根据需求提供苹果或者安卓手机界面来完成公众平台的构建。
    (3)、Eclipse在编写计算器时使用, 是一个开放源代码的、基于Java的可扩展开发平台。
    熟悉了关于eclipse的使用,包括对于java知识也再次利用起来。

  • 学习和使用的新工具
    (1)、新浪云:在完成微信公众平台的后台开发时,通过使用新浪云建立共享型数据库完成php链接以及代码实现。
    我们团队作业的最核心就是建立在新浪云上,数据库与php的连接、代码的实现都离不开新浪云。但是因为使用它是需要收钱的,因此也有一定局限性。
    (2)、coding:学习使用git向coding存放代码。
    这是一款很好的代码托管工具,我们可以把自己所实现的代码长期存放于此,方便保存与查看。
    (3)、MySQL:关系型数据库管理系统,其所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
    并且在团队作业中,SQL与PHP联系紧密,PHP是目前最流行的 Web 开发语言,我们团队使用PHP与MySQl建立联系,存储数据。

  • 学习和掌握的新语言、新平台
    (1)、学习了java、php等。(对于PHP语言是第一次接触,只是接触了一点,并不深入)
    (2)、 学习了使用新浪云服务器,建立数据库,存放代码。(熟练掌握)
    (3)、计蒜客有很多学习的具体内容。
    (4)、网页上有“软件工程”具体教学视频,我有时也会去观看。

  • 统计一下,你在这软件工程实践中,完成了多少行的代码
    在最初的结对编程实现四则运算里,我和晨晨共同合作完成了代码,共有三百行左右的代码。
    在最后的团队作业里,我们在新浪云里通过后台编写代码。因为我们要完成的功能有很多,从显示界面到实现具体操作都需要代码
    因此最终的代码有两千到三千左右(没有详细统计,因为很多)。

  • 学习和掌握的新方法
    (1)、学会了如何使用博客园(添加随笔,还有加入班级博客提交作业等)
    (2)、学会了如果使用git创建仓库上传代码。(当时使用git也是敲了很多行命令,也有很多时候出现错误,不过最终还是实现啦)
    (3)、学会了如何用php编写网页,如何使用新浪云创建数据库。
    (4)、最重要的一点是锻炼了写代码的能力,软件工程这门课上我用了C++、java语言,加深了我对知识的熟悉度。
    也接触了PHP语言,虽然只是一些皮毛,但也是一种收获呢。
    (5)、学会了如何开发微信公众平台(我们的“青大计算机系云课堂“能够使用)。

  • 总结与展望
    总结:一学期的软件工程,漫长却又短暂。理论课上我们听知识,实验课上我们来实践。在这一学期里,我完成了老师所布置的每一次任务,不能说是完美,但至少也是给了自己一份满意的试卷。我学会了如何使用git,拥有了博客。练习了结对编程,最终完成了有界面的计算器。这是很大的收获。还有最后的团队作业,我们Gali-gaygay小组的六个人,越来越有默契,通过大家的分工与合作,我们学会了如何使用新浪云,初步了解了PHP语言,并且我也完成了有趣的”电梯演讲。最终我们团队创建了属于我们自己的微信公众平台——青大计算机系云课堂,能够实现基本的使用。
    展望:虽然我们做的东西并不完善,没有高级权限,麻烦的页面跳转都是我们所面临的问题,希望我们能再有机会聚在一起共同解决我们的问题,创造出一个能够被大众使用的微信教务系统。

  • 记录自己在软件工程课程上的经验总结

    • 一定要认真看《构建之法》这本书,因为这里面总结了很多的例题和我们所遇到的问题。
    • 认真听讲,每节实验课都要有收获,无论是编程还是完成计蒜客还是团队演讲ppt。
    • 在团队合作时,明确自己所要做的事情,分工与合作是很重要的。
    • 一定要加强自己的编程练习,编程能力是很重要的。
  • 对于下一届的学弟学妹你有什么建议和告知呢?
    首先, 建议大家熟读《构建之法》这本书,理论基础很重要。其次也就是最重要的一点,一定要花时间练习写代码。代码能力很大一部分决定了是否能完成
    老师的作业,是否能实现最终的产品。(因为我的代码能力不是很好,所以编写计算器时花费很久时间,很多功能不会实现,最后大作业也是苦难重重)。

  • 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验

    我们团队名字是Gali-gaygay,这也是源于一首歌,团队里六个人都玩的很好,有机会把我们几个聚在团队里也是很开心的事。
    我们团队每个人都能参与到具体的任务中,根据每个人的能力与特长,我们分工明确,积极准确完成自己的那部分。最终合作,将所有东西融合在一起,整个过程中,大家都是积极出谋划策,没有逃避任务的人,虽然有时也会遇见分歧,但是最终都能达成统一。很开心能有这次机会去真正的实践,通过实践去掌握知识。同时也体会到了团队合作的意义。就像结对编程,两双眼睛一起去编程,既提高了效率,也能更好的掌握知识,通过彼此的交流也能更加深刻掌握。“众人拾柴火焰高”,团队合作体现的应该就是这种精神了,而我们也确实领悟到了大家在一起完成一件事的高效率以及高成就。既能学到知识,又收获了快乐。

  • 《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?
    我们团队经历了所有合作的阶段。
    萌芽阶段:最初刚成立团队,我们对于彼此的长处和能力了解的不是很清楚,可能大家都有一些迷茫。
    磨合阶段:每次团队进行讨论时,我们都积极提出自己的观点,当然也有很多分歧,不过我们都能够心平气和讨论并最终达成一致。
    规范阶段:达成一致后,我们就会完成自己的分工最后进行合作,修改错误和弥补不足,最终呈现出我们最满意的产品。

  • 请大家回顾我们软件工程第一次作业,通过本学期的学习,对第一次作业中的5个问题重新回答。
    (1)非连续性顾名思义就是不连续的,可是软件系统能否实现非连续性?
    答:在目前所接触的软件系统中,没有实现不连续的。我们所遇到的系统的连续性即为系统的所有模式都是相关联的。
    (2)交响乐团模式是否比爵士乐模式有优势?
    答:通过查阅《构建之法》,我发现其实交响乐团模式和爵士乐模式是两个个有热色的模式,在不同的形势下我们也会选择不同的模式,因此不存在对比优势。
    (3)具体代码部分(第四章 两人合作 4.4.3代码复审的核查表)
    “有没有对错误进行处理?对于调用的外部函数,是否检查了返回值和处理了异常?”
    答:有对错误进行处理。对于调用的外部函数,也检查了返回值。但在处理异常这方面,还是有一定困难,有的异常超出了知识范围,力不从心。
    “有没有使用断言(Assert)来保证我们认为不变的条件真的得到满足?”
    答:在一学期的学习中,并没有接触到使用断言来保证。
    “对各种资源的利用,是在哪里申请?在哪里释放的?有无可能存在资源泄露(内存、文件、各种GUI资源、数据库访问的连接、等等)?有没有优化的空间?”
    答:对各种资源,有部分是借鉴百度(例如计算器时关于语言选择的代码部分是借鉴的。)
    没有可能存在资源泄露。我们在新浪云建立数据库与PHP连接时,代码全部都是放在新浪云后台的,除了我们小组成员有账户密码,其它人是无法看到的。
    优化空间并没有。
    “数据结构中有没有用不到的元素”
    答:暂时在数据结构中没有用不到的元素,因为在定义时已经确保了它的作用,因此不会浪费空间给不需要的元素。
    (4)如何理解竞争性需求分析?
    答:很多需求并不是用户提出来的,而是技术的突破让产品团队看到了可以让用户做到以前不敢想、不敢做的事情。通过实践,用户可以准确的找到自己所需要的东西。就比如说我们在竞争中就会知道自己想要什么。
    (5)最后一个问题是基于个人的:想请教老师,对于我们这种初学者,究竟如何才能最大化的开拓思维及发展自己的能力?
    答:这一学期的软件工程课程,让我明白了究竟如何去开拓思维及发展自己的能力。掌握理论知识是很重要的一个模块,我们只有在对知识有一定了解以后,才能够去实践,其实最关键的就是实践。书本上的知识只能存在于一种理论基础上,如何真正得了解以及明白它,动手能力很重要,只有我们在实践中具体操作,才能感受到究竟这是什么。随着不断的实践过程,我们的思维也会进一步开阔,见识也会更加广泛,无形之中就可以提高自己。

posted @ 2017-06-24 00:28  刘佳娜TiAmo  阅读(197)  评论(0编辑  收藏  举报