软件工程(PYTHON)

软件工程

默认教学计划
211人加入学习
(1人评价)
价格 免费
教学计划
承诺服务

一、

1.

达到的期待和目标:

<1>写博客能力的提升和表述计算机知识的能力的加强

<2>代码编写、修改、审查和相关的测试能力提高了

<3>培养了自己的责任心,增强了责任观念

不足:

<1>代码规范和代码质量有小的提升,但是还不够好

<2>其他方面的技能还不够丰富

2.

<1>代码行数较多,没具体数过,估计有1000行

<2>

<3>团队作业让我印象深刻,因为熬夜学习新知识和新工具

<4>平均每周花费5-6小时,累计花费40小时左右

<5>学习了新软件:Sublime Text3 (集成了python开发环境)

<6>学习了新工具:简书,博客园

<7>新语言:java,新平台idea

<8>新方法:NABCD

<9>加强了自身写代码的能力

二、

一个人的能力始终是有限的,团队合作让项目变得更简单,让学习变得更快乐

三、

建议:在平时多在网上学习一些热门的语言和工具,组队过程最好不要换队员

四、

我的团队基本都经历过,最后达到了“创造”阶段,在团队中每个人都尽职尽责,都按时完成率属于自己的任务

[展开全文]

https://www.cnblogs.com/Lorrege/p/13912534.html

[展开全文]

https://www.cnblogs.com/Lorrege/p/13838117.html

[展开全文]

11111111111111112222222222

[展开全文]

 

1 手机和电脑用数据线连接

下载360手机,并通过数据线连接手机。首次连接需要安装对应的手机驱动程序。

通过adb命令

adb devices

可以查看连接的Android设备的信息

 

2 获取手机相关的信息

通过如下命令可以查看连接电脑的Android手机相关的信息

adb shell dumpsys window displays

 

在第3行可以看到手机的分辨率

 

获取屏幕密度

adb shell wm density

 

获取手机型号

adb shell getprop ro.product.device

 

获取Android系统的版本

adb shell getprop ro.build.version.release

 

3 截屏

 

输入如下命令:

adb shell screencap -p /sdcard/auto.png

此时,截屏的图片就保存到 /sdcard/auto.png文件中。

注意:/sdcard/和/data/目录是可以写入的。

可以通过命令

adb shell ls /sdcard/ -l

查看sdcard目录下所有的文件。

 

 

通过如下命令把手机上的文件拷贝到电脑上

adb pull /sdcard/auto.png d:\

此时,图片就会被拷贝到d:\根目录下了。打开即可看到当前手机的屏幕信息。

 

 

 

4 屏幕点击事件

通过如下命令模拟手机的滑动事件

adb shell input swipe x1 y1 x2 y2 duration

通过adb shell input swipe命令进行滑动

  • x1、y1:滑动开始的点。
  • x2、y2:滑动结束的点。
  • duration:持续的时间(单位ms)。

特殊情况下:如果不写duration参数,就理解为点击事件。如果写duration,然后x1y1和x2y2是相同的点,就表示长按。

跳一跳关键是:duration的值的计算。

尝试:

adb shell input swipe 100 100 100 100 700

adb shell screencap -p /sdcard/auto.png

adb pull /sdcard/auto.png d:\

尝试修改duration的值,看看跳的效果。

 

求得可以拿到加分的中间值。比如712~748都可以拿到加分(711以下和749以上就不能拿到加分),此时则取中间值为(712+748)/2=730。来作为后面计算的参考值。

adb shell input swipe 100 100 100 100 725

adb shell screencap -p /sdcard/auto.png

adb pull /sdcard/auto.png d:\

 

 

5 duration值的计算

假设我们截屏的效果是如下:

 

从图中可以看到,时间的值跟开始位置到结束位置的距离有关。

假设时间是t,距离是s。公式应该是s = at

基本思路:两点之间的距离乘以一个时间系数。

所以要从截图上识别出起跳位置的坐标(x1,y1)和目标位置的坐标(x2,y2)。

起跳位置的坐标:小人的底座中心点

目标位置的坐标:目标菱形的中心点

然后计算这两点之间的距离(欧氏距离):sqrt((x1-x2)2+(y1-y2)2)

 

6 截屏的代码

 

创建img目录,后面把所有截屏的图片都放到该目录下(原则上每跳一步都需要截屏一次)

operation.py

import os
import datetime
# 实现控制Android设备等相关的操作

class Operation:
    # 构造方法
   
def __init__(self):
        pass

   
# 截屏
   
def screen_cap(self):
        filename = time = datetime.datetime.now().strftime("%H%M%S") + ".png"
       
# 截屏并保存到手机的目录上
       
cmd = "adb shell screencap -p /sdcard/" + filename
        os.system(cmd)
        # 把手机目录上的文件拷贝到PC上
       
cmd = "adb pull /sdcard/" + filename + " img/" + filename
        os.system(cmd)

 

 

main.py

from operation import *

  

  # 测试截屏

  def test_screen_cap():

    op = Operation()

    op.screen_cap()

  

  if __name__=="__main__":

    test_screen_cap()

 

 

 

 

7 显示图片的代码

需要安装matplotlib库

pip install matplotlib

pip install opencv-python

 

draw.py

import matplotlib.pyplot as plt # 绘图

  import cv2 # 读取图片文件

# 实现显示图片 绘制图片等功能

  class Draw:

    # 构造器

    def __init__(self):

        # 初始化图像plt对象

        self.fig = plt.figure()

  

    # 显示图片

    def show_pic(self, filename,scale=1):

        # 读取图像

        img = cv2.imread(filename)

        # 调整显示的比例

        img = cv2.resize(img, (0,0), fx=scale, fy=scale)

        # 显示图像

        plt.imshow(img)

        plt.show()

 

 

main.py

# 测试显示图片

  def test_show_pic():

    draw = Draw()

    draw.show_pic("img/143041.png")

 

 

8 计算两点之间的欧氏距离

创建文件algorithm.py文件,添加计算欧氏距离的方法

algorithm.py

# 算法类

  class Algorithm:

    # 构造器

    def __init__(self):

        pass

  

    # 计算两点之间的欧氏距离

    # p1和p2表示两个点 用元组来表示

    def euclidean_distance(self,p1,p2):

        return ((p1[0] - p2[0])**2 + (p1[1] - p2[1])**2) ** 0.5

 

 

main.py

  # 测试计算欧氏距离

  def test_euclidean_distane():

    algorithm = Algorithm()

    p1 = (3,4)

    p2 = (6,8)

    d = algorithm.euclidean_distance(p1,p2)

    print(d)

 

 

 

 

[展开全文]


 

 

 

 

实 训 报 告

 

 

 

课程名称:

软件工程

实训项目:

相遇网个人的总结报告

实训时间:

2018.3—2018.6

实训班级:

15信息与计算科学

实训人员:

邓仁宁

总 份 数:

1

指导教师:

吴世枫

 

 

      

         数学与系统科学  学院    微机2    实训室

二〇〇一八年六月二十日


广东技术师范学院实训报告

 

学院:

数学与系统科学

专业:

15信息与计算科学

班级:

一班

成绩:

 

姓名:

邓仁宁

学号:

31

组别:

 

组员:

詹佳丰、杨子龙、邓仁宁、罗绍坤、冯丽茂

实训地点:

相遇网

实训日期:

 

指导教师签名:

 

 

实训 (序号)  参与项目名称:            相遇网                      

 

相遇网个人的总结报告

 

软件工程团队项目实践总结。包括对软件工程的理解与收获,团队项目实践中的经验总结,评价自己的团队以及实践结果。

关 键 词 : 软件工程

 

 

 

一、对软件工程的理解与收获

1)从一开始对软件工程的一无所知,到现在对软件工程有了大概的了解,也了解工程不一定是很多人一起完成,也可以分很多种——个人开发、多人开发等。每种开发形式基本都逃不脱软件工程开发所遵循的一套基本流程,也必须遵循软件工程所遵循的所有原则。我觉得对一个新人来说要多看多练多检查,特别是花在代码复审的时间要更多才好。积累经验,完善自己的水平。

2)总结这门课程的实践总结与提升,包括以下内容:

  1. 软件工程实践中,完成的代码

在学习这门课程期间,我们完成了一个相亲网站的简单实现,其中我主要负责后台的实现,其中代码大概有4000行。

  1. 软工实践的各次作业花费时间

次数

第一次

第二次

第三次

第四次

第五次

第六次

第七次

第八次

第九次

时间(h)

2

2.2

2.5

4

6.2

12

42

53.5

30

 

  1. 哪一次作业让你印象最深刻?为什么?

印象最深的一次作业是写需求规格说明书的时候,因为那个时候感觉写这个没什么作业,又有其他事情,就感觉很烦

  1. 累计花了多少个小时在软工实践上?平均每周花多少个小时?

累加120个小时,平均每周花40个小时。

 

  1. 学习和掌握的新方法

项目运用了新学的框架sping和mabatis

  1. 其他方面的提升。

写代码的能力得到提高,并且对于与前端交互部分更加熟悉,对知识点理解更深

 

二、团队项目实践中的经验总结

写代码首先要确定好项目需求和数字字典,然后要先写好整个框架(接口),再补充具体内容,比如说要实现一个功能,要把从前端到后台要处理的事情先确定下来,在写代码实现。

要多以组员交流,这样任务交接与实现就不会有误差

三、分析一下自己所处的团队。

我们团队有各种人才,有的会前端,有的会后端,有的会设计等等

我们经历了如下几个阶段:需求分析与原型设计,选题、确定内容题目与分工,系统设计与任务分配,项目实现,测试与运用,最终总结。

我们都得到不同的提升。

四、实践结果

我们的实践项目能够成功上线,有基本的功能实现

图5.1 注册

图5.2 登录

 

 

图5.3 个人信息展示

图5.4 按条件查询

图5.5 成功案例分享

图5.6 会员推荐

图5.7 主页

  

 

 

[展开全文]

 

 

 

实 训 报 告

 

 

 

课程名称:

软件工程

实训项目:

相遇网的总结报告

