回想开学初对于软件工程这门课的期望,总结本课程对你带来的提升:
学习和使用的新软件
APICloud;使用标准Web技术开发iOS、Android原生App,各类功能一站聚合、一键接入
AppLoader是Brew Tools Suite3.0.0自带的一个工具,用于把我们写好的程序上载到手机,进行测试。
Enterprise Architect是以目标为导向的软件系统。它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等。
学习和使用的新工具
apicloud;使用标准Web技术开发iOS、Android原生App,各类功能一站聚合、一键接入
apploader是Brew Tools Suite3.0.0自带的一个工具,用于把我们写好的程序上载到手机,进行测试
学习和掌握的语言和平台
语言:html5、javascript、CSS
平台:墨刀、APICloud
统计一下,你在这软件工程实践中,完成了多少行的代码
本次望岳物业管理系统设计中,我总共设计了35个页面,代码行数不可计。
学习和掌握的新方法
软件测试
APP开发流程
总结与展望
记录自己在软件工程课程上的经验总结
本学期通过学习了软件工程课程,完成了项目设计以及项目答辩,我真的获益颇多。和团队成员一起设计完成了一款望岳物业管理系统APP,虽然功能上还有些欠缺,但已经是我们脱胎理论,真正进行实践的一个大大的进步。有了这次的经验,我相信,下次能做的更好。
对于下一届的学弟学妹你有什么建议和告知呢?
好好学习,天天向上。
勤动手,多用脑。
爱你的团队,真心投入你的项目,不仅仅是一份交给老师作业,还是对你自己的一份答卷。
分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》团队合作的阶段,你们团队经历过么?最后到达了哪一阶段?
我们从最开始的萌芽阶段,磨合阶段,到后来我们团队成员都能默契合作,到达了融合阶段,随着项目的完工,我们进入了项目的整合阶段和测试阶段,测试中出现了一些bug,所以进入了修复阶段,最后再次整合,这次项目开发圆满结束。
个人总结的补充
在一周之内快速看完《构建之法》,列出你不懂的5-10个问题,发布在自己的博客。
我看了第三章的内容,有这个问题 ——我们这个行业的核心竞争力是什么? 我查了资料,有这些说法(“那么核心竞争力是什么?我观察圈子里很多成功和不成功的技术人,提出一个观点,那就是个人的核心竞争力是是他独特的个性知识经验组合。”);根据我的实践,我得到这些经验(程序员的自我提升需要不断地学习,这就是核心竞争力);但是我还是不太懂,我的困惑是(要成为一个优秀的程序员,我们应该怎么做?)。
现在我能回答第一个问题:要成为一个优秀的程序员,我们首先应该从学好软件工程这门课开始,它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
我看了第四章的内容,有这个问题 ——怎么达成有效率的结对编程? 我查了资料,有这些说法(“让结对编程更有效的十种办法#1 -不要让一个人霸占键盘#2 -要共同管理注意力#3 -不要一个人干活#4 -要有劳有逸#5 -要庆祝你们的成就!#6 -要和你的同伴保持同步#7 -要使用合适的交流方式#8-要学会处理分歧#9 -既要作学生,也要作老师#10 -要及时提供和接受反馈”);根据我的实践,我得到这些经验(结对编程的两人在不同阶段要应用不同的方式和技巧);但是我还是不太懂,我的困惑是(结对编程也好,团队协作也好,如何组成一个合适的Team,如何协调各方面的问题?)。
现在我能回答第二个问题:尽量找一个和自己志同道合优秀的伙伴组成Team,结对编程过程中,有问题直接提出来,一起战斗总好过于自己一个人战斗。
我看了第八章的内容,有这个问题 ——市场上已有的软件已经五花八门,一个团队要做一个新的软件,怎么才能准确找到用户需求? 我查了资料,有这些说法(“整个流程的思路就是先针对一群极端用户,通过看得见摸得着的原型,渐进式地深挖需求,找到产品卖点和新的市场需求,在这过程中尽量把重大改进往早放;而不是针对大众市场,做一个大家都能想到的产品。”);但是我还是不太懂,我的困惑是(如何对已经收集出来的用户需求进行排序?)。
现在我能回答第三个问题:要提出真正合适的用户需求,要对收集好的需求进行重要性排序,首先还是得做好需求分析,了解什么才是设计的主功能,什么才是最重要的。了解透彻了,用户需求自然就简单了。
我看了第十章的内容,有这个问题 ——用户需求说明书与需求规格说明书有什么本质区别?我查了资料,有这些说法(“用户需求说明书是用户的需求,需要和用户确认的;需求规格说明书是系统需求,主要是对内的。”);根据我的实践,我得到这些经验(“需求开发”需要产出的文档大体上包含【需求规格说明书,需求规格说明书检查表,需求开发指南等);但是我还是不太懂,我的困惑是(要怎样写才能让用户、客户更容易读懂这一大堆的说明书?)。
现在我能回答第四个问题:说明书必须指导用户使用最基础的工具(大多数时候就是一根小铁棍),去完成一系列非常复杂的操作工序。这,才是最难的部分。要注意五点,分别是:
· 标准化:清晰简洁的标准系统可以跨文化和认知
· 拟物化:指示应该更直接地与现实联系
· 提示的时机:在最恰当的时机帮助用户
· 唯一路径:关键时刻使用兼具容错和安全的唯一正确路径
· 空白处理:「没有信息」本身也是信息
我看了第十六章的内容,有这个问题 ——什么是创新?怎么才能做到创新?我查了资料,有这些说法(“创新,作为当前各行各业一个非常时髦的话题。针对软件行业来讲,体现的尤为淋漓尽致。可以不夸张的说,推动软件行业发展的永恒动力就是创新。”);但是我还是不太懂,我的困惑是(市场上已有的软件已经那么多,每个市场份额已经被占据了,一个新的软件开发,要做到创新究竟要怎么办?)。
现在我能回答第五个问题:我认为,创新不应该只是一种概念性的东西,它应该能够捉摸得到,应该融入到现实生活中。在当今世界,创造新的东西,对于我们这个阶段的大学生,刚开始接触新的知识和内容,很难。没有一个深层知识的积累和沉淀,就要求我们去创造一个新的东西,显然有点强人所难。相对于创造新的东西,更新和改变更适合我们,所以,我认为,目前阶段,创新对于我们来说就是更新和改变。我认为技术人员都应该保持对技术,特别是新技术的渴望,不断的去学习新技术。