这个作业属于哪个课程 | 春季w班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 创建博客并加入班级,回想过去,总结现在,展望将来、制定计划 |
作业正文 | 在这里 |
其他参考文献 | Markdown基础教程 |
1、建立博客
博客园是国内自由化程度最高的博客平台,这里充斥着技术大牛和各个高校的学生老师,加入博客园,开始学会怎么写博客,是软工实践的第一步,
1.1 请在www.cnblogs.com博客园上注册并申请开设博客
我的博客
2、回顾,我的初心
时间荏苒,一下就到了大三下学期,请回想你的当初,撰写博客并回答以下问题:
2.1 当初为什么报 软件工程 这个专业?
当初只是想要出省看看,能报的省外大学分数合适的只有福州大学,据说编程就业好就选了软件。
2.2 当初对 软件工程 这个专业的期待和想象是什么?
当时对编程并不了解,没有什么具体的期待和想象,可能就是可以用电脑敲代码做软件吧。
2.3 当初希望自己是如何投入这个专业的学习的?曾经做过什么准备,或者立下过什么FLAG吗?
当初是想好好学习的,发现自己并不喜欢打代码,就放任自流了,成绩得过且过就到了现在。
3、当下和未来
转眼已经大三,下一个暑假就要开始实习、找工作或考研了,之后就将进入毕业季。回顾总结你在软件工程专业前两年半的学习经历和项目技能等,写一篇你自己的简历。(以你觉得合适的简历模板的形式,在博客用markdown排版呈现。)要求如下:
3.1
基本信息 | |||
---|---|---|---|
昵称 | 龙 | 我的头像 | |
爱好 | 小说,游戏,漫画 | 特长 | 无 |
掌握的编程语言 | c,c++,java | 掌握的开发软件 | Dev-C++、Eclipse、Visual Studio |
掌握的技术框架 | yii2 | 累计代码量 | 5000+ |
开发过的最大的项目简介 | 图书管理系统,包含借书还书,图书管理,相关统计等内容 | 拥有的工程能力 | 简单的分析设计 |
成果和获奖经历 | 无 | ||
目标 | 深入学习java,为找工作做准备 | 预期 | 基本掌握Java编程能力,并能编写简单的程序 |
4、学习路线及时间计划
在3.3中,你提到了你最想学习的技术,那么请为你的学习目标绘制你的学习路线图,要求如下:
4.1 绘制思维导图:
4.3 学习计划:
这个作业属于哪个课程 | 春季w班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 学习github的使用,编写疫情统计程序 |
作业正文 | 在这里 |
其他参考文献 | github,csdn论坛,博客园,菜鸟教程 |
1、github仓库地址:这里
2、psp表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 60 |
Estimate | 估计这个任务需要多少时间 | 30 | 40 |
Development | 开发 | 1000 | 1200 |
Analysis | 需求分析 (包括学习新技术) | 720 | 960 |
Design Spec | 生成设计文档 | 40 | 60 |
Design Review | 设计复审 | 30 | 10 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 20 |
Design | 具体设计 | 50 | 80 |
Coding | 具体编码 | 720 | 480 |
Code Review | 代码复审 | 60 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 240 | 60 |
Reporting | 报告 | 60 | 60 |
Test Report | 测试报告 | 30 | 10 |
Size Measurement | 计算工作量 | 40 | 10 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 40 | 10 |
合计 | 3110 | 3120 |
3、解题思路
1、初见:
交完第一次作业之后就放松了自己,没认识到自己基础不行,第一时间开始着手作业,等看到这个作业时候已经时日无多了。看了两边题目一点头绪都没有,顿时慌了,开始百度和向同学求助。
2、分析:
在一番百度和求教后冷静下来了再看题目,知道了这次作业的要求是编写能使用命令行参数控制的指定文件的内容的读取、统计,并将统计的数据写入另一个指定的文件里的程序。
3、学习
知道了需求后就知道了需要学的东西,再学习了java基础后又去看了哈希图的使用和BufferedReader,BufferedWriter等的使用。
4、设计实现:
5、代码说明:
6、单元测试:
7、单元测试覆盖率优化和性能测试:
8、代码规范:这里
9、心路历程:
10:相关仓库:
这个作业属于哪个课程 | 春季w班 |
---|---|
这个作业要求在哪里 | 作业要求 |
结对学号 | 221701413,221701417 |
这个作业的目标 | 结对设计疫情统计的原型 |
作业正文 | 如下 |
其他参考文献 | 博客园,b站教程,PMYES社区 |
一、psp表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 30 | 60 |
Estimate | 估计这个任务需要多少时间 | 30 | 40 |
Development | 开发 | 400 | 600 |
Analysis | 需求分析 (包括学习新技术) | 720 | 960 |
Design Spec | 生成设计文档 | 40 | 60 |
Design Review | 设计复审 | 30 | 10 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
Design | 具体设计 | 350 | 480 |
Coding | 具体编码 | 0 | 0 |
Code Review | 代码复审 | 0 | 0 |
Test | 测试(自我测试,修改代码,提交修改) | 0 | 0 |
Reporting | 报告 | 60 | 60 |
Test Report | 测试报告 | 30 | 10 |
Size Measurement | 计算工作量 | 40 | 10 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 40 | 20 |
合计 | 1770 | 2370 |
二、需求分析
需求(Need)
在全国地图上使用不同的颜色代表大概确诊人数区间
颜色的深浅表示疫情的严重程度,可以直观了解高危区域;
鼠标移到每个省份会高亮显示;
点击鼠标会显示该省具体疫情情况
做法(Approach)
使用原型制作软件如Axure、墨刀等制作一个可交互的新冠肺炎疫情数据可视化原型,实现全国疫情热度图、确诊/疑似/治愈/死亡的累计/新增趋势图、疫情资讯文章浏览等功能。
基本功能
全国疫情可视化
1.全国地图上,颜色的深浅表示疫情的严重程度,颜色越深越严重
2.鼠标移到每个省份会高亮显示
3. 点击鼠标会显示具体某个省份的疫情情况
具体省份疫情可视化
1.显示该省份对应的感染患者人数、疑似患者人数、治愈人数、死亡人数;
2.该省份到目前为止的新增确诊趋势、新增疑似趋势、治愈趋势和死亡趋势
好处(Benefit)
使用户可以高效地获取与疫情最相关的信息
竞争(Competitors)
优势
用户无需安装本地app,只需要将此应用页面添加到收藏夹,或扫描二维码,即可访问
关键数据使用热度图和折线图表示 ,趋势变化非常直观
不足
疫情数据和资讯需要从其他平台搬运,更新的时效性无法有效保证
推广(Delivery)
请身边的亲朋好友试用和推广
通过QQ空间、微信朋友圈、今日校园等社交平台推广
三、原型展示
1、通过网上下载省份svg图组成可交互的地图,并通过调色区分疫情严重程度
2、高亮鼠标移至的省份
3、自动获取当前时间并显示
4、省份页面
5、原型的html包
这里
四、结对交流
这次作业我们主要通过qq电话交流分别找资料,最后汇总的方法完成的
五、博客的pdf
这里
六、感悟
首先,本次作业中我学会了一项新的软件使用,用Axure RP构建原型,在学习如何制作原型的过程中我翻看了许多的网站和教程,在学习材料的获取方面上得到了很多经验。其次,和其他人一对一的合作完成一项作业是除了大物实验外第一次,不敢拖累他人做的反倒比做自己的作业更认真,最后的结果也还算可以,让我意识到我不是不行,和不能再继续堕落下去了。最后和他人合作任务的分配,彼此能力上的互补也让我收益良多。
个人作业——软件评测
这个作业属于哪个课程 | 2020 春福大软工实践 W 班 |
---|---|
这个作业要求在哪里 | 个人作业——软件评测 |
这个作业的目标 | 将项目的设计落地,继续完善设计类图,并在正式开始开发之前设计好系统和数据库、制定好计划和分工 |
作业正文 | 作业正文 |
其他参考文献 | 《构建之法》 |
一、 demo使用
1、web端
2、微信小程序
3、Android端
二、bug
1、对面已读的消息仍然显示未读
2、web端可以一个账号多个窗口同时登陆
3、点击侧边栏的”查看更多“时,点击以后没有反应。
4、原因:这仅仅是demo,主要作用仅是展示,没有注意到一些主干之外的错误。
三、构思
1、想要开发的产品
老师学生家长之间的作业交流平台
2、主要功能:
老师能发布作业和批改学生提交的作业并提供作业成绩,学生能提交作业和查看自己的作业成绩,家长能获得老师发布作业的情况和学生提交作业的情况以及作业成绩
3、产品面向的用户
疫情期间需要使用网络平台进行作业交流的老师学生和家长
4、NABCD分析
N(Need,需求):
受疫情影响,许多教学活动转到线上,作业的提交自然也转移到了线上
A(Apporach,做法):
运用即时通讯SDK,以及各种api,开发出方便使用的作业交流平台。
B(Benefit,好处):
老师家长和学生能方便的在一个平台上进行作业交流,并且不会受到其他的干扰。
C(Competitors,竞争):
qq群的作业提交等。
D(Delivery,推广):
面向需要这样一个平台的老师和家长,突出独立和不受干扰。
四、采访
1、采访对象的背景和需求
小学三年级的学生,因为疫情需要在网上提交作业
2、描述用户使用这个demo的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
解决了一部分,界面太简单不是很符合她的爱好。偶尔会有bug
3、介绍你想用这个SDK开发怎样的产品?
开发一个界面可以更换的纯粹的作业交流平台。
4、用户对腾讯即时通信的功能有什么改进意见?
无。
5、用户对你想开发的产品有哪些意见?
无。
6、结论:推荐
四、分析
估计做SDK大约需要花费的时间:
考虑到制作会受到个人能力和是否有类似开发经验影响,预计需要花费三个月的时间
软件目前的优劣
优势:
1:没有赘余的功能,目标明确。
2:软件使用便捷,简单易懂,方便上手。
劣势:功能过为单一
团队在软件工程方面可以提高的一个重要部分:
确认一个目标,然后根据能力分工合作。
五、建议和规划
如果你是项目经理,如何提高从而在竞争中胜出?
保证项目的稳定性。
目前市场上有什么样的产品了?
QQ群的作业功能等。
你要设计什么样的功能?
发布作业,提交作业,批改作业,查看作业情况和作业成绩。
为何要做这个功能,而不是其他功能?
网上授课等容易受到其他因素的影响,作业也是,做一个这样的平台来减少其他因素的干扰。
为什么用户会用你的产品/功能?
因为他们可能会抑制不住地受到其他因素的干扰
你的创新在哪里?
去繁取简。
如果你来领导这个团队,会有什么不一样?
明确各组员的优势,让他们更好的发挥自己的长处。
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
3开发(1前2后)
1测试
1美工
描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。
第一周、提出项目(组内讨论确认开发项目)
第二~三周、项目需求分析(完成需求规格说明书)
第四~五周、设计阶段(进行原型设计和数据库设计)
第六~十三周、编码阶段(对项目进行具体的程序编写)
第十四~十六周、测试阶段(对项目进行测试)
项目发布后,有没有考虑过项目该怎么部署才能满足需求?依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。
应用服务器配置:2核4G *2
后端服务器配置:4核8G *3
关系型数据库:SQL Mysql数量:3(读写分离 2,备份 1)
缓存数据库:Redis 数量:2(主备)
这个作业属于哪个课程 | 2020 春福大软工实践 W 班 |
---|---|
这个作业要求在哪里 | 个人作业——软件工程实践总结&个人技术博客 |
这个作业的目标 | 将项目的设计落地,继续完善设计类图,并在正式开始开发之前设计好系统和数据库、制定好计划和分工 |
作业正文 | |
其他参考文献 |
一、回望 【20%】
(1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强软件工程专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
虽然编程能力和团队合作能力都得到了进步,但是仍然还是不够。
(2)你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?
没有,只学习了其中的一部分。
(3)请总结这门课程的实践总结和给你带来的提升,包括以下内容:
统计一下,你在这门软件工程实践中,一共完成了多少行的代码;
4000左右
软工实践的各次作业分别花了多少时间?(做一个列表)
作业 | 耗时(小时) |
---|---|
准备篇 | 10 |
热身篇——疫情统计 | 10 |
结对第一次—某次疫情统计可视化(原型设计) | 20 |
团队作业第一次——种子队伍选拔和团队展示 | 4 |
结对第二次作业——某次疫情统计可视化的实现 | 20 |
团队作业第二次—团队Github实战训练 | 8 |
团队作业第三次—项目需求分析 | 10 |
团队作业第四次—项目系统设计与数据库设计 | 13 |
个人作业——软件评测 | 15 |
团队作业第五次——站立式会议+alpha冲刺 | 60 |
团队作业第六次——beta冲刺+事后诸葛亮 | 65 |
哪一次作业让你印象最深刻?为什么?
beta冲刺,因为是整个项目当中投入的最多,学习到的最多的一次
累计花了多少个小时在软工实践上?平均每周花多少个小时?
230小时左右,平均每周15小时
学习和使用的新软件;
Axure RP 9;HBuilder X
学习和使用的新工具;
github
学习和掌握的新语言、新平台;
uni-app和thinkphp5
学习和掌握的新方法;
原型设计
工程能力的提升;
合作能力有所提升
能够制作原型
代码能力得到了提高
二、团队总结【15%】
软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?
担任了组长,完成的不是很好,没有调动起组员参与的积极性
1、 如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)
沟通太少,缺乏行之有效的奖惩制度和激励方法
2、 如果你是组员,你觉得你的组长分工安排是否合理?你对组长的选举有什么建议?
不是很合理,基本靠有能力的组员主动承担,虽然组内选举有些弊端,但是我还是觉得组内选举会好一些
3、 你这学期经历过换组吗?你对换组有哪些看法?谈谈你在这个过程中的感受。
没有,是很有实践意义的体验
4、 分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
没有,最后仍处于完成阶段
三、人月神话【30%】
1、怎样证明你学会了软件工程?以下要求你们的团队达到了哪几个?请在随笔中用数据证明上述内容或侧重选择之一。
(1)研发出符合用户需求的软件必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
并没有公开发布。
(2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件 有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
基本上是靠临时熬夜做的
(3)并且通过数据展现软件是可以维护和继续发展的。而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
没有文档,源代码有些混乱
2、写下属于你自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析,文字部分字数要求在100字以上,可以使用你自己喜欢的方式表达(如图文结合、视频)..
无
四、建议【10%】
对下一届同学的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?请写下你对后来人的期许。
好好学习吧。
对于软工实践课程,你有哪些建议?
无
对于助教工作,你有哪些建议?
多一些分享经验的环节是很有帮助的
对于自己今后,你有哪些建言?
确认好自己的定位,并朝自己的目标走下去
五、个人技术总结 【25%】
在第一次作业“准备篇”中你为自己制定了学习路线,现在学习了怎么样了?你在团队开发中是否担任了开发角色,你在开发中解决了哪些技术问题?获得了哪些技术进展?
只学习了其中的一部分,虽然参与了开发,但是代码很混乱