实训时间:

2018.4.24~2018.6.21

实训班级:

15信息与计算科学

实训人员:

詹佳丰

总 份 数:

1

指导教师:

吴世枫

 

 

 

     

       数学与系统科学  学院  实验楼微机2室  实训室

二〇〇一八年六月二十一日

 

广东技术师范学院实训报告

 

学院:

数学与系统科学学院

专业:

信息与计算科学

班级:

15信息与计算科学

成绩:

 

姓名:

詹佳丰

学号:

2015034643037

组别:

 

组员:

杨子龙 詹佳丰 陈志权 罗绍坤 邓仁宁 冯丽茂

实训地点:

实验楼

实训日期:

2018-6-21

指导教师签名:

吴世枫

                             

 

实训 (序号)  参与项目名称:     相遇网               

 

摘要

      写出本学期的软件工程的学习过程的内容,对过去的回顾与对未来的展望。发表个人的看法和建议。针对团队开发项目,讲述自己的收法及看法,
关键词: 软件工程,相遇网

 

 

一、回顾

1.1课程目标和期待

对比开篇博客我对软件工程这门课程的目标和期待,反思自身能力的变化,临近课程结束时终于知道了这门课程的重要性以及对我们带来的改变。通过本课程,我学会了墨刀,github,码云等平台,我开始练习使用博客记录个人学习心得,这大大提高了我的编程能力,通过软件工程中的团队合作,我的团队协作能力也取得了大大的提高,此外,这门课程让我对项目有了新的理解,并不只是简单的敲代码那么简单,在这个过程中,我开始发现自己的目标,这也让我感受到了编程的乐趣,提升了我编程的效率,为我将来进入企业工作打下了良好的基础。当然在别的方面还是有些不足,例如缺乏对各种编程语言的全面学习,项目开发上我始终还是缺乏经验和实力,在编程过程中出现了很多不该出现的问题,都是由于最初的架构随意导致的,所以这是我需要认真反思的地方。

1.2课程实践总结和提升

1.2.1代码量

本学期在软件工程这门课程上完成了大概3000行代码。

1.2.2作业完成时间

作业

时间

作业1:开设博客并评估水平

1小时

作业2:发布博客

45分钟

作业3:python作业和团队展示

3小时

作业4:运用jieba库分词

4小时

作业5:四则运算与效能分析

2小时

作业6:需求分析

8小时

作业7:选题报告与需求规格说明书

15小时

作业8:系统设计与任务分配

8小时

作业9:测试报告与用户使用手册

9小时

1.2.3印象深刻的作业

印象深刻的作业:选题报告与需求分析

很多事情都是第一次,、制作了线上调查问卷,这对从来没做过调查问卷的我来说简直是一道大难题,从零开始,制作完又花费了一个下午的时间去请身边的同学和朋友转发填写。最后又在晚上总结了很久,那一次真的觉得有点累。啊哈哈哈

1.2.4花费时间

在软件工程这门课上,每周会有至少10个小时花费在学习语言(易知大学)或课程作业上,累计80小时。

1.2.5学习和使用的新软件

Pycharm

1.2.6学习和使用的新工具

墨刀,github,码云,wix

1.2.7学习和掌握的新语言、新平台

python、HTML、JavaScript、CSS、博客园、GitHub,wix,墨刀

 

1.2.8学习和掌握的新方法

web前端界面的时候能快速套用模板或使用bootstrap等框架,省去设计前端的时间。

1.2.9其他方面的提升

开始对整个软件形成的过程有了深刻的理解,对测试和维护的重要性也有了更深刻的认识,也认识到了团队分工与合作的以及重要性。

二、人月神话

在做团队项目时,我们发现前端和后端在交互的时候会出现很多问题,比如验证问题,数据格式问题等。所以在做项目之前,前端和后台的交流十分重要,在协商一些问题时必须要前面,设计数据表等工作必须要和前端协商好。像我们做相亲网站就遇到这种问题,后台没有写数据验证,前端也没写,就导致了bug的出现。

三、建议与告知

我想对大一的我说:

大学并不是用来放松的,具备大量的专业知识会让你看起来更加有优秀,你要认真学习,学习一些编程语言,多学习一些算法,早些学软件工程,这样可以让我们在开发中更加胸有成竹,就可以少走弯路,增加编程兴趣。

我想对开学初的我说:

软件工程是一门很好的课程,你应该也值得你花费大量的时间去攻克它,因为学好它不仅能够加强自己的的整体思维能力, 对自己的综合素质有所提高, 培养良好的分析规划和团队意识。 但是这些都是建立在你愿意认真去学的基础上的。软件工程与其说是一门课程, 不如说是一门思想, 是一个如何去分析和处理问题的过程, 应该说其范畴已经远远不止局限于该门课程,成为了一个综合的能够解决问题的思想集合。

对下一届的期许:

原来一直以为学好这门课程最重要的是会编写程序,其实则不然。我了解到软件并非是一些代码这么简单, 在开发软件的过程中,编写代码的工作量其实只占不到所有工程量的 30%,而后期的管理和维护更是占了 60%到 80%之多。一个完整的项目规划须包括: 软件的选题、 可行性分析报告、软件需求说明书、概要设计说明书、详细设计说明书、用户操作手册、测试计划、测试分析报告、开发进度报告、项目开发总结报告、软件维护手册、软件问题报告、软件修改报告等多个文档,每个文档都要上级验收审查,而文档数量众多, 一个团队要做好这点真的不是很容易, 而恰恰写好文档正能保证完成软件工程其中一个目的的关键,再加上各个阶段都要进行周密的策划、 详细的分工部署和人员安排, 且各阶段要据具体情况不断的反复才能达成, 所以代码只是开发软件这个浩大的工程的一个小小的过程。如果你们自身存在不足比如自己动手操作能力比较弱, 实践经验匮乏,思维不紧密,不注重细节,耐心不够,每次遇到问题就去问老师,实战精神不强, 这些会导致很多知识学得也只是模模糊糊的。 所以你们在遇到这门课的学习中要注重加强自身综合素质的培养,要注意多看多练要注意结合实际,更要多思考,面对错误不要一犯就问, 要尝试自己去解决, 这样才能学到这门课程的精华。 我觉得大家学好软件工程首先要明白自己的学习目标究竟是什么, 根据自己的实际工作出发,有针对性地在相应的学习方向上进行提高, 制定出详细的学习规划。 还要注意与其他科目的相辅相成,就像我们在学习语言时,要看看与 java语言的联系,多思多想,把从大一大二各个科目学到的知识融汇贯通。下一届不用中途换队员。这样子可能让团队更加专注于开发自己的项目。

 

 

四、分析自己的团队

萌芽阶段

一开始在分配工作上出现了个人的角色和职责不清楚的情况,每个人对分配到的工作都有疲惫心理,对任务也是很不自。

磨合阶段

针对自身的问题,我们内部进行了一次又一次的沟通,我们开始明白团队分工的重要性和个人完成任务对项目的影响,在这之前形成的小团体也开始渐渐消失,每个人都开始重视起来团队项目。

规范阶段

团队的工作流程和工作方式已经分工方案得到了大家的认可,大家开始认真执行自己的任务,团队的项目开始很有效率地执行下去,不过没有达到创造阶段。

 

 

五、学会软件工程?

5.1研发出符合用户需求的软件

必须公开发布,有实际的用户,必须拥有一定的用户量和持续使用量。一个没有用户的系统是没有意义的系统,这会导致我们的项目将没有数据,前端将不再丰满。必须是一个对用户有实际使用意义的软件,一个没有实用意义的系统,它的存在也会变得没有意义,这样子我们将会变成辛辛苦苦确是在做没有意义的东西。

5.2通过一系列工具,流程,合作,能够在预计的时间发布“足够好”的软件

与客户面对面的交谈,充分了解客户的需求,进行多次的需求确认

编写需求分析说明书,再次与客户确认需求

确认无误,进行原型的设计(Axure)

体系结构的设计(代码规范性,编程软件的统一)

正式开始编码

a.制定项目时间计划表b.人员分工明细c.站立式会议d.代码的整合(github)

 

 

[展开全文]

摘要

经过本学期软件工程这门课所设定项目的设计并实现,我对自己所学的软件编程有了更进一步的了解与认识。同时,也感谢老师的耐心指导,在项目的开发过程中,给我提出了很多宝贵的意见,使我在做这次的毕业课程设计中受益匪浅。当然,我也深深的感受到我们所学的就在自己的身边,认识到理论与实践相结合的重要性。本学期软件工程这门课即将结课,我将自己所学的知识做了一个小小的总结,当然也是为我以后深入学习编程做了铺垫。在本门课中存在的不足之处也希望导师和同学们可以帮我提出,并及时的改进,这些宝贵的意见都将鞭策着我的不断努力和勤勉!

 

关键词:软件工程;项目开发;编程;

 

目录

1学期综述 1

2项目开发 1

3课程总结 2

4经验总结 3

5意见和建议 4

6课程和团队分析 4

 

 

1、学期综述

仍然记得第一篇博客「我对软件工程这门课的理解」中第一个问题就问什么是软件工程。当时,除了知道有软件工程这个专业,我并不知道还有软件工程这门课程,因此我不敢凭空妄谈对软件工程这门课有什么理解。当我看到作业是谈谈自己对软件工程这门课的理解时,我是有点惊讶的,因为那时候刚刚开学两周,课也上了没几节,可以说我对软件工程这个概念完全没有理解。但是我想,既然是作业,我也只能强迫我自己去看书查资料说说我自己的理解和看法了。

然后一眨眼一学期竟然就这么过去了,而这门课也即将结课,我自己认为的软件工程的概念也发生了天翻地覆的变化,当时我仅仅认为软件工程就是写代码做项目,学完这门课之后,现在的我认为软件工程是一个广义上的概念,它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等各方面的东西。

在这个课程中学到需求分析的重要性以及提前要做好总体设计并且如何做好一个完备的总体设计。再到详细设计就是对总体设计的延伸,做到更加细致的设计。还有黑盒测试的重要性,以及用于不同的场景测试时结果一致性。

 

 

