当前位置: 首页 > news >正文

软工实践总结

软件工程实践总结

一、回望过去

对比现在的你和开学初博客开篇的课程目标和期待。

开学初

1.学习一门新的语言。

2.学习、参与如何完整地开发一款软件。

如今

现在JAVA只能说是学了一些基础,还参与了开发一款软件,从无到有,收获最大的应该是通过实践所获得的做中学的能力吧。

带来的提升

学习和使用的新软件、新工具、新语言

markdown排版
Android Studio 开发平台
GitHub
JAVA(基础)

代码量

1000行左右 (删删改改好多,没有细数)

其他的提升

“做中学”的方法
懂得团队的重要性

二、人月神话

一些经验

确定项目的时候一定要再三考虑清楚难度,尤其是队伍中无有项目经验的组员。 我们团队一开始定项目时想法很多很美好,后来要交需求规格说明书的时候发现好多模块凭队伍的实力可能无法完成。当时萌生了改项目的想法,最后磕磕碰碰,只好阉割了一些功能。

整个队伍都要学会git的使用。 整个团队一开始只有一两个成员学了GIT的使用,于是每次要push、pull的时候都要先把他们叫过来帮忙,效率太低。

和队友要多沟通。 alpha版本前期基本上是各做各的,每天的站立式会议也没怎么讨论问题,于是冲刺的前几天悠闲,后几天熬夜赶工。

三、对下一届实践的建议

团队中最好要有个有项目经验的人。当然,全是新手也没关系,要多请教其他人,你们在项目中遇到的问题也许他们已经经历过,可能一句话就能让你茅塞顿开。

博客作业最好别拖着,最后赶工很难受,真的。

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

萌芽阶段

团队成员都是一个班级的,大家互相比较熟悉。alpha版本前期,大家都没什么紧迫感,组长也不太催,就每天学一些,做一些。到了最后几天,大家开始着急,开始互相讨论,帮忙,渐渐的互相更加了解。

磨合阶段

alpha版本后期,我感觉我们才像一个团队,每天的站立式会议也不是只有“拍照”了,分配给大家的任务也能各自完成而不是最后拖着拖着就一起做了。

规范阶段

经过alpha版本,我们的信心也开始足了,而不是只担心能不能完成任务而赶工,代码乱七八糟。beta版本大家会规范的用git,也不用PM整天在后面催了。

创造阶段

可能没有达到吧,beta版本完成的还是比较艰辛的,还有一些模块没有完成。

五、阅读论文

Code quality analysis in open source software development

看完Google机翻的论文,不是看得很懂...

关于代码质量,我觉得我应该算不合格吧... 组长印的代码规范我给当草稿纸,命名比较随意,注释看心情。赶工算一方面的原因,另一方面可能自己平时习惯了写 throw away 代码。

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

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

根据初期做的问卷,我们的APP能符合用户的需求。但用户群体比较小,基本上只有班上的同学。不因为机型适配的原因还没解决,没法推广开。

七、介绍下自己

雷锋

转载于:https://www.cnblogs.com/Shepard-y/p/6241922.html

相关文章:

  • 《京韵大鼓——祭晴雯》(骆玉笙)(唱词文本)
  • FATAL ERROR: Could not find ./bin/my_print_defaults的解决办法
  • 第二热门语言:从入门到精通,Python数据科学简洁教程
  • SQLite入门与分析(四)---Page Cache之事务处理(3)
  • Linux 文件基本属性
  • linux常用命令以及命令帮助的使用
  • linux 安装fileinfo扩展
  • Linux 2.6.19.x 内核编译配置选项简介
  • Hibernate实体关系映射(OneToMany、ManyToOne双边)——完整实例
  • ASL4000驱动
  • 40 个轻量级 JavaScript 库 (下)
  • Exchange 2013 配置邮件流
  • 序列化对象存储与反序列化--比较方便查看对象
  • java Nio 异步操作(四)channel
  • Share Point 开发系列之二:SharePoint 网站元素介绍
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 10个最佳ES6特性 ES7与ES8的特性
  • Babel配置的不完全指南
  • ES6 学习笔记(一)let,const和解构赋值
  • HTTP--网络协议分层,http历史(二)
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java教程_软件开发基础
  • magento 货币换算
  • mockjs让前端开发独立于后端
  • mysql innodb 索引使用指南
  • python_bomb----数据类型总结
  • Ruby 2.x 源代码分析:扩展 概述
  • Shell编程
  • 给新手的新浪微博 SDK 集成教程【一】
  • 实现菜单下拉伸展折叠效果demo
  • 数据仓库的几种建模方法
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 在electron中实现跨域请求,无需更改服务器端设置
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (4)事件处理——(7)简单事件(Simple events)
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (bean配置类的注解开发)学习Spring的第十三天
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (四)鸿鹄云架构一服务注册中心
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一一四)第九章编程练习
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET Core中Emit的使用
  • .NET delegate 委托 、 Event 事件
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @RequestMapping用法详解
  • [ Linux ] Linux信号概述 信号的产生
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心
  • [Android] Android ActivityManager
  • [Angular] 笔记 21:@ViewChild
  • [Angular] 笔记 9:list/detail 页面以及@Output