2014年5月29日
摘要: 我在上了一学期的软件工程课,首先要感谢王建民老师的辛苦劳作,对我们孜孜不倦的教诲,还有你这新颖活泼的教学方式,深深地令我折服。老师您辛苦了。 我曾试想过,如果说早两年让我遇见王老师是不是我的软件水平会有很大的提高,只有自己动手才能有提高,才能有真正的提高自己的编程能力。 这学期的软件课我们做... 阅读全文
posted @ 2014-05-29 10:01 刘博20112989 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 王建民老师建议我们多读读一些软件方面的书,最近几天我看了他一直极力推荐的《人月神话》,感触颇深。其实到现在我也不很明白为什么一本《人月神话》,听上去这么浪漫的名字并不是真的说神话故事,反而作者阐述的主要观点是在软件开发项目上项目进度和增加人员这两个概念是不能互换。不过也是给我很深的震撼的。第一让我我... 阅读全文
posted @ 2014-05-29 08:56 刘博20112989 阅读(2893) 评论(14) 推荐(4) 编辑
  2014年4月5日
摘要: 我关于团队项目的idea是在Android系统开发一个个快的乘车appN(need)就我们在校学生而言,出门打车太奢侈了,坐公交是在平常不过的了,而等车则是最令我们头疼的事了,有时候越是遇上着急的事车越迟迟不来,于是我就产生了这样想法,做一个软件,让我们只要输入你的所在地和目的地,就可以告诉你该乘坐那路公交车。并且随时能够查到哪个车正在驶来,预计还有多久到达你的地点。实现快点坐车,少等车。适用者也不光是对于学生,对于这个社会的大多数人,等公交 挤公交都是很烦恼的一件事啊!A(approach)实现快的乘车app的方法,我理解大概首先就是录入公交车的基本信息,行驶路线,乘客载流量。然后再实事上传 阅读全文
posted @ 2014-04-05 09:51 刘博20112989 阅读(148) 评论(1) 推荐(0) 编辑
  2014年3月21日
摘要: 2014年3月18日 星期二下午19:00-21:00我们明确了未来几天的工作任务电梯调度这个程序我们已经弄了一周了,在这一周里我们网上搜索了好多相关的东西,找了很多的资料,一开始做出来的电梯只有一部电梯,而且存在很多很多的缺陷,很多要求的功能都不能实现,而且一筹莫展,所以我们讨论了接下来的这几天的主要任务,如下:1、实现4部电梯共同运作2、实现电梯门的开关控制的动画效果3、实现控制电梯人数以及体重4、实现多人同时上电梯2014年3月19日 星期三 下午14:00-18:30我们今天的任务是努力实现电梯门的控制,实现按电梯按钮等电梯到了目标层就可以使电梯门自动打开然后在自动关上,由于我们是使用 阅读全文
posted @ 2014-03-21 09:17 刘博20112989 阅读(338) 评论(16) 推荐(1) 编辑
  2014年3月19日