2、项目开发

我们所开发的项目是「基于JavaWeb的毕业设计选题管理平台」,在小组中担任组长,我所做的就是设计一个整体的框架,以及详细的原型的设计和后台的开发,所占比例比较大。从上课开始,老师就告诉我们软件工程实际是一门专业,但是自己并没有怎么领会,直到在之后的项目的开发过程中才理解,这其实是一门很需要时间的专业。差不多第五周左右的课,老师就要求我们有一个明确的软件设计目标,类似于app或者网页交互以及管理系统之类的,然后也就有了我们对实际需求的分析,同时我们就开始对可行性以及需求有了更加直观的认识。

因为,需求分析实际上就是你想要什么,做什么,什么样子的。而相对应得可行性分析则是对实现需求的一个目标的精简化的过程。也就是怎么样更快更好的做到。后面我们写了自己的软件设计方向之后,并且在实现它的过程中才对各个部分深有体会。例如,我们组的是做毕业设计选题管理平台,这个平台主要就是基于Java开发的,起初,我一直认为这个平台开发难度不大,但开发过程中才知道,很多事情说起来看起来容易,但是做起来才知道其中的难易。毕竟抱着个学习的心态去尝试的。后面,做的时候才有了棘手的感觉,就是那种从零开始的感觉。每一个问题都要卡很久,从刚开始的平台搭建开始,到后面平台的使用都是简单但是烦人的问题。

之后在遇到对项目部署时候的各种问题,以及使用阿里云服务器的不熟悉,一而再的陷入困境。这就是开始的可行性部分没有做到位的后果。再说,慢慢熟悉对开发平台的使用之后,能够编一些自己想要的东西,但是凌乱不堪。在开发过程中,就有一种被项目牵着走的感觉,之后不得已重新开始。

但是,对总体设计有了清楚的认识。 那就是类似于计划书一样的东西。 或者说是目录更合适一点,可以在后面开发的过程中不停的反过来参考, 做到哪了, 下一步该做什么, 都是十分明确的,不会乱了自己的阵脚。对了,还有最好要有一个开发记录本,用于记录个人开发过程中的总结以及在开发前的界面以及详细控件要求或则功能等。 在开发的时候就更加方便。再讲测试部分,则是有些惭愧,时至今日,尚未开发完成。也只是在实体机上进行部分功能的测试。 其中黑盒以及白盒都有直观的理解。 对于开发者自身而言, 白盒测试是找出问题的主要手段。而黑盒测试则为体验者所用。

以上差不多就是我这个学期在上课和自己亲自动手编写程序中的感受了, 说来从一个开始上来就乱写的新手来说,上了这门课之后,在老师不停的叮咛中, 变成一个很有思路的新人,自我感收获很大。

 

 

3、课程总结

(1)在本门课程中,大完成了约超过3000行的代码;

(2)作业完成时间表:

 

作业

时长

开设博客,GitHub等

1h

Python实验总结

4h

效能分析与几个问题

8h

结对项目之需求分析与原型设计

8h

选题报告和需求规格说明书

6h

系统设计和任务分配

6h

发布Alpha版本

60h

测试报告和用户使用手册

7h

个人总结

6h

 

 

(3)我已经习惯平常心对待一切,所以没有哪次作业让我印象特别深刻;

(4)每周平均 5 个小时左右的时间花在软件工程上;

(5)学习和使用的新软件:IntelliJ IDEA ;

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

软件工程包含的内容广泛,线上课程和实验主要涉及的是代码层面的内容。课程通过从简单到复杂一步一步设计出一个通用的菜单系统来向我们介绍了设计一个软件所要做的事情和要注意的地方。与以往课程实验实现一些简单的功能函数不同,要设计出一个实用的软件系统,功能需求只是最基础最简单的需求,而其他非功能性需求如可重用性、通用性和可维护性等也占据着非常重要的地位。对于一个软件系统,要实现很好的可维护性,首先编程必须符合一定的代码风格规范,规范和风格统一的代码能增强可读性,既有利于团队成员之间相互交流,也有利于后期的更改维护;其次,模块化也是增强软件可维护性的一个重要方法。程序的模块化还能增强代码的可重用性和通用性。要实现模块化,就要尽量让代码简单,例如一个函数只做一件事,一个模块只做一类事。必须遵循“不和陌生人说话”的原则,封装类,保证一个对象对另一个对象了解的尽可能少。同时为模块设计通用规范的接口。此外,软件开发中还要考虑多线程情况下线程安全的问题,需要关注函数是否是可重入的,以及使用互斥锁以保证多线程安全等。

 

 

4、经验总结

(1)需求理解要透彻;

(2)工作量评估做到群策群力;

(3)任务分工角色要配置齐全;

(4)代码质量控制摆到重中之重;

(5)保持对外接口更友好一直在路上;

(6)单元测试要完全覆盖;

(7)保持开发人员的积极性;

(8)重视结果。

 

 

5、意见和建议

以上差不多就是我这个学期在上课和自己亲自动手编写程序中的感受了,说来从一个开始上来就乱写的新手来说,上了这门课之后,在老师不停的叮咛中,变成一个很有思路的新人,自我感收获很大。 至于建议有两点, 一点是课堂效果不好, 为什么呢?实践,没调动积极性。脱离了课本的内容,所以以后这门课可以开始就一个计算机之类的作为引导,来阐述教材内容。二是课下自主开发有一

定的困难,并且团队开发的具体实施方法并不熟悉,所以只不算一个建议只能算一个想法或者说问题。

6、课程和团队分析

(1)课程分析:这门课程订的课本叫《现代软件工程构建之法》,从名字理解第一想法就是几个人一起合作开发一个项目工程,其中包括从项目的名字、需求分析到项目的具体实施、团队每个人的任务分配等等,到最终项目的完美展现。翻开这本书的目录,我大概知道了软件工程这么课大概就三个方向的内容:

a、软件工程相关概念及概述。简单来讲,就是一堆的概念和理论。对我来讲,我是很难一个一个章节去看这一部分的,或许是性格原因,我难以集中注意力去理解一堆的概念和理论。但同时我也认为,如果对于一个真正想从事编程相关工作的人,偏于实践,这个部分并不太重要。

b、个人及团队在项目开发中地位以及作用的概述。这一部分稍微显得有趣些,一个人如何参与到一个项目中去,又如何发挥自己的项目开发中的作用,这个应该是每一个要做编程开发工作的人都要思考的事情。在具体的项目开发中,这也是我们大学生意识最薄弱的部分。我认为大部分的当代大学生也包括我自己,团队合作意识是相当差的,或者说根本没有。要么认为自己一个人能搞定,不需要一起协作完成;要么认为自己无法提供很好的帮助,不想参与到团队中来;要么认为人满为患,人越少越好,等等。对我我自己来说,这几个原因我基本都有,而且也是近期才意识到这个问题以及这个问题的严重性,因此对于这个部分的内容,我可能还会稍微认真去学习并努力去深入探究理解一下。

c、从项目的需求分析到项目最终构建的流程概述。这是项目开发最重要的部分,我以为一个项目要想有条不紊的进行开发,团队成员必须对项目的流程以及自己的工作了如指掌。具体如何进行项目需求分析,以及项目构建的具体流程,这个在本文暂不做深入的探讨。

(2)团队分析:团队合作真的很重要。

(3)我学会了什么?

a、知道自己接触过一些软件工程相关的概念,起码看到相关的概念有点印象。

b、认真去学习自己如何才能在项目开发当中好好发挥自己的作用,如何才能在项目开发当中快速的成长。

c、熟悉项目开发的流程,以及每一个流程的详细操作。

[展开全文]

 

 

 

个人 报 告 总 结

 

 

 

课程名称:

软件工程

项目名称:

碧瑶答疑网

实验时间:

2018年6月20日

实验人员:

5

总 份 数:

1

指导教师:

吴世枫

 

 

 

     

          数学与系统科学  学院  实验楼微机2  实验室

二〇一八年六月二十日

 

广东技术师范学院实训报告

 

学院:

数学与系统科学学院

专业:

信息与计算科学

班级:

15信计

成绩:

 

姓名:

陈锐群

学号:

2015034643035

组别:

 

组员:

陈锐群,李宗晓,沈杰钊,方泽慧,古维城

实训地点:

微机2室

实训日期:

2018.6.20

指导教师签名:

 

                             

 

实训 (序号)  参与项目名称:          碧瑶答疑网                        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录

1、对于软件工程的想法   1.1.想法. 1

1.2.软件工程带来的提升... 1

1.2.1课程代码量... 2

1.2.2 软件工程花费时间分布... 2

1.2.3 印象最深刻的一次... 2

1.2.4 累计花费时长... 3

1.2.5 学习和使用的新软件... 3

1.2.6 学习和使用的新工具... 3

1.2.7 学习和掌握的新语言、新平台... 3

1.2.8 学习和掌握的新方法... 3

1.2.9 其他方面的提升... 3

二、个人项目实践经验总结... 3

三、提出的建议... 4

四、分析团队协作经验... 4

五、证明我学会了软件工程... 4

 

 

 

陈锐群个人报告总结

信息与计算科学   指导教师 吴世枫

(广东技术师范学院数学与系统科学学院2015级,广东广州510665)

 

摘要

本文主要基于软件工程这门课,进行了个人的简单总结,包括讲述了个人对于软件工程的看法,学习了软件工程后的进步和不足之处,根据整个软件工程流程,进行了经验总结,提出建议,最后论证了自己学习了软件工程的一个过程。


1、对于软件工程的想法
  1.1.想法.

