Profil de ATIFL TeamATIFL Team——Active Think...PhotosBlogListesPlus Outils Aide

Blog


25 juin

今天课上的一些收获

   郁莲老师今天给我们的讲了微软的测试。对于测试,我以前没有仔细研究过,今天听郁老师的课,发现测试有许多的概念和方法,下面说说我这节课理解的几个概念。
   Regression test,回归测试。这个是这节课留给我印象较为深刻的一个概念。在听了老师和几位同学的解释之后,我的理解就是:当程序中某部分代码改变之后,可能会引发其他没有改变部分的代码的功能产生错误,回归测试就是要拿之前已经跑过的test case重新测试新的版本,验证改变的代码不会对其他没有改变的部分产生影响。
   alpha test:软件开发出来后首先在实验室里进行的测试,如果是定制软件的话用户会被请到开发者的公司的进行alpha测试,以确定开发的软件满足客户要求。
   beta test:在alpha测试后会进入beta测试,beta测试在软件的商业版本发布之前进行,也是测试中的最后一步。beta版本的软件一般会被发布在网站上以供用户免费下载试用。
   另外, Sign-off on Dev design doc,这里,sign-off是批准、认可的意思。
   在听老师讲了微软的这么多关于测试的知识后,我发现测试是一个系统的工程,想要做好还真不容易,有许多值得思考的地方。
23 juin

终于考完了,大家再接再厉!

前面一段时间大家都比较忙,没有及时的更新博客,这是我们需要改进的地方。
现在考试结束了,我们要把更多的时间和精力投入到这门课程中来,按质按量完成下一阶段的学习任务。
我们的项目需求分析已经得到老师的肯定,大家再接再厉,我们一定能够出色的完成vending machine项目。

vending machine requirement_part2

Test Cases

No

Testing scenario

Success criteria

priorities

1.1

输入5角、1元硬币、伪造的硬币

5角,一元硬币被接受,伪造硬币被退出

Very high

1.1

输入2元,5元,10元,20元纸币

2元提示出错,5元、10元被接受,20元纸币不被接受,提示出错

Very high

2

输入5元纸币,选择2.5元的饮料,按下找钱按钮

货物落入取物仓,退出2个一元硬币和15角硬币

Very high

3.1

投入足够钱币,当某货物指示灯为亮时按下该货物按钮

相应货物落入取物仓,余额减少相应价格;

Very high

3.2

投入足够钱币,当某货物指示灯灭时按下该货物按钮

提示无货物

Very high

4

投入钱币,断开电源,按下出货按钮,等5分钟再接上电源

断开电源后仍然可以完成出货功能,随后售货机停止服务,来电后正常工作

Very high

5

分别在四种状态下断开电源,再重新插上电源

恢复电源后售货机能够恢复到断电前状态,并正常工作

Very high

6.1

置内置零钱数量中5角硬币数量为零

提示零钱不足,无法找零钱

Very high

6.2

置内置零钱数量为8.5

提示零钱不足,无法找零钱

Very high

7

输入5角,1元硬币,5元,10元纸币

余额正确更新显示

High

8

投入5元钱,连续按两次3元货物的按钮

第一次按后正常取出货物,第二次按下按钮不出货,提示余额不足

High

9

按下某货物按钮,该货物指示灯为亮,且库存量为1

相应货物落入取物仓,余额减少相应价格,灯灭;

Normal

10

搁置15分钟

进入休眠状态,显示器只显示节电模式,橱窗灯灭

Low

11

投入足够的钱币,按下蓝色按钮,再按红色按钮

按蓝色按钮掉出冰冻的饮料,按下红色按钮掉出普通的饮料

Very low

 

vending machine requirement_part1

Requirements

No.

Requirements

Priorities

1

接受面额:5角、1元硬币,5元、10元纸币,不接受规定面额之外的钱币及伪钞

Very high

2

按下找钱按钮立即找钱,找钱用5角,一元硬币

Very high

3

投入足够钱币后,按下货物按钮,如货物不为空,相应货物立即落至取物仓且同时余额减去相应价格,否则提示无货物或余额不足

Very high

4