摘要: 敏捷开发概述 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发的特点 (1)敏捷开发方法是“适应性”(Adaptive)而非“预设性” (Predictive)。 (2)敏捷开发方法是“面向人” (people oriented)而非“面向过程”(process oriented)。项目的敏捷开发方法 敏捷方法很多,包括 Scrum、极限编程、功能驱动开发以及统一过... 阅读全文
posted @ 2014-03-19 19:03 刘博20112989 阅读(242) 评论(1) 推荐(0) 编辑
摘要: 前景介绍:之前我们一直使用枚举法求和,这是我们的新方法--动态规划。问题描述:给定一个整数数组a[0~n],求数组a的子数组,使其元素和为最大。问题分析:方法一:可以用普通的方法枚举所有的子数组,然后求出最大的子数组和,时间复杂度为O(n*n)。方法二:问题描述符合动态规划最优子结构的要求。设b[i]表示以a[i]结尾 的子数组的最大子段和,即:b[i]=max{sum(a[j~k])},其中00时,这时候的b[i]中包含a[i]。2,b[i] = a[i],当b[i-1] using namespace std; #define N 10 int max_sub_arra... 阅读全文
posted @ 2014-03-19 15:28 刘博20112989 阅读(233) 评论(1) 推荐(1) 编辑
摘要: 这次的课堂练习是在上次求数组最大子数组和的基础上的延伸--求二维数组最大子数组和我们的解题思路大致是这样的. 最简单的思路是想到的就是通过四层循环实现最大子数组和的查找,但这样的复杂度是比较大的。起先我们只知道利用枚举法求二维数组的值,忽略了时间复杂度的要求。怎样能够快捷的找到二维的最大子数组呢?动态规划是一个简便的算法。补充知识:动态规划是为了使获取的决策序列在某种条件下达到最优。是一种将多阶段决策过程转化为一系列单个问题,然后逐个求解的程序设计方法。于是我们两个采用了动态规划,这个想法的的思路是利用三层循环,就可以大大减小时间复杂度。a) 首先求出p[i][j],表示以(0,0)为起点,以 阅读全文
posted @ 2014-03-19 15:14 刘博20112989 阅读(158) 评论(1) 推荐(0) 编辑
  2014年3月10日
摘要: 2013年3月10日上午11:00题目:输入一个整型数组,数据元素有正数也有负数,求元素组合成连续子数组之和最大的子数组,要求时间复杂度为O(n)。这是我们这一次是测试内容。刚刚老师耐心的给我们讲解了什么是子数组,这是非常经典的一道题。想要实现这个程序不难,只是能够很巧妙的把时间复杂度降为O(n)才是解题的关键。下面是我们结对pair的初级设计思路:1、键盘输入数组个数、数组元素。用cin实现2、实现一个for循环,找到以数组中第一个数为首的子数组的和定义一个变量sum并赋一个初值作为子数组的和,在定义一个max实现子数组最大值的存储刚开始想着定义一个数组add[]来放子数组和,然后通过子数组 阅读全文
posted @ 2014-03-10 16:53 刘博20112989 阅读(149) 评论(1) 推荐(0) 编辑
  2014年3月9日
摘要: 电梯调度设计2014年3月4日 星期二(18:00--21:30) 我们讨论并设置了电梯的初始状态,及一些常量数据,如下: (1)办公楼内部设有四部电梯,编号分别为A梯、B梯、C梯、D梯。 (2)因为办公楼共有21层,其中含有地下一层(地下一层为停车场)。平时如若没有请求信号,A梯自动停在2层,B梯自动停在7层,C梯自动停在12层,D梯自动停在17层。 (3)电梯内部有23个按钮,其中包括开门按钮、关门按钮和楼层按钮,编号为0,1,2,3,4……20。 (4)电梯外部含有两个按钮,即向上运行按钮和向下运行按钮。建筑顶层与地下一层例外,建筑顶层只设置有向下运行按钮,地下一层只设置有向上运行按钮。 阅读全文
posted @ 2014-03-09 22:46 刘博20112989 阅读(177) 评论(1) 推荐(0) 编辑
  2014年3月4日
摘要: 3月1日收到信息说周一的软件工程课老师要求我们每人都带笔记本去上课,说是要当堂编写程序,心里有点虚,要是出糗了怎么办。2014年3月3日 上午10点上课了,老师先是给我们讲了软件单元测试与规范,生动形象的给我们讲解为什么要进行软件测试,单元测试的目的,范围。紧接着就到了我们单元测试的时候了。老师要求我们两个人一组,一个人主要编写代码,一个人纠错并记录。以下是我们pair的劳动成果。这是测试代码: 查找list[]中的最大值:int Largest(int list[], int length); 首份实现代码如下:int Largest(int list[], int length){ ... 阅读全文
posted @ 2014-03-04 13:48 刘博20112989 阅读(268) 评论(1) 推荐(0) 编辑