对于我而言,一开始没开始软件工程这门课之前,我还停留在对于软件工程美好的幻想,以为上了软件工程就是一个可以做软件做精美的游戏,然后走上人生巅峰,会教我们很多的关于软件的技术,后来才发现软件工程其实就是带我们走一遍流程,知道一个软件一个应用从无到有的过程具体要做什么,也带着我们踩了一遍坑,知道了软件工程具体有什么难点具体需要做些什么具体做法的原理是什么。对于开始前我对课程的目标和期待,我觉得自己在编码能力上有了一定的提升,在团队分工,团队合作上面也有一定的锻炼,学会了使用github和码云这种分布式的多人协作平台,让我明确了软件=程序+软件工程这一核心思想。不足的方面仍然有很多,包括自己的编码能力依旧还是太弱,远远达不到可以就业的水平,在知识的深度和广度上面还有很多可以深入学习的东西,对于问题的处理方式上,可以有多种方式加速解决问题的过程,但自己偏偏就是不知道这个

方式,说到底还是经验不够。

1.2.软件工程带来的提升

1.2.1课程代码量

在软件工程这门课上,我所做的工作较少的分布在代码的编程上,所以代码打的不多,大概就是500行左右。

 

1.2.2 软件工程花费时间分布

作业

时间(小时)

个人阅读作业

1

结对编程练习

12

案例分析

5

需求分析与设计

6

团队计划

2

Alpha阶段

75

测试与发布

3

alpha阶段项目复审

5

个人总结

3

 

1.2.3 印象最深刻的一次

需求分析让我印象最深刻,通过需求的分析让我了解到了一个软件在需求方面可以达到那么多细节的需求,很多以前用软件的时候的需求以前都没注意过,自己来做需求时才发现原来有那么多的大大小小的功能可以做,仿佛发现了一片新大陆,然后再通过对比他人大公司的软件功能才了解到需求分析也不是一个简单的工作啊,给我留下了蛮深的印象。

1.2.4 累计花费时长

累计花了120小时,平均每周7小时吧。

1.2.5 学习和使用的新软件

主要的使用软件是pycharm。

1.2.6 学习和使用的新工具

学习和使用了Fiddler和vmware。

1.2.7 学习和掌握的新语言、新平台

掌握了JavaScript和Jquery,html和css等新语言。

1.2.8 学习和掌握的新方法

懂得了团队之间该如何合作,该如何控制整个团队的项目进度。

1.2.9 其他方面的提升

在与人沟通方面提高了很多,懂得和人在需求分析时进行沟通,如何合理利用沟通技巧。

二、个人项目实践经验总结

从一开始的对软件课程的一无所知到现在的对软件开发流程的整体认识都有了一定的认识,一开始对软件开发的各种困惑,通过一个学期的学习,原来的各种疑惑也都解决了。软件的开发并不只是单纯地敲代码,还要经过一整套严格的开发流程,有对软件的整体设计,需求分析,UI设计,软件开发,软件功能测试,单元测试等有了认识和了解。
   以后项目开发时事先对项目要有一个详细的规划,需求分析,UI设计,画出UML图,看图写代码等。不能只是简单地开发代码,而不去注重软件开发过程记录,多去按照标准的软件开发模式去书写每一个软件开发过程的文档。

 

三、提出的建议

对于下一届的建议,我的建议是要做好前期的需求分析,尝试考虑好一切好考虑到的东西,理清楚软件开发过程中的各种逻辑,再开始进行代码的编写,适当调整项目的难度,在自己可以做到的范围内适当提高难度,争取学到内容的同时,保质保量的完成软件工程的任务。在博客方面可以加强同学和助教之间的交流和互动,形成一个较好的学习氛围,博客是一个很好的学习讨论工具,既可以发表自己的想法与体会,也可以看看其他同学的收获,会使我们在整个学习过程中受益匪浅。充分和同一个团队的其他成员进行交流,不要各做各的,更不要总想着抱大腿,这样自己其实根本得不到提升。嗯,换人机制的话,可以不仅仅局限于两个团队之间。换完人之后,对于新的成员来说是一个比较大的挑战。

四、分析团队协作经验

在我们团队的团队进程中,一开始先让大家分析了自己的能力,根据大家的能力布置分工确定软件流程,接着开始磨合编写代码,紧接着就对写好的代码进行测试,最后到了“创造”阶段。

五、证明我学会了软件工程

成功上线并发布了网站,拥有了几个用户。

 

[展开全文]

44

 

个 人 总 结 报 告

 

课程名称:

软件工程

实训项目:

碧瑶答疑网总结报告

实训时间:

2018年3月8日~2018年6月20日

实训班级:

15信息与计算科学

实训人员:

李宗晓

总 份 数:

1

指导教师:

吴世枫

 

数学与系统科学  学院  实验楼微机2 实训室

二〇一八年六月二十日
广东技术师范学院实训报告

 

学院:

数学与系统科学学院

专业:

信息与计算科学

班级:

15信计

成绩:

 

姓名:

李宗晓

学号:

2015034643002

组别:

 

组员:

 

实训地点:

实验楼微机2室

实训日期:

2018.6.20

指导教师签名:

 

                             

 

实训        参与项目名称:       碧瑶答疑网                      

 

 

 

目 录

一、回望过往,对软件工程课程的看法...................................... 1

(一)回顾过去,对软件工程课程期待、所学、展望以及不足之处..................... 1

(二)软件工程实践带来的提升................................................ 1

1.软件工程实践中所打代码行数:2000行..................................... 1

2.时间分配:............................................................ 2

3.印象最深之一:......................................................... 2

4.软件工程实践花费时间:................................................. 2

5.学习和使用的新软件:................................................... 2

6.学习和使用的新工具:................................................... 2

7.学习和掌握的新语言、新平台:............................................ 2

8.学习和掌握的新方法:................................................... 2

9.其他方面的提升:....................................................... 3

二、个人项目实践经验总结.............................................. 3

1.团队分工必须明确........................................................ 3

2.在软件设计上,要考虑到团队的自身实际实力................................. 3

3.团队沟通很重要.......................................................... 3

4.代码注释、书写规范...................................................... 3

5.deadline是核心动力..................................................... 3

三、个人建议和团队管理................................................ 3

1.建议:................................................................. 3

2.告知:................................................................. 4

3.队员更换:............................................................. 4

四、团队经历......................................................... 4

五、学会了软件工程.................................................... 5

 

 

 

 

一、回望过往,对软件工程课程的看法

(一)回顾过去,对软件工程课程期待、所学、展望以及不足之处

    我一开始希望软件工程这门课目的是提高我们软件开发水平,其中包括发现需求、将需求转化成软件、软件测试与并运营,我的方向是数据分析方向的研究生,而我感觉数据分析是软件之上进行数据清洗汇总与分析的专业,因此软件和算法是基础,我觉得在这门课上我能提升我的代码能力,通过软件开发获得更多的项目经验,同时能学会如何与他人共同合作完成项目,训练耐心,为数据分析或数据发掘学习打下坚实基础。

   如今的我,回望这三个多月以来,从一开始的对软件课程的一无所知到和各种疑问到现在的对软件开发流程有了更深的认识,通过将近16周的学习,在提高我软件开发水平已基本达到了我的期待。软件的开发并不只是单纯地敲代码,还要经过一整套严格的开发流程,有对软件的需求分析、原型设计、整体和层次设计、开发、制作需求规格说明书、测试以及后续的相关维护等有了认识和了解。以前的我只是知道一味地学习、写代码,没有注重代码的规范性,也缺乏与人的沟通与合作,经过软件工程的合作,发现了团队合作中的种种问题,沟通合作能力也有了很大提升。当然,课程学习中也存在着许多不足,如技术仍然有待提高,许多设计没发从技术上实现。此外代码书写仍不够规范、可读性低,导致合作时出现沟通问题。最后我们的规划、分工仍然不够详细,可以进一步改进。

 

 

 

(二)软件工程实践带来的提升

1.软件工程实践中所打代码行数:2000行

2.时间分配:

作业

时长

Python基础

10h

Python测试

2h

效能分析

2h

需求分析与原型设计

15h

选题报告

5h

需求规格说明书

3h

系统设计和任务分配

3天

Alpha冲刺

14天

测试报告和用户使用(上线)

2天

软件工程实践总结报告

4h

 

3.印象最深之一:

在软件上线展示的作业上,我的印象最为深刻。搭建服务器、完善各种bug、对网页进行适配,弄了很久才完成第一个版本,还是漏洞百出的版本。

4.软件工程实践花费时间:

累计花了70个小时在软件工程实践上,平均每周花了14个小时

5.学习和使用的新软件:

Dreamweaver、Sublime Test

6.学习和使用的新工具:

PyCharm、墨刀、Xmind

7.学习和掌握的新语言、新平台:

Python、Django、PHP、GitHub

8.学习和掌握的新方法:

需求分析、原型设计、瀑布模型、用户场景测试、黑盒白盒测试

9.其他方面的提升:

团队沟通合作能力、软件开发流程。


二、个人项目实践经验总结

1.团队分工必须明确

我当时一开头有负责网页的前端(HTML、JavaScript、css样式、图片处理),每一个模块大家都有参与,但是进度又很慢,效率低下,没有专业化。

2.在软件设计上,要考虑到团队的自身实际实力

在选题报告和需求分析的时候增加的功能过于繁杂,想到点子就加在项目上,导致后期有许多功能在技术上没能实现。

3.团队沟通很重要

好的沟通能使团队工作事半功倍,每个人卡在一个地方可能其他人有解决办法,模块、功能的相互连接协作,才能完成一个网站。

4.代码注释、书写规范

提高代码的可读性,方便队员和其他人更好的看懂代码,很好的节约队友的阅读时间和bug调试时间,让后期维护和修补bug更加容易。

5.deadline是核心动力

为了完成作业和项目能上线,我们的工作效率明显提升,拖延的现象也很好的缓解。


三、个人建议和团队管理

1.建议:

对于以前的我,我会建议好好学好一两门门语言,提高编程理论水平,同时找准想要发展的方向。软件工程是一门实践课,要用以往所学的知识完成项目,既在项目中提高代码能力,也在用以前的知识完成功能,所以没有一定水平的编程理论知识,在做项目上会很辛苦。

2.告知:

我会告知后来的人,软件工程这门课非常好,不单能提高代码能力、实践所学知识,在课上能学到更多关于编程之外的知识,包括团队合作、团队管理、需求分析的方法及许多课外知识,对人的全面发展有挺大的影响,应该好好听听这门课,不走程序员路线的同学们也值得一听。