断电时利用备用电池电力完成本次交易,保存当前状态,转入暂停服务状态

Very high

5

异常中断恢复,断电后来电能够恢复到断电之前的状态

Very high

6

售货机内零钱数量不足9元或5角硬币为, 提示零钱不足,无法找零钱(考虑投入10元只买了一元的物品的情况和找钱是x.5元的情况)

Very high

7

入纸币立即显示金额

 High

8

余额不足以购买货物时提示

 High

9

货物空时相应的状态灯灭,有货物时亮,价格栏显示价格或空缺

Normal

10

15分钟红外传感器没有收到信号则进入休眠状态,只显示节电模式,关闭橱窗灯和各个部件

Low

11

冰冻选择功能,用户可以选择购买冰冻或者不冰的物品 (每种货物设置两个按钮)

Very low

 

Input and Output

         INPUT:

Ø        接收的钱币:

      5角、1元硬币,5元、10元纸币,

Ø     找钱按钮

Ø     货物按钮

         OUTPUT:

Ø     货物

Ø     找回的零钱

Ø     提示信息显示器:

     余额、能否找零钱、提示信息

Ø     货物指示灯:

      当前是有货物时灯亮,为空灯灭

Ø     提示声音

     余额不足时,货物存量为空时

 

Class Definition

成员变量:

Ø     余额(int

Ø     货物库存数量(int[]

Ø     价格列表(int[]

Ø     内置零钱数量(int)

Ø     售货机状态(enum,包括等待投钱、出货、找钱、休眠、暂停服务等状态)

Ø     销售额(int

Ø     货物售出标志(BOOL

成员函数:

Read:

     功能:读取钱币面额,并做合法性检查(是否是规定面额,真伪),将金额加入余额变量里。如果投入的是硬币,将硬币数量加到内置零钱数量中,调用check函数。

Change:

     功能:找零钱功能,若余额不为零且货物售出标志为TRUE,置售货机状态为找钱状态,否则提示请先购买物品。待找出零钱后,置余额为0,减去相应内置零钱数量,货物售出标志置为FALSE,调用check函数,状态转为等待投钱。

Delivery:

     功能:交货功能,若某货物按钮被按下,当货物库存不为0且余额大于该货物价格,置售货机状态为出货状态,否则提示无库存或余额不足。待出货完毕后,将余额减去货物价格,货物库存数量-1,销售额变量加上价格,置货物售出标志为TRUE,状态转为等待投钱。

Display:

     功能:显示当前余额。提示能否找零钱。控制货物指示灯亮灭。其他函数在执行结束之前都会调用该函数。

Recover:

     功能:异常中断恢复(如断电),将售货机恢复到中断之前的状态。

Check:

     功能:检查售货机的内置零钱状态。如果当前内置零钱数总额小于9元或5角硬币数量为0,提示零钱不足,无法找零钱

Store:

     功能:掉电时(此时备用电池供电)将当前成员变量信息写入FLASH,这样在掉电等异常情况出现后可以恢复之前的状态。

18 juin

关于课程项目car需求的一些初步想法

关于Car

要精确描述出Car,真不简单。

简单来说,需要描述些什么?比如输出。

速度,加速度,转向角。发动机转速(和力矩有关)。

速度:什么情况下是“巡航速度”,什么情况下算超速,什么速度下不能进行多大角度的转向操作,否则翻车?

加速度:什么情况下应该判断为“撞车”了,弹出气囊?

输入有哪些?

方向盘,油门,刹车,档位,手刹车。

方向盘:什么速度下应该做怎样的限制,是否可以模拟出低速高助力,高速低助力的舒适+安全特性。

油门:踩的深度,影响到节气门开启的角度,进气量,发动机转速,加速度。

刹车:也有深度,影响到加速度。可以模拟出“BA”(Break Assist)么。

档位:什么样的发动机转速范围是适合换档的,应该推荐给用户。不合适的换档是否导致熄火。

手刹车:是否提醒用户手刹车忘了放下,或者任其开到出现事故,比如着火。

阻力:随速度是有变化的,甚至和车窗打开与否也有相当的关系。

这些定义我们都要调研并详细讨论。

当然还有很多很多

比如是否在超过某速度时提供声音提醒。

安全带没系的情况下是否禁止启动发动机。

14 juin

不要做浮躁的嵌入式系统工程师【转】

1、不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么,当你自己想出来再参考别人的提示,就会知道自己和别人思路的差异。
2、初学者请不要看太多的书,那会误人子弟的,先找一本好书系统的学习。
3、看帮助。不要因为很难,而自己又是初学者所以就不看。帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,或不够直观。
4、不要被一些专用词汇所迷惑,最根本的是先了解最基础知识。
5、不要放过任何一个看上去很简单的小问题--它们往往并不那么简单,或者可以引申出很多知识点,不会举一反三你就永远学不会。
6、知道一点东西,并不能说明你会用,会用是需要实践经验和时间积累的。
7、入门并不难,难的是长期坚持实践和不遗余力的学习和实践。
8、看再多的书是学不会用的,要多实践,多动手。
9、把时髦的技术挂在嘴边,还不如把基本的技术记在心里。
10、在任何时刻都不要认为自己手中的书已经足够了。  
11、看得懂的书,请仔细看;看不懂的书,请硬着头皮看。
12、别指望看第一遍书就能记住和掌握什么--请看第二遍、第三遍。。。
13、请把书上的例子亲手去实践一下。
14、把在书中看到的有意义的例子进行扩充,并将其运用到自己的设计中。
15、不要漏掉书中任何一个练习和实践--请全部做完并记录下思路。
16、别心急,应用确实不容易,水平是在不断的实践中完善和发展的。
17、每学到一个知识点的时候,尝试着对别人讲解这个知识点并让他理解--你能讲清楚才说明你真的理解了。
18、记录下在和别人交流时发现的自己忽视或不理解的知识点。
19、保存好你做过的所有的源文件----那是你最好的积累之一。
20、对于网络,还是希望大家能多利用一下。很多问题不是非要到论坛来问的,首先你要学会自己找答案,比如google、百度都是很好的搜索引擎,你只要输入关键字就能找到很多相关资料,别老是等待别人给你答案,看的出你平时一定也很懒!
21、到一个论坛,你要学会去看以前的帖子,不要什么都不看就发帖子问,也许你的问题早就有人问过了,你再问,别人已经不想再重复了。做为初学者,谁也不希望自己的帖子没人的。
22、虽然不是打击初学者,但是这句话还是要说:论坛论坛,就是大家讨论的地方,如果你总期望有高手无偿指点你,除非他是你亲戚!!!讨论者,起码是水平相当的才有讨论的说法,如果水平真差距太远了,连基本操作都需要别人给解答,谁还跟你讨论呢。
 
浮躁的人容易问:我到底该学什么?
--别问,学就对了!
浮躁的人容易问:有钱途吗?
--建议你去抢银行算了!
浮躁的人容易说:我要中文版!我英文不行!
--不行?学呀!
浮躁的人分两种:
只观望而不学的人;
只学而不坚持的人。
浮躁的人永远不是(也成不了)一个高手。
 
每天读一遍,思考一下:我是否浮躁? 
 
以上内容,来源于网络
PS:虽然标题是“不要做浮躁的嵌入式系统工程师”,但是我感觉适用于所有的软件工程师。大家一起努力吧!
10 juin

12小组成立了!

第12小组的成员、角色分配和联系方式如下:

学号           姓名        角色      邮箱                                          专业
10717347  叶萌         PM     
10717347@pub.ss.pku.edu.cn   嵌入式  
A0717058  陈晴朗     开发     A0717058@pub.ss.pku.edu.cn   嵌入式
A0717377  封诚        开发     A0717377@pub.ss.pku.edu.cn     软开
G0717024  王维        开发     G0717024@pub.ss.pku.edu.cn    软开 
A0717385  何丁丁     测试     A0717385@pub.ss.pku.edu.cn   嵌入式     
G0717023  丘永骞     测试    
G0717023@pub.ss.pku.edu.cn    软开     
由于小组成立较晚,还没有很好的交流。之后我们会尽快为小组起个名字,细化分工。
大家合作愉快!微笑