作者garywine1201 (讲话要中肯才有健康LP)
看板CSSE
标题Re: [问题] 这是关於component-level design的一些 …
时间Sun Apr 29 21:32:58 2007
※ 引述《maxe (gt)》之铭言:
: 最近自学软体工程
: 我看的事 software Engineering:A practition's approach 5/e
: 中文翻作 软体工程 -实物专家做法
: 其中有张投影片 怎麽看都看不懂
: 不知哪位大哥能解说一下
: ps.这边问这种问题违反板规吗?
: 以下为投影片内容
: 标题: Algorithm design
: 1.the closest design activity to coding
: 2.the approach:
: -review the design description for the component
: 回顾元件的设计叙述?? 在这的意思是要去了解元件 然在在做演算法的设计吗?
: -use stepwise refinement to develop algorithm
: 使用逐步细分的方式开发演算法(这比较能懂)
: -use structured programming to implement procedural logic
: 用结构化的程式设计去实作程序逻辑? 程序逻辑是?
: 又与structured programming的关系是??
: -use 'formal methods' to prove logic
: 使用正式方法去验证逻辑??所谓的formal methods是??
: 是有某位人物发明这个方法??
: 还是说用中规中矩的方式来验证逻辑~~此处的逻辑又是谁的逻辑呢
: 演算法的逻辑吗?
你好,我想我大概了解你的问题,
我也尽量就我所学的回答你,
如果有任何错误的地方请见谅。
首先,一般软体工程开发,应该是先将大的系统切割成细小的部份,
这点应该没有甚麽问题。投影片也应该是从这边开始的。
系统分部後会依照不同的功能被切割为元件。
这里的元件看是依照物件导向方式设计还是依照结构导向设计,
会有不同的描述机制或是工具,如果是前者,那麽应该会有程序描述文件
,如果是後者计,则每个被切割的类别通常会给予一张CRC卡。
投影片的目的应该是指你必须先确切的了解设计文件与需求文件,
然後才去实做这部份的演算法。
在PSP(个人软体程序)的训练当中,也是要求先熟悉所有的要求与文件描述,
然後设定工作脚本(script),才接着设计演算法的。
这边的Procedure Logic指的便是你的演算法。
在任何分部模组或程序完成之後,有一些验证方式将会被使用,
formal method 指的是合乎规范的测试流程。
所有的Test都是为了符合V&V。
这些测试流程通常会有以下几个分类:
1. 黑箱与白箱测试 (通常这个部份就会测试逻辑与结果了)
2. Alpha与Beta测试
3. Unit Testing
4. Integration testing:包含回归测试或烟雾测试法。
5. System Testing : 包含压力测试,复原测试,安全测试以及效能测试。
有些测试必须使用测试个案(Test Cases)
测试个案的多寡则取决於程序的循环复杂度。
测试个案的数量必须大於等於程序的循环复杂度,以求每个决策点之逻辑无误。
我想这就是所谓的formal method。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.138.33.173
1F:推 maxe:谢谢你详细的解说 让我懂了九成以上 还补充我所没问到的 04/30 21:45
2F:→ maxe:真的是感激不尽 04/30 21:46