3.队员更换:

首先会准从多有队员的意见,有人提出换我不反对,但我不倾向与换队员。换队员的好处是会给团队带来新鲜血液,带来创新,有新的合作与挑战,但坏处也显而易见,团队的磨合需要时间,由于旧团队的合作已经非常的默契,各司其职,各有所长,新加入的成员不一定的充当就队员负责的模块,因此我下一届在考虑大家意见的前提下,倾向于不换。


四、团队经历

团队的成长会萌芽阶段,磨合阶段,规范阶段和创造阶段。我们经历了第一第二阶段,正处于第三阶段末尾,未达到“创造”阶段。

萌芽阶段:一开始大家都很陌生,也很有礼貌,相互不了解,交流也挺少,每个人的特长都不是很了解。

磨合阶段:在软件设计原型分析以及需求分析的时候,各队员都有自己的想法,也都认为自己的想法比较好,相互都在说观点,说服对方,处于磨合阶段,慢慢每个人的特长与缺点也显现出来,随着项目开展、任务分配,责任也慢慢重大起来。

规范阶段:我们目前团队处于分工明晰,各司其职,交流也很多,都承担着难以替代的任务,效率很高。

 


五、学会了软件工程

1.完成了软件开发各项流程,同时作为作业发布到博客园

​2.完成项目的alpha版本,码云上有源代码,博客园也发布每周的项目进展情况。


 

[展开全文]

 

 

 

 

 

实 训 报 告

 

 

 

课程名称:

软件工程

实训项目:

软件工程个人总结报告

实训时间:

2018.03.08-2018.06.21

实训班级:

15信息与计算科学

实训人员:

王纯

总 份 数:

1

指导教师:

吴世枫

 

 

     数学与系统科学  学院  实验楼微机2室 实训室

二〇一八 年  六 月  二十一 日

 

广东技术师范学院实训报告

 

学院:

数学与系统科学学院

专业:

信息与计算科学

班级:

15信计

成绩:

 

姓名:

王纯

学号:

2015034643020

组别:

 

组员:

刘博良 郑锦伟 王纯

实训地点:

实验楼微机2室

实训日期:

2018.03.08-06.21

指导教师签名:

 

                             

 

参与项目名称:    在线英语学习平台 

 

 

 

摘要

软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。作为本学期专业课之一,软件工程内容主要包括Python学习及后期的团队项目开发。

本报告总结主要通过对第一次作业的回望、经验总结及实例、团队分析、学习成果及阅读笔记等方面来介绍个人在本学期课程及“Crazy在线英语学习平台”团队项目开发中的所学与所得。

 

关键词

软件工程;经验总结;团队分析;项目开发

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录

1.回望第一次作业... 1

1.1达到的目标与存在的不足... 1

(1)达到的期待和目标... 1

(2)存在的不足... 1

1.2实践总结和自身提升... 1

(1)完成的代码行数... 1

(2)各次作业所花时间... 2

(3)印象最深刻的作业... 2

(4)软工实践所花时间... 2

(5)新软件... 3

(6)新工具... 3

(7)新语言、新平台... 3

(8)新方法... 3

(9)其他方面的提升... 3

2.经验总结及实例... 4

2.1结对... 4

2.2团队... 4

3.建议... 4

4.分析所处的团队... 5

4.1团队经历... 5

4.2到达阶段... 5

5.学会软件工程的体现... 5

6.个性发挥... 6

 

 

1.回望第一次作业

1.1达到的目标与存在的不足

(1)达到的期待和目标

软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程,它包括了软件需求分析、软件设计、软件构建、软件测试及软件维护这些领域,且涉及计算机科学、数学及软件人体工学等学科。由“软件=程序+软件工程”这个等式可认为,软件工程的研究是为得到更高质量的软件产品。

在第一次作业中,我写下的对这门课的期待是希望在学习这门课后,我们可以学习到制作软件的完整流程,提高团队合作意识及自身的编程能力得到提高。

于我个人而言,经过了一个学期的学习及实践之后,我对软件开发的整个流程有了较清晰的认识,具体从需求分析、设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编码和调试到测试。 通过参与本队” Crazy在线英语学习平台”项目的开发,我主要提高了对Photoshop软件的运用,学习到了Html及Css等前端语言,同时也提高了自身的团队意识及团队协作能力。

(2)存在的不足

在学习这门课程的过程中,我所存在的不足包括:

  • 在编程方面学习效率较慢,在代码方面跟不上课程进展及团队项目开发的进展;
  • 在时间安排方面统筹能力较差,对课程的学习效果达不到预期计划。

1.2实践总结和自身提升

(1)完成的代码行数

在软件工程实践中,自身所完成的代码行数为500以内,主要为Python作业及前端代码练习。

(2)各次作业所花时间

作业

所花时间

第一次作业-软件工程

2小时

第二次作业-Python基础和软件工程

2小时

第三次作业-团队第一次展示

1.5小时

第四次作业-Python基础测试和总结

3小时

第五次作业-四则运算与效能分析

3小时

第六次结对作业-需求分析和原型设计

3天

第七次团队作业-选题报告和需求规格

2天

第八次团队作业-系统设计和任务分配

2天

第九次团队作业-测试报告与用户手册

2天

(3)印象最深刻的作业

在这学期的课程中,我个人印象最深刻的作业是进行项目的原型设计。

项目原型设计是我们团队在整个项目开发中第一次意义上的合作。在团队进行设计之前,我通过视频自学了网页设计基础。在设计原型过程中,我所学到的Photoshop知识得到了充分运用,且过程中我也更加清晰认识到原型设计作为软件开发中的一部分,对于网页各元素如长宽高、颜色等数据的要求的重要性,同时也了解到怎么去设计可以更好地提高用户体验。

通过完成原型设计作业,我也体验到在项目开发中团队合作的重要性及怎样在团队中发挥自己的作用。

(4)软工实践所花时间

对于本门课程,我花在软工实践上的时间累计为112小时左右,平均每周花7小时。时间主要花费在自学项目所需技术(包括PS知识,前端语言)及完成个人、团队作业上。

(5)新软件

在此次软工实践中,我所学习和使用到的新软件包括PyCharm、Photoshop、Sublime。

  • PyCharm主要用于前期的python学习;
  • photoshop用于项目原型设计;
  • Sublime用于前端代码学习。

(6)新工具

在课程中,我所学习和使用的新工具包括墨刀、问卷星。在结对作业中接触及使用到墨刀,在项目的用户调研中使用到问卷星。

(7)新语言、新平台

在本学期课程中,我所学到和使用的新语言包括Python、Html及Css,使用到的新平台包括博客园、GitHub。

(8)新方法

PSP分析、需求分析(NABCD模型)

(9)其他方面的提升

在课程学习及团队项目开发过程中,对软件开发有了更多的了解,所学的知识得到了运用,收获实践经验,同时提高了团队协作及沟通能力。

2.经验总结及实例

2.1结对

在接触结对作业前,对它存在的意义并不了解,但在完成结对作业之后我认为收获良多。于我而言,我认为结对作业有利于结对队员互相监督,提高工作效率同时有利于队员间互相学习。在结对过程中得到的经验为:选择结对队员是可选择较熟悉、在技术上互补的成员进行合作。

实例:在课程的结对作业中,我的结对队员为室友,这使我们在交流沟通上更为方便与顺利,同时由于掌握技能的不同我们在过程中有互相学习的机会。通过完成结对作业我对自身团队项目的需求及设计要求也有了更详尽的了解。

 

2.2团队

在团队项目中,我所获得的经验为:选择自己最适合的角色,在团队中除了完成自己能力之内的任务外,还需要继续学习以提升自身能力,赶上团队脚步。同时,提高团队意识及增强队员间的沟通对于团队的合作是重要的。

实例:在团队项目开发及平时作业中,我们团队都会进行队内的交流及沟通,这使得团队氛围良好且合作顺利。在项目开发过程中,我也对需要的知识在课外进行自学来努力跟上团队脚步。

3.建议

  • 尽量严格要求自己,按时完成学习任务;
  • 若希望更好适应软件工程这门课程,在条件允许下可提前自学所需掌握的知识技能;
  • 尽量不中途换队,在项目开始尽量抓紧时间确定想法,否则对进度影响较大。

 

4.分析所处的团队

4.1团队经历

对于我们团队,在此次项目开发中我们基本能够完整地按照整个软件工程开发流程来走,从项目策划,需求分析与设计,明确选题和设计需求规格,原型设计与数据库设计,系统架构与设计和任务分配,编码阶段迭代开发,测试阶段进行各种单元测试,完成用户手册等阶段。

在开发过程中,由于自身能力有限,技术方面主要为队友负责。虽然中途遇到不少的困难,但是我们始终协调分工,尽力走完整个软件工程开发流程,并能顺利开发出项目同时让项目进行上线,算是圆满的做到了我们初期所期待的那样。

4.2到达阶段

目前我们团队到达了创造阶段。在本学期的课程学习过程中,我们完成了团队项目的alpha版本,取得了项目开发的阶段性成果。

在团队合作过程中,成员之间有时会有产生不同意见的情况,但我们都是以一种积极的态度来解决,通过进行沟通与讨论来得出更优的想法。在团队中,成员之间互相信任与配合,在发挥自己角色作用的同时也互相交流合作,使团队的合作性及工作效率得到提高。

5.学会软件工程的体现

在这一学期的软件工程课程中,我们的项目已经开发出了alpha版本,目前已经成功地在阿里云服务器上上线,同时也有我们项目的用户手册。现在项目能够定时地进行维护,功能也在不断地开发完善,有定时的进度发布,项目有继续发展的前景。

与我个人而言,学会软件工程主要体现在自身可以较清晰地了解软件开发过程,同时也掌握了需求分析、原型设计、前端代码等项目开发过程中需要的技术。

6.个性发挥

团队合照:

完成的原型设计:

[展开全文]
王纯. · 2018-06-21 · 个人总结 0

 

 

 

 

 

实 训 报 告

 

 

 

