摘要: 老师上课提出了敏捷开发的概念,通过查阅资料,我们得知了敏捷开发的的一些定义及内容,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷开发的路线Test-Driven Development,测试驱动开发。 它是敏捷开发的最重要的部分。在ThoughtWorks,我们实现任何一个功能都是从测试开始,首先对业务需求进行分析,分解为一个一个的Story,记录在Story Card上。. 阅读全文
posted @ 2014-03-19 19:05 snail2014 阅读(586) 评论(0) 推荐(0) 编辑
摘要: 经过讨论和设计,对于多路电梯调度,我们确立了具体的数据结构模型,主要还是采用C-LOCK算法,另外加一个多线程调度。数据结构:1.考虑到电梯的变化是一个动态变化的过程,那么要在动态过程中实现正常跳转,首先要确定各种跳转的状态, 因而这里我们使用枚举类型来表示电梯的各种状态:enum {updownstophomeStatehome};同时初始化最初状态为电梯在楼层一。2.对于乘客来说, 显然要有一个进入电梯与走出电梯的队列, 因而在这里我们是用的链表来实现这个过程的,同时用结构体来保存该乘客的信息:typedef struct passage{ int now//乘客当前所在的楼层 int d 阅读全文
posted @ 2014-03-18 15:47 snail2014 阅读(312) 评论(3) 推荐(0) 编辑
摘要: 结对组员:闫立新 苏海岩核心思想:寻找所有可能的数组的和。设置两个for循环,每一次都加上后面的数。这样通过遍历,把所有可能的数组的和都计算出来。利用max变量保存,只要找到了最大的值就替换,每次都进行更新。在最外层的一次循坏结束后要使sum的值变为0以便不会影响后面一次循环的结果。此方法想法简单,实现也比较容易,循环嵌套即可。下面为代码部分:#includeint Max(int a[],int n){ int max=-1000; int sum; for (int i = 0;i max) { max=sum; ... 阅读全文
posted @ 2014-03-10 18:50 snail2014 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 软工老师出了一道题目,关于电梯调度问题,假设一幢大厦有21层, 4部电梯,很多乘客使用这些电梯(旅客重量:平均70公斤最大120公斤,最小45公斤)。其他常量数据:电梯速度,开/关门时间,乘客要进出电梯的时间。具体设计一个电梯调度算法,实现合理调度。在搞清该用什么算法之前,先搞清电梯是怎么运行的。那么电梯是如何运行的?(以下是我们的想法和设计) 假设分两种信号,外部信号与内部信号,外部信号就是电梯外乘客的请求信号,内部信号就是电梯内乘客所请求的目的地信号。 首先,假设电梯内部没人,就没有内部信号,当有乘客发出外部信号时,电梯就会以首先到来的信号作为方向信号(上或者下),然后以自己楼层作为出发点 阅读全文
posted @ 2014-03-09 21:12 snail2014 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 前几天软件工程老师布置了一道题,关于单词查找排序的问题,题目是找出一篇英文文章出出现频率最高的十个单词,并打印输出。初看到这个题目,觉得不难,无非是文件读入,数组,查找单词,比较排序之类的,但是由于学得比较渣,编程水平有限,所以借助大神的力量,经过多方学习和借鉴,用java实现了。因为近年来比较流行java,java有丰富的类库和函数,可以拿来直接用,所以比较方便编程。接下来介绍java代码的思路。需求分析:查找十个频率最高的单词,然后输出单词及其次数。首先导入文件,可以用BufferedReader,然后用正则表达式匹配单词,如果用空格和标点也行,但是有个问题,文章中的引号不好分离,所以还是 阅读全文
posted @ 2014-03-02 19:16 snail2014 阅读(426) 评论(1) 推荐(0) 编辑