【M2】软件工程终期总结报告——阅读作业
PhylabWeb——阅读作业
- 问题回顾
- 提问博客地址:http://www.cnblogs.com/kibbon/p/4831104.html
- 尚待解决的问题:
- Alpha/Beta,ZBB/RC阶段的界定,由于只体验了项目开发的alpha/beta阶段,对这两个的定义仍然仅有时间上的概念,alpha阶段须作出一个相对完整的可以运行的版本,那么这个”完整“要如何理解才合适,毕竟beta阶段也会添加一些核心功能,alpha阶段未必总是完成了所有的核心功能的
- 对于代码规范的制定尚不清晰,因为我们的团队项目使用到了很多种不同的语言,网页前端这里主要是php,html,css和js,后端核心功能模块则是用python编写脚本,在这种代码不统一的项目中,需要如何制定代码规范呢?我在使用bootstrap框架进行网页编写的时候,了解到bootstrap是通过分层次的类定义来为dom标签赋予样式的(bootstrap的类名定义非常工整),js则是基于Jquery编写,可以理解为前端的代码规范都是采用这样的模式制定的嘛?
- 已经解决的问题:
- 对于写了再改模式的利弊分析,我认为对于团队协作编程,弊总是大于利的。在结对编程中因为前后端交互较少,都是围绕着接口进行,程序松耦合性比较好,写了再改模式的弊端没有充分体现出来;而在团队项目中,我和后端需要对同一个网页的Php文件进行修改,频繁修改导致的问题就是两个人自己仓库里的文件差异增多,冲突增多,并且由于服务器环境较为复杂,我不便于立即查看自己修改后的代码运行效果,每次修改都需要等待后端部署好后再查看。这样就极大地拖慢了工作效率,因此我在处理论坛页面的时候,借助于后端工程师的引导,在本地部署了一个wecenter服务器用于检查代码执行结果,以尽可能的提高代码质量,减少复写率。
- 关于单元测试,通过scrum meeting我从负责后端计算模块的同学那里了解到,这个还是单独去做的,每次上线前会进行一次测试,不然会影响效率。当然,后端的压力测试就更是如此了
- 对于优化,项目中前端这里的优化主要是指浏览器兼容性优化和响应式布局,这一点我确实意识到有的时候过多的做一些优化可能会起到反效果,网页是内容,而浏览器是框架,浏览器自身会通过优化兼容越来越多的网页(比如支持更多的H5/CSS3特性),编写网页文件时,为低端浏览器所做的一些兼容优化最终都会成为废代码,因浏览器自身的更新而被淘汰,因此只需要考虑对主流浏览器较新版本提供支持即可,兼容其他浏览器反而容易丧失代码的纯粹性,甚至会影响到原本主流浏览器的效果。响应式布局方面,因为不同浏览器对响应式设计支持的程度不同,全部兼容会造成大量的代码冗余,时间资源又有限,所以只考虑chrome/firefox内核。
- 新问题
- 在没有办法在本地部署服务器的前提下,前端工程师有无快速核查自己代码执行效果的手段?
- 在需要修改同一个网页文件来配置路由的前提下,前端和后端搭配工作的最好模式是什么?在同一个分支下协作还是共同完成 ?
- 新体会
- 团队项目中,如果不能解决一个bug,那么至少需要将其掩盖,因为团队项目的文件可能经手不同的人修改,如果bug不解决,很容易就会引发至各处,届时bug的修复成本是难以估计的,也就是所谓的”大泥球“现象,在开发过程中我们遇到了页面图标字体显示异常的状况,经排查知道是由于本地的bootstrap.css和bootstrap.min.css对字体文件路径依赖不一所致,前者是fonts目录下而后者是font目录下,因此在处理的时候牵涉到了路由修改和相关css路径的修改,可以说是饶了很大一圈,由此可见对”大泥球“问题必须时刻保持足够的重视程度
- 收获的知识点
- 需求阶段
- NABCD分析法
- 设计阶段
- 界面原型设计,了解了诸如mockupbuilder的原型设计工具
- 实现阶段
- 了解迭代开发的基本流程,如何运用github进行项目代码管理,学习了bootstrap框架并初步了解了网页前后端对接
- 测试阶段
- 意识到”大泥球“现象的存在,在后端的配合下在本地部署服务器,意识到开发人员自身的测试对于团队项目管理的重要性
- 发布阶段
- 了解了产品发布需要做哪些准备工作,如何通过git合并各个分支的源代码以整合成最终产品
- 维护阶段
- 充分意识到了敏捷开发中运维阶段工作的重要性,由于敏捷开发追求效率,运维阶段每个人都必须在自己负责的模块上针对各种意见反馈给出及时的处理,以免耽误整个队伍的代码修缮进度
- 需求阶段
【M2】软件工程终期总结报告——阅读作业的更多相关文章
- [2019BUAA软件工程]第1次阅读作业
[2019BUAA软件工程]第1次阅读作业 Tips Link 作业连接 [2019BUAA软件工程]第1次阅读作业 读<构建之法>的疑惑 个人开发流程(Personal Software ...
- 【M2】软件工程终期总结报告——前端设计总结
PhylabWeb——前端设计感想 简介 本文的内容是关于我参与的软件工程项目——“Phylab-Web物理实验中心网站”的前端设计个人总结,来自团队:软剑攻城队 网站地址为:http://buaap ...
- 软件工程M1/M2总结及阅读作业总结
一.软件工程M1/M2总结 写下这篇总结的时候,我们的软件项目尚未完工.虽然尝试申请了延期答辩,但最终未能成功.这意味着,我们的项目能否正常发布已经处于了一个微妙的状态.可能可以,也可能不可以.只能尽 ...
- 个人阅读作业 --软件工程M1/M2总结
软件工程M1/M2总结 写在前面的话: 这学期的软件工程伴着考期的展开逐渐落下帷幕,回顾这学期的软件工程,我感觉我的热情在一次又一次的失落中逐步消耗殆尽,每个人对于这门课的体验都会有所不同吧,可以确定 ...
- 高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告
高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告 Deadline:2017-10-30(周一)21:00pm (注:以下内容参考集大作业4,集大作业5,集大作业6,集大作业7 一. ...
- 【BUAA软件工程】第一次阅读作业
BUAA软件工程 第一次阅读作业 项目 内容 这个作业属于哪个课程? 北航软工 这个作业的要求在哪里? 第一次个人作业 我在这个课程的目标是? 学习高效严谨的软件工程开发过程,建立团队意识 这个作业在 ...
- 2021S软件工程——个人阅读作业2
2021S软件工程--个人阅读作业2 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 了解并熟悉软件开发的具体流程, ...
- 2021S软件工程——个人阅读作业1
2021S软件工程--个人阅读作业1 项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任建) 这个作业的要求在哪里 2021年软工-热身阅读作业 我在这个课程的目标是 了解并熟悉软件开发 ...
- final个人阅读作业
一.软件工程M1/M2总结 1.M1阶段总结: 我们团队的软件工程开发是按照前后端来分别开发的,我是负责后端的.我们的项目是做一个北航的社团平台,是一个网站.在后端我们使用的是ruby on rail ...
随机推荐
- [Tomcat]The JRE_HOME environment variable is not defined correctly
在tomcat的bin目录下,双击startup.bat,闪一下,就没了,后来仔细看了一下黑屏闪的内容如下: the JRE_HOME environment variable is not defi ...
- 「SNOI2019」通信
题目 还好我没生在陕西啊 首先发现这个题不能\(dp\),数据范围不大,好像一种网络流的样子啊 哎等等,这样向后面连边不是一个\(DAG\)吗,这不是最小权路径覆盖的板子吗 于是我们套路的拆点,对于一 ...
- ansible-role写法
一.role目录的创建: cd /etc/ansible/ mkdir -pv roles/{websrvs,dbsrvs}/{tasks,files,templates,meta,handlers, ...
- Spring Boot属性配置文件详解
相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁 ...
- Shell命令解析
1.简单语法: 执行shell: sh executeTest.sh puttyy上跑java: ...
- PAT A1124 Raffle for Weibo Followers (20 分)——数学题
John got a full mark on PAT. He was so happy that he decided to hold a raffle(抽奖) for his followers ...
- Android学习之基础知识八—Android广播机制实践(实现强制下线功能)
强制下线功能算是比较常见的了,很多的应用程序都具备这个功能,比如你的QQ号在别处登录了,就会将你强制挤下线.实现强制下线功能的思路比较简单,只需要在界面上弹出一个对话框,让用户无法进行任何操作,必须要 ...
- React-简书视频学习总结
react的基础语法 redux这个数据层框架 react-redux如何方便我们在react中使用redux react-router 4.0 这样的非常实用的相关的第三方模块儿 immutable ...
- docker for windows 10 添加阿里云镜像仓库无效问题
原来一直是用cmd来执行docker 命令的,结果今天发现不行了,改了镜像仓库也pull不下来. 后来换用powerShell执行docker pull 才成功.大家可以试试 win+R 运行 po ...
- CF 888E Maximum Subsequence
一道比较套路的题,看到数据范围就差不多有想法了吧. 题目大意:给一个数列和\(m\),在数列任选若干个数,使得他们的和对\(m\)取模后最大 取膜最大,好像不能DP/贪心/玄学乱搞啊.\(n\le35 ...