课程名称:

软件工程

实训项目:

软件工程个人总结报告

实训时间:

2018.03.08-2018.06.21

实训班级:

15信息与计算科学

实训人员:

郑锦伟

总 份 数:

1

指导教师:

吴世枫

 

 

     数学与系统科学 学院 实验楼微机2室实训室

二〇一八 年 六  月   二十一  日

 

广东技术师范学院实训报告

 

学院:

数学与系统科学学院

专业:

信息与计算科学

班级:

15信息与计算科学

成绩:

 

姓名:

郑锦伟

学号:

2015034643034

组别:

在线英语学习平台小组 

组员:

刘博良,郑锦伟,王纯

实训地点:

实验楼微机2室

实训日期:

2018.03-06

指导教师签名:

 

                                   

 

  参与项目名称:       软件工程个人总结报告                  

 

 

 

 

 

 

摘要

软件工程的各个学习阶段的收获,解决软件工程各个阶段问题的经验总结。

本报告总结主要通介绍个人在本学期课程及“Crazy在线英语学习平台”团队项目开发中的所学与所得。

 

关键词

软件工程;经验总结;团队分析;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

目录

1.回望第一次作业... 1

1.1达到的目标与存在的不足... 1

(1)达到的期待和目标... 1

(2)存在的不足... 1

1.2实践总结和自身提升... 2

(1)完成的代码行数... 2

(2)各次作业所花时间... 2

(3)印象最深刻的作业... 2

(4)软工实践所花时间... 3

(5)新软件... 3

(6)新工具... 3

(7)新语言、新平台... 3

(8)新方法... 3

(9)其他方面的提升... 3

2.经验总结及实例... 3

3.建议... 4

4.分析所处的团队... 4

4.1团队经历... 4

4.2到达阶段... 4

5.学会软件工程的体现... 5

6.个性发挥... 5

 

 

1.回望第一次作业

1.1达到的目标与存在的不足

(1)达到的期待和目标

软件工程是什么?在我对于软件工程的想象中,是多人合伙开发一款软件,在进行第一次作业的时候,我初步了解到软件工程不仅仅只是需要开发一些功能提供给需求者使用,还需要考虑它的需求分析,系统设计,代码测试等等各个方面。这让我期待通过软件工程这门课程让我了解到开发企业级软件项目的知识,让自己了解整个软件工程的开发流程,开发的每个阶段。

学习完软件工程这门课程,在整个软件的开发流程中,我了解从项目策划,需求分析,用户体验,系统设计,到测试开发等等各个阶段的知识。从模糊认识到深刻了解软件工程,并且和团队的组员共同开发的过程中,软件工程这门课程达到了我的期待和目标

(2)存在的不足

与以前不同,按照软件工程的流程,以团队的形式开发一个项目,是我的第一次尝试,各个流程认识有所不足,不过在老师的带领下慢慢了解,算是一个小小的不足。

一个个阶段的学习过程中,我发现自身时间的掌握没有一个深刻的认识,这让我在时间安排上出现拖延,时间不足等突发状况。

在开发的初期,没有与队员的沟通协调合作,以至于出现工作差错,这是最开始的不足,但反思之后我们沟通分配任务之后,协调性越来越好,开发效率也更高。

1.2实践总结和自身提升

(1)完成的代码行数

在软件工程这门课中, 我完成的代码数:各次作业代码(四则运算100行, jieba分词与团队介绍小网站100行)  + 项目作业代码(前端采用组件化Vue开发编码有800行左右

(2)各次作业所花时间

作业

所花时间

第一次作业-软件工程

70分钟

第二次作业- Python基础和软件工程

90分钟

第三次作业- 团队第一次展示

90分钟

第四次作业- Python基础测试和总结

120分钟

第五次作业-四则运算与效能分析

120分钟

第六次结对作业-需求分析和原型设计

3天

第七次团队作业-选题报告和需求规格

2天

第八次团队作业-系统设计和任务分配

2天

第九次团队作业-测试报告与用户手册

2天

(3)印象最深刻的作业

在软件工程课程中,我个人印象最深的作业是系统设计和任务分配。这次作业需要讨论制定团队的代码规范和编码原则,数据库设计,ER图设计,体系结构设计,图形界面。在这次的作业任务中,我需要学习的东西特别多,在团队中最基础的需要掌握git的使用,没有它项目便难以协同开发。代码规范的制定也是一个新颖的任务,与以前怎么舒服怎么来不同,我需要按照团队制定的规则去编码。这次作业让我学习与复习到很多需要掌握的知识。

(4)软工实践所花时间

在软件工程的课程中,我累计花在软工实践上的时间平均每周花2天时间左右,主要在学习软件工程的知识和新技术新工具的熟悉了解上,在项目开发和测试阶段花费的时间可能会更多,有时候可能每周要好几天进行开发和测试联调

(5)新软件

pycharm、sublime,git, photoshop,visual studio code

(6)新工具

git项目托管工具,

(7)新语言、新平台

Html, CSS, JavaScript, Bootstrap, webpack Vue相关技术的组件化开发

(8)新方法

完全前后端分离的开发方法,组件化开发方法

(9)其他方面的提升

需求分析的能力得到提升,知道如何从哪些方面分析设计一个产品。项目能够运用到软件工程的知识进行开发。团队化项目开发能力得到提升

2.经验总结及实例

首先对于Vue组件化开发是自己在技术和知识匮乏的方面,自己需要从基础开始学习。但在团队项目实践中,我最擅长的网页设计在原型设计这一阶段中提到了很大的作用,为团队节省了很多时间,有更多的精力去攻克其他的难题。

 

3.建议

对下一届实践的建议,将更多的时间放在软件工程各个阶段的了解上。并且提早自学项目所需要的技术和知识,这在每次实践任务中可以游刃有余,起到未雨绸缪的效果。

在软件工程的课程实践中, 尽量不要中途更换队员,会有项目的开发和代码规范等等问题,甚至团队协调能力都会受到影响,中途增加队员的做法同样,但视情况而定

4.分析所处的团队

4.1团队经历

我们团队成员以前共同参加过比赛,对于项目的开发成员之间比较熟悉,可以说事半功倍,在学习软件工程各个阶段中,能够协调好分配好各自的分工。

4.2到达阶段

目前我们团队到达了创造阶段,知道了为何而战,将注意力集中到如何创造,实现目前上。共同的远景是实实在在的阶段性成果,而我们目前上线的alpha版本项目开发成果鼓舞了士气,整个团队算是成为了其他团队羡慕的对象。团队成员间互相信任,支持和依赖,并能保持各自的灵活性。团队的合作性也得到了较大的提高。角色和职责能够根据项目的要求自然地转换。

5.学会软件工程的体现

我们的团队项目已经开发出了alpha版本,并且成功公开发布在阿里云服务器上,拥有自己的用户量。同时也有我们项目的用户手册,现在项目能够定时地进行维护,功能也在不断地开发完善,有继续发展的前景。

 

 

6.个性发挥

有爱因斯坦和牛顿做后盾

 

[展开全文]

 

 

 

 

 

 

 

实 训 报 告

 

 

 

 

 

 

课程名称:

软件工程

实训项目:

相遇网

实训时间:

2018.3—2018.6

实训班级:

15信息与计算科学

实训人员:

陈志权

总 份 数:

1

指导教师:

吴世枫

 

 

        数学与系统科学学院             实训室

二〇〇一八年六月二十日

广东技术师范学院实训报告

 

学院:

数学与计算科学

专业:

信息与计算科学

班级:

15信息与计算科学

成绩:

 

姓名:

陈志权

学号:

2015034643039

组别:

 

组员:

詹佳丰、杨子龙、邓仁宁、罗绍坤、冯丽茂

实训地点:

实验楼

实训日期:

 

指导教师签名:

 

                             

 

实训 (序号)  参与项目名称:          相遇网                         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实训报告

摘 要

学了一个学期的软件工程,有自己的期望、目标、有提升。这次实训的主要收获是了解整个软件工程的制作过程,以及各个环节中的细节,还有收获在团队开发中的实战经验。

关键字:软件工程

 

 

 

目 录

1.回望... 1

1.1期望与目标. 1

2.课程总结与提升... 1

2.1 代码量. 1

2.2 软件实践各次完成时间. 1

2.3 印象深刻的一次作业. 2

2.4花费时间. 2

2.5学习和使用的新软件. 2

2.6学习和使用的新工具. 2

2.7 学习和掌握的新语言、新平台. 2

2.8 学习和掌握的新方法. 2

2.9 学习和掌握的新方法. 2

3.项目经验总结... 3

4.建议... 3

5.分析自己的团队... 3

6.学会了软件工程... 3

6.1.研发出符合用户需求的软件. 3

6.2通过一系列工具,流程,合作,能够在预计的时间发布“足够好”的软件. 4

7.个性发挥... 5

 

 

 

 

 

 

 

1.回望

1.1期望与目标

对比开篇博客我对课程的目标和期待,如今我在团队合作方面达到了我的期待和目标。通过本课程,我学会了github,码云,使用博客记录个人学习资料,大大增强了我的编程能力和团队协作能力,让我感受到了编程的乐趣,提升了我编程的效率,为我将来进入企业工作打下了良好的基础。当然在别的方面还是有些不足,例如对于软件的设计和规划,我始终还是缺乏经验和实力,在编程过程中出现了很多不该出现的问题,都是由于最初的架构不仔细导致的,所以这是我需要认真琢磨的地方。

 

2.课程总结与提升

2.1 代码量

在软件工程这门课程上完成了大概6000行代码。

2.2 软件实践各次完成时间

作业

时间

作业1:软件工程

1小时

作业2:python基础和软件工程

15分钟

作业3:软对第一次展示

3小时

作业4:Python基础测试和Python总结

3小时

作业5:效能分析与几个问题

1.5小时

作业6:结对项目之需求分析与原型设计

4小时

作业7:选题报告与需求规格说明书

5小时

作业8:系统设计与任务分配

2小时

作业9:测试报告与用户使用手册

3小时

 

 

2.3 印象深刻的一次作业

要说哪次作业印象深刻,倒真的说不清,因为每次作业都有点心累……要真的要说的话,应该是做一个四则运算器的小项目了,因为是第一次用python写的,对python还不是很熟练,期间查阅了不少的资料、花了不少的时间、终于做出来了,之后还做了效能分析,第一次分析程序的性能状况

2.4花费时间

累计花了50多个小时在软工实践上,平均每周花了7个小时。

2.5学习和使用的新软件

Github、码云、csdn、博客园、git

2.6学习和使用的新工具

Pycharm、sublime

2.7 学习和掌握的新语言、新平台

Python、html、博客园、csdn

2.8 学习和掌握的新方法

Git

2.9 学习和掌握的新方法

编程速度的提升

 

 

 

3.项目经验总结

在做团队项目时,一定要先想好需求分析,对解决的问题进行详细分析,弄清楚需要解决的问题,我们需要了解客户的需求,然后体现在软件中。还有另外一点就是前端和后端在交互的时候会出现很多问题,比如验证问题,数据格式问题等。所以在做项目之前,前端和后台的交流十分重要,在协商一些问题时必须要前面,设计数据表等工作必须要和前端协商好。像我们做相亲网站就遇到这种问题,后台没有写数据验证,前端也没写,就导致了bug的出现

4.建议

我想对大一的我说,你要认真学习,早些学软件工程,这样就不会走弯路,增加编程兴趣。下一届不用中途换队员。

5.分析自己的团队

我们经历了萌芽阶段,个人的角色和职责不清楚,然后经历了磨合阶段,形成了小团体,进行权力斗争,最后达到规范阶段,团队的工作流程和工作方式得到了大家的认可,不过没有达到创造阶段。

6.学会了软件工程?

6.1.研发出符合用户需求的软件

必须公开发布,有实际的用户,一定的用户量和持续使用量。如果没有用户,我们的项目将没有数据,前端将不再丰满,就像下图推荐会员,如果没有用户,我们的网站就跟白写一样。所以不能做没有用户使用的软件。

 

 

6.2通过一系列工具,流程,合作,能够在预计的时间发布“足够好”的软件

先向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。

深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚列出系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。

再次想用户确认需求。

然后进行概念设计,需要对软件系统的设计进行考虑,其中包括基本处理流程、模块划分、接口设计、数据结构设计等。

在概念设计的基础上,进行详细设计,描述实现具体模块所涉及的类的结构、算法等,画UML图展示出来

编码阶段,制定项目时间计划表、团队成员分工、与团队成员商量好编码规范、代码整合等等

测试阶段,团队个别成员进行黑盒测试,根据需求分析的功能图表,遇到bug,及时记录,并进行反馈。开发成员进行白盒测试,以逻辑覆盖、循环覆盖和基本路径测试为标准

维护阶段,根据用户需求的变化或环境的变化,对应用程序进行全部或部分的修改。

7.个性发挥

 

 

 

[展开全文]

广东技术师范学院实训报告

 

学院:

数学与系统科学学院

专业:

信息与计算科学

班级:

15信计

成绩:

 

姓名:

古维城

学号:

33

组别:

 

组员:

古维城

实训地点:

实验楼微机2室

实训日期:

2018.3.20

指导教师签名:

 

                             

 

参与项目名称:        古维城的总结报告              

 

作业要求

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

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

       对比开学的目标,我完成python这门新语言的学习,可以初步编写运用,与团队制作了共同项目。不足之处在于不能熟练的运用这门语言,独立自主的完成工程项目。原因在于学习时间不长,只能掌握基本的功能编写,在书本学习的过程中没有在思考中学习,主求复写书上的代码,并运行其结果,稍微了解其功能即可,个人也没有花足够的时间在学习上。

 

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

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

大概有2k+行代码

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

作业

时间(h)

第一次作业—软件工程

1

第二次作业—Python基础和软件工程

1.5

第三次作业—团队第一次展示

5

第四次作业—Python基础测试和总结

3

第五次作业—效能分析与几个问题

6

第六次作业—结对项目之需求分析与原型设计

3

第七次作业­—团队作业—选题报告与需求规格说明书

7

第八次作业­—系统设计和任务分配

10

第九次作业­—测试报告和用户使用

4

 

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

团队实践,团队作业是我们花时间最长,其中各种小问题的出现也是让我们感到烦恼,,最终完成了作业,让人印象深刻。

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

累计花了250个小时左右,平均每周花18个小时

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

编写Python的软件慢慢的变化:IDLE,Eclipse+Pydev,PyCharm

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

学习的新工具有github,博客园,Dreamweaver

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

新语言是Python,在学着前端的时候学了一点css,平台学会了GitHub和博客园,易知大学的使用

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

需求分析,神经网络、深度学习

  • 9、其他方面的提升。

增加团队协作能力


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

       我觉得在做项目中一个很重要的方法是要学会参考网上已有的代码,因为我们以自己个人的能力独立开发是比较困难的,在网络上能够找到相关资料,几种比较常用的算法基本上也是固定的,这个时候就没有必要另辟蹊径,完全可以参照资料修改代码完成项目


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

不会就去学,学会去探索,不要有畏难情绪。

编码符合代码规范,方便自己和他人查看

跟着有实力的同学应该可以学得更快。

不断总结,吸取教训,当日任务当日清。

中途换队友还是可行的,后来人需要花时间融入新团队,队员要跟他说清楚这个项目的功能,同时前人的代码书写规范很重要,这对两人对接任务是否成功有很大的影响。


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

构建之法中提到的团队发展有4个阶段,分别是萌芽阶段,磨合阶段,规范阶段和创造阶段。

萌芽阶段:一开始大家交流比较少,没有决定好做什么项目。

磨合阶段:组内开始开展讨论,交流增多,大家会一起讨论,最终形成一致的意见。总的来说,我们组没有多少矛盾和摩擦。

规范阶段:团队的工作流程和工作的方式得到了大家的一致认可,作为一个整体,团队要做什么,不做什么,都更明确。

创造阶段:合作建了一个网站,还需时间与经验的积累才能达到。


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

1)研发出符合用户需求的软件

