zoukankan      html  css  js  c++  java
  • 个人作业——软件工程实践总结作业

    个人作业——软件工程实践总结作业

    一、请回望暑假时的第一次作业,你对于软件工程课程的想象

    1.对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

    • 一眨眼四个月的时间过去了,回顾这几个月,过的既紧张但又不得不说也很充实。在课程前期,希望在这门课中提升自己的个人编码等能力,以及尝试团队共同开发。刚开始对于安卓开发一无所知,并没有相关的开发经验,自己的编程基础也相对较差,到了真正开始进行冲刺的时候显得有些不知所措。慢慢在摸索中懂得了服务端部署,安卓前端的开发,前后端的交互等,熟悉了app开发流程。经过项目的选题、需求分析、原型设计、Alpha版本、Beta版本等一步步地有规划地进行。自己的个人能力得到了提升的同时也觉得自身也存在着很多不足如debug的能力有所欠缺,自身的代码量不足,对于新知识消化得不够快等。尽管还没有完全达到期待,但还是收获了很多。

    2.总结这门课程的实践总结和给你带来的提升,包括以下内容:

    (1)、统计一下,你在这门软件工程实践中,完成了多少行的代码;

    • 2000行左右

    (2)、软工实践的各次作业分别花了多少时间?(做一个列表)

    作业 时间
    软件工程实践第一次作业(个人) 5h
    数独(个人) 20h
    团队展示(团队) 10h
    原型设计(结对) 15h
    项目选题报告(团队) 20h
    结对第二次作业(结对) 30h
    项目需求分析(团队) 30h
    Alpha冲刺 (团队) 100h
    随堂小测同学录(团队) 5h
    软件产品案例分析(个人) 10h
    beta冲刺(团队) 40h
    软件工程实践总结(个人) 5h

    (3)、哪一次作业让你印象最深刻?为什么?

    • Alpha冲刺让我印象最深刻。因为Alpha冲刺是真正开始着手项目的阶段,也正是在冲刺的过程,才接触了编码层面的项目开发。这个过程是我认为收获最大的一个过程。

    (4)、累计花了多少个小时在软工实践上?平均每周花多少个小时?

    • 累积多花的时间不好做出精确估计,平均每周花20个小时左右时间。

    (5)、学习和使用的新软件;

    • Android Studio
    • Axure RP
    • Visual Studio
    • Navicat Premium
    • StarUML

    (6)、学习和使用的新工具;

    • github
    • iconfont(阿里巴巴矢量图标库)

    (7)、学习和掌握的新语言、新平台;

    • 新语言:对于java、C#有了进一步的了解;
    • 新平台:博客园,阿里云

    (8)、学习和掌握的新方法;

    • 前后端分离进行项目开发

    (9)、其他方面的提升。

    • 使用github进行团队编程开发
    • 解决bug的能力,查阅资料的能力得到一定提升
    • 团队合作意识更强了
    • 体会到了写博客的重要性,认真地去记录一些自己所学习到的东西真的很重要

    二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

    • 在初期的开发使用android studio 的过程中,遇到了很多问题,诸如无法启动模拟器,更新升级后依旧无法启动,自己的项目可以运行,但是到了其他人那边却各种报红,大家都一头雾水,后来组内统一了as的版本之后,类似的错误就少了很多。
    • 在Alpha冲刺阶段,大家接手自己的任务分配之后,大家都各做各的,由于没有做好沟通,也不太清楚各自的进度,效率并不是很高。于是在Beta冲刺阶段,大家自发的出来一起学习,积极交流的同时也起到了互相监督的作用,所以Beta阶段的效率比Alpha阶段提高了不少。
    • git和github的使用得当,对于团队协作编程会有很大帮助。

    三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?

    • 选了软工实践这门课,就必须做好要付出很多时间和精力的准备。
    • 对于想要通过项目开发来提升自身能力的学弟学妹,软工实践最适合不过了。软工实践会从项目的选题、需求分析、原型设计、Alpha冲刺、Beta冲刺等一步步地进行项目的开发,每个阶段都有明确的任务。
    • 在团队组建后的初期,做好团队之间的沟通,明确彼此的分工。在项目开发前期,统一代码规范,拟定每天的计划。着手开发时,落实好每一天的任务,不能把当天任务拖到第二天。
    • 建议提前简单了解git和github的使用,对于后期的团队协作编程会有很大帮助。
    • 对于中途换队员的问题,我觉得中途换队员还是可以接受的,但是决定互换的队员的方式很重要。

    四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

    • 萌芽阶段:初期一开始的软工课主要是以个人作业和结对编程作业为主,还没有真正开始团队的项目,团队中每个人对其他人的能力和技术也没有很好的认知。所以初期主要在沟通。
    • 磨合阶段:在项目选题的时候,每个人都有自己的想法,大家的意见不统一,在经过几次的会议讨论之后最终决定了要做一个日记app,而在网页App和android原生App的选择上,也纠结了很久,经过协商一致决定开发android原生app。这个阶段的几次会议讨论也促进了队内成员相互熟悉。
    • 规范阶段:在这个阶段,我们完成了原型设计、软件需求规格说明书,制定了代码规范。经过小组开会讨论,对项目进行规划,根据每个人擅长的地方,对每天要完成的工作进行了任务分配。
    • 创造阶段:冲刺阶段,我们团队由于种种原因没有很好的完成的预期的任务,我作为组长必须承担起很大一部分的责任,尽管分配了任务,由于任务分配得不够合理,也没有及时跟进,大家的进度参差不齐,导致效率不高,开发进程缓慢。并没有达到创造这一阶段。

    五、怎样证明你学会了软件工程?

    1、研发出符合用户需求的软件必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户)

    • 身边的同学在试用中......

    2、通过一系列工具,流程,团队合作,能够在预计的时间内发布“足够好”的软件有项目规划/需求/设计/实现/发布/维护,有定时的进度发布

    • 我们的团队有完整的项目规划,有定时的进度发布
    项目进展 时间
    前期调研与需求分析 2017-09-20
    项目原型设计 2017-09-25
    项目选题报告 2017-09-27
    需求规格说明书 2017-10-18
    Alpha版本发布 2017-11-09
    beta版本发布 2017-12-22
    用户试用与调研 2017-12-25
    项目正式发布与验收 2018-01-10

    3、并且通过数据展现软件是可以维护和继续发展的

    我们有着统一的代码规范,数据传输说明,和代码注释等,即使刚接手项目,也能很容易的看懂代码,接着项目继续开发。

    • 代码规范文档
    • 数据传输说明
    • 部分代码展示
  • 相关阅读:
    css | js 实现扩展卡片小demo
    ESLint如何配置
    (js描述的)数据结构[哈希表1.3](10)
    (js描述的)数据结构[哈希表1.2](9)
    VSCode——自定义VSCode背景图片
    VSCode 初次写vue项目并一键生成.vue模版
    (js描述的)数据结构[哈希表1.1](8)
    (js描述的)数据结构[字典](7)
    Vue 实战项目: 硅谷外卖(1)
    脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
  • 原文地址:https://www.cnblogs.com/ZHOULR/p/8158055.html
Copyright © 2011-2022 走看看