​ 必须公开发布,有实际的用户,一定的用户量和持续使用量 ;而不是: 做没有用户使用的软件

所做的答疑网目前已上线,主要是组内人员在试用。目前基本功能已经成型但还不完善。

2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

​ 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

团队作业也按照老师的要求,从选题,原型设计,系统设计到最终的测试一步步完成。

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

​ 而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

Github上有网站的源代码,网站是可以维护和继续发展。

 

请在随笔中用数据、图片证明上述内容或侧重选择之一。

 

[展开全文]

一 回顾

1.1 目标

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

答:期待和目标:学到了关于html5的新知识。

不足:团队合作效率差。

1.2 提升

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

答:大约2000行代码。

  • 2、软工实践的各次作业分别花了多少时间?

表1.1 作业花费时间

作业编号

作业内容

时间/h

0

软件工程理解

0.5

1

Jieba库分词统计

2

2

Python四则运算

5

3

需求分析与原型设计

7

4

选题报告与需求规格说明书

20

5

系统设计与任务分配

5

6

测试报告与用户使用手册

10

共计

49.5

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

答:需求分析与原型设计。这次作业让我接触到了墨刀这个软件,在原型设计方面用起来十分的顺手,而且在这次作业,也就是结对作业中一起的队友合作很愉快。

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

答:在准备发布软件的α版本的那段时间,一天大概花3、4个小时是有的,一周大概15小时吧。

  • 5、学习和使用的新软件

答:Pycharm、Hbuilder、墨刀等等。

  • 6、学习和使用的新工具

答:Jieba库、Bootstrap框架等。

  • 7、学习和掌握的新语言、新平台

答:Html5+css语言,Hbuilder平台。

二 总结

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

答:个人量的作业,总是能够很快地完成。团队实践的话,由于分工等原因,效率低下而且容易发生争执,但是总的来说,完成团队实践,学到的东西比个人作业要多很多。就比如我们做备忘录app的团队,在各自做好小工作之后开了个小会,结果前端后端的两个队友争执起来了,但是不要害怕队友间的争执破坏团队气氛,大家都初衷都是好的:为了更好地完成作业,所以开会其间,其他队员进行开导,更加明确制作的方向,一路走来,收获更多。

 

 

 

三 建议

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

答:建议?不存在的。这么重要的一个课程却设在大三下学期,最终确立发展方向的时期,实在是说不出话。

四 团队

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

答:就像构建之法所讲的,一个团队先是萌芽阶段,从磨合期到规范期,再到创造阶段。我觉得我们团队已经走过了整个路程,虽然路途坎坷,在做项目期间发生很多问题,但是通过团队成员之间的沟通、交流,每个人逐渐开始适应这种氛围。

五 证明

问:怎样证明你学会了软件工程?

答:只是单纯的做出了符合初步目标的软件,如下图所示。

图5.1 便签首页

图5.2行程表部分页面

注:并没有学会软件工程。

[展开全文]

 

 

 

实 训 报 告

 

 

 

课程名称:

软件工程

实训项目:

相遇网的总结报告

实训时间:

2018.4.24~2018.6.21

实训班级:

15信息与计算科学

实训人员:

冯丽茂

总 份 数:

1

指导教师:

吴世枫

 

 

 

     

       数学与系统科学  学院  实验楼微机2室  实训室

二〇〇一八年六月二十一日

 

广东技术师范学院实训报告

 

学院:

数学与系统科学学院

专业:

信息与计算科学

班级:

15信息与计算科学

成绩:

 

姓名:

冯丽茂

学号:

2015034643028

组别:

 

组员:

杨子龙 詹佳丰 陈志权 罗绍坤 邓仁宁

实训地点:

实验楼

实训日期:

2018-6-21

指导教师签名:

吴世枫

                             

 

实训 (序号)  参与项目名称:     相遇网               

 

摘要

      写出本学期的软件工程的学习过程的内容,对过去的回顾与对未来的展望。发表个人的看法和建议。
关键词: 软件工程

 

 

一、回顾

1.1课程目标和期待

对比开篇博客我对课程的目标和期待,如今我在团队合作方面达到了我的期待和目标。通过本课程,我学会了github,码云,使用博客记录个人学习资料,大大增强了我的编程能力和团队协作能力,让我感受到了编程的乐趣,提升了我编程的效率,为我将来进入企业工作打下了良好的基础。当然在别的方面还是有些不足,例如对于软件的设计和规划,我始终还是缺乏经验和实力,在编程过程中出现了很多不该出现的问题,都是由于最初的架构不仔细导致的,所以这是我需要认真琢磨的地方。

1.2课程实践总结和提升

1.2.1代码量

本学期在软件工程这门课程上完成了大概2000行代码。

1.2.2作业完成时间

作业

时间

作业1:开设博客并评估水平

30分钟

作业2:发布博客

45分钟

作业3:python作业和团队展示

3小时

作业4:运用jieba库分词

4小时

作业5:四则运算与效能分析

2小时

作业6:需求分析

5小时

作业7:选题报告与需求规格说明书

6小时

作业8:系统设计与任务分配

3小时

作业9:测试报告与用户使用手册

4小时

1.2.3印象深刻的作业

印象深刻的作业,大概就是将python Django的作业上传到github,那时候百度的方法都是缺少几步,后来请教同学把问题解决了。所以,有不懂的地方不仅可以自行解决,还可以请教别人。

1.2.4花费时间

在软件工程这门课上,每天会有至少1个小时花费在学习语言或代码使用实践上,累计50小时。

1.2.5学习和使用的新软件

Pycharm和Linux版本Visual Studio Code.

1.2.6学习和使用的新工具

ProcessOn和Teamview.

1.2.7学习和掌握的新语言、新平台

python、HTML、JavaScript、CSS和Linux平台下开发、博客园、GitHub。

1.2.8学习和掌握的新方法

web前端界面的时候能快速套用模板或使用bootstrap等框架,省去设计前端的时间。

1.2.9其他方面的提升

编程速度提高了,对测试和维护也有了更深刻的认识,也认识到了团队分工与合作的重要性。

二、人月神话

在做团队项目时,我们发现前端和后端在交互的时候会出现很多问题,比如验证问题,数据格式问题等。所以在做项目之前,前端和后台的交流十分重要,在协商一些问题时必须要前面,设计数据表等工作必须要和前端协商好。像我们做相亲网站就遇到这种问题,后台没有写数据验证,前端也没写,就导致了bug的出现。

三、建议与告知

我想对大一的我说,你要认真学习,早些学软件工程,这样就不会走弯路,增加编程兴趣。下一届不用中途换队员。

 

四、分析自己的团队

我们经历了萌芽阶段,个人的角色和职责不清楚,然后经历了磨合阶段,形成了小团体,进行权力斗争,最后达到规范阶段,团队的工作流程和工作方式得到了大家的认可,不过没有达到创造阶段。

 

五、学会软件工程?

5.1研发出符合用户需求的软件

必须公开发布,有实际的用户,一定的用户量和持续使用量。如果没有用户,我们的项目将没有数据,前端将不再丰满,

5.2通过一系列工具,流程,合作,能够在预计的时间发布“足够好”的软件

与客户面对面的交谈,充分了解客户的需求,进行多次的需求确认

编写需求分析说明书,再次与客户确认需求

确认无误,进行原型的设计(Axure)

体系结构的设计(代码规范性,编程软件的统一)

正式开始编码

a.制定项目时间计划表b.人员分工明细c.站立式会议d.代码的整合(github)

 

 

[展开全文]

1 收获与不足

开学时,我希望在这门课的学习中,了解做一个项目的流程,做至少完成一个项目,参与过项目的每个环节,也希望学完这门课后,能组织并完成一个项目。虽然说我开学时的学习目标算是挺清晰的,但由于自己的写代码能力一般,加上我们团队3个队员都没有做过项目,实际上自己心里还是挺没底的,不知道要做些什么,也不知道从哪里做起。后面一步步地跟着软件工程的流程,我们在“做”中“学”——在做项目的过程中,我们不断地发现自己知识的错漏,不断的补充改正,虽然这过程挺曲折的,却是实实在在收获到到很多的 “干货”与特别的体会。

虽然在这学期的学习中我收获到很多,但仍需要学习很多东西,不仅包括技术与项目经验,还有团队沟通协作、合理分配个人时间等的能力。希望在日后我能多参与项目,做出更多东西。

2 实践总结与能力提升

·总代码量

总代码量:2800左右

项目代码量:2500左右

平时作业代码量:300左右

 

·各次作业时间耗时

作业

耗时

对软件工程这门课的理解与自我期望

20min

团队介绍的词频统计

2h

四则运算效能分析

1.5h

第六次作业:结对项目之需求分析与原型设计

4h

第七次团队作业:选题报告和需求规格说明书

2h

第八次团队作业:系统设计和任务分配

1h

第九次团队作业:测试报告与用户使用手册

3h

 

 

·印象最深刻的一次作业

印象最深的是“第六次作业:结对项目之需求分析与原型设计”,需求分析阶段需要明确我们要实现什么功能,因此对于项目十分重要。从开始团队里面初次的需求分析,到后面跟结对成员再次讨论,我们每个人都非常认真的思考,对于每个地方都分析地特别仔细。也因为这样原因我们产生了很大的分歧,后来经过剧烈的讨论和理性的分析确定了需求分析。

我在团队里面主要负责前端的设计、开发工作,因此在需求分析之后,我花了很多时间、精力去完成原型设计。

 

· 累计的软工实践实践、平均每周用时

累计的时间大概半个多月,平均每周要花1天

 

·学习和使用的新软件

学习和使用的新软件有:墨刀、Git

 

·学习和使用的新工具

学习和使用的新工具有:pycharm、notepad++

 

·学习和掌握的新语言、新平台

学习和掌握的新语言:html、css、js

 

·学习和掌握的新方法

学习和掌握的新方法有:按F12可以查看网页源代码、控制台,也可以用于调试;怎么管理网站后台

3 项目实践的经验总结

·在团队项目实践中沟通非常重要,最好是面对面的沟通,线上的文字沟通容易表达不清。我们团队有一次在线上讨论原型设计,聊了半天都不知道对方想表达什么,最后还是面对面一边画图一比划形容才完成了原型设计。所以说能面对面沟通,尽量不要在线上聊,特别是在团队刚刚开始磨合的时候。

 

·在项目的开始阶段,团队项目的分工很重要,每位成员应该有明确、合适的分工。我们团队就三个人,分工很明确:一个前端,一个后端,一个前后端链接、测试和其他的工作,所以我们很快就开始着手自己做自己的任务,并没有浪费太多时间。

 

·整个团队在编码规范上需要有统一标准,编码过程中应加上适当注释。关于注释的问题,我们团队在编码过程中都不约而同自觉加上相应的注释,这也让我们编码提高了不少效率,减少很多不必要的交流,毕竟交流确实挺花时间的。

 

·潜能是被激发出来的,不要轻易觉得自己“做不了”、“不会做”而放弃不去尝试。这一点我们团队也算是深有体会了:从什么都不会,到可以做出些什么东西。我们也曾以为我们做不到,最后还是做到了,所以说人还是有无限可能的。

4 对下一届建议与期许

·大一大二应选择感兴趣的一、两个方向提前学习了解

·多参加项目、比赛等,为自己积累实践经验

·中途换队员应该以自愿为原则,对于确实有换队友需求的队伍才换,不然刚刚磨合好的团队,又要再花时间去磨合。

5 团队项目经历的阶段

构建之法上将团队分为:萌芽阶段——磨合阶段——规范阶段——创造阶段。应该说我们组经历了前三个阶段,对于创造阶段只有个初步的想法,仍待开发中。

 

·萌芽阶段大家基本没有项目经验,编程能力也很一般,加上又是全女生,我们相较其他组来说弱一点,所以我们都很努力,可以说是从零开始一步步地边学边做。

 

·磨合阶段:我们团队成员水平相近,没有所谓的“大神”,但“三个臭皮匠顶一个诸葛亮”。遇到问题的时候,我们没法“抱大腿”,只能自己想办法解决。在一次次讨论、尝试、争论中,我们互帮互助解决了各种各样的问题、一起进步。

 

·规范阶段:我们团队目前处在这个阶段,大家各自的任务已经明确,对自己的任务也有一定的熟悉度,定期会讨论汇报进度。

 

·创造阶段:我们在需求分析的时候,曾设想过给给用户划分等级的功能,只是时间

不够,还没具体有实现,在后期的迭代版本中会加入相应功能。

6 《软件工程的学习成果

我们团队做到各自完成各自的分工并利用Git来协作:

在项目的开始时候,我们团队制定了分工和大概的时间进度表。后面的工作我们也严格按照分工表、时间表完成各自的任务。下面是我博客的随笔,记录着项目的每个阶段的成果:

 

具体的随笔链接如下:

·原型设计:https://www.cnblogs.com/Rainy-He/p/8946852.html

·选题报告:https://www.cnblogs.com/Rainy-He/p/9032627.html

·需求规格说明书:http://www.cnblogs.com/Swalllow/p/9032196.html

·系统设计:https://www.cnblogs.com/clio-hhhhhhl/p/9079157.html

数据库设计:http://www.yzhiliao.com/course/61/task/447/show

团队的编码规范:http://www.yzhiliao.com/course/61/task/442/show

团队项目的码云git代码库:https://gitee.com/Cliohl/zhuoyue

·用户使用手册:https://www.cnblogs.com/Rainy-He/p/9180103.html

·测试报告:http://www.cnblogs.com/Swalllow/p/9180264.html

 

我们用码云管理我们的项目,团队成员每完善一部分代码都会上传到码云上。下面是码云的一部分上传情况:

 

 

我们得到项目是可以维护和继续发展的

源码可查看:https://gitee.com/Cliohl/zhuoyue(里面包含了所有的代码,可下载编译)

 

[展开全文]

授课教师

吴世枫博士
助教

课程特色

图文(14)
讨论(4)
作业(8)
考试(1)