专题5:Jackson设计方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

System Development, JSD) JSD是20世纪80年代Jackson提出的方法; 由JSP( Jackson Structured Programming )发展而来; 核心思想:由数据结构,建立目标系统的 模型,并演化为相应的程序结构;
4
Jackson设计方法
3 基本特点
顾客 号码组
{ {
日期 **** ****
……
交易额 **** ****
……
老结余 **** ****
……
新结余 **** ****
……
XXXXXX YYYYYY YYYYYY
……
**** **** ****
……
**** **** ****
……
**** **** ****
……
**** **** ****
举例:信用卡记账
支付 账册 行用卡记帐 顾客 主账册 记帐报告
11
步骤1:确定输入输出数据的逻辑结构
支 付 帐 册
支付帐册
顾客号码 XXXXX 顾客 号码组 { XXXXX …… XXXXX YYYYY 顾客 号码组 { YYYYY …… YYYYY ……
12
Baidu Nhomakorabea
支付日期 ***** ***** …… ***** ***** ***** …… ***** ……
计算交易总计
计算结余总计
计算结余
16
处理老 结余
计算新 结余
步骤3:用伪代码写出算法
A A seq do B; do C; end B (b)选择型 A A select do B; or do C; A end A A iter(while) until do B; end
A B (a)顺序型 C
Jackson设计方法
说明
Jackson方法强调数据结构,并由此
获得程序结构; 一般适用于详细设计; 往往和其他各种方法配合使用;
19
结束
6
Jackson设计方法
Warnier图
一种表示信息层次结构的图示方法; 例如,一种典型的报纸含
¾首版(标题新闻、国内新闻、本地新闻) ¾商业金融版(股市行情、商业新闻、广
告) ¾文化体育版(文化体育新闻、散文、新 书评论)
7
Jackson设计方法
Warnier图示例
首版 报纸
标题新闻 国内新闻 本地新闻
以数据结构作为软件设计的基础; 有信息对象的层次结构映射为层次的组织
结构;
产生软件的过程性描述(适合于详细设
计),对模块化不予特别考虑(是副产 品)。
5
Jackson设计方法
适用范围
对于具有明显层次信息结构的应用特
别有效,如企事业信息系统;
对科学与工程计算、计算机辅助教学、
组合问题求解等领域的应用也很适用;
面向数据结构系统开发方法(Data
Structure System Development, DSSD) DSSD源于20世纪70年代Warnier的重要 贡献; 核心思想:三种基本的结构,并可推出程 序结构; Ken Orr作了重要的补充
3
Jackson设计方法
2 JSD
Jackson系统开发方法(Jackson
支付金额 ***** 支付文件 ***** …… ***** ***** ***** …… ***** …… * 顾客号码组 *
支付记录
顾客主帐册 顾客主文件 顾客帐号 结余 顾客号码记录 *
XXXXX YYYYY
***** *****
结余
13
记帐报告 顾客号码 XXXXXX XXXXXX
……
顾客 号码组
商业金融版 股市行情(0,1) 商业新闻 广告(1,5) 文化体育新闻 文化体育版 散文 新书评论
8
Jackson设计方法
数据结构图
三种基本的结构
¾顺序、选择、重复
A A S1 B C B0 C0 A I1 B*
9
Jackson图表示复杂的结构
A
B*
*
C*
D
E
10
F
Jackson设计方法
由数据结构导出过程的结构
A B* (c)重复型
C
17
18
PROCESS_CUST_DATA seq Open PAY FILE: open CUST M FILE; {分别打开支付文件和顾客主文件} PROCESS_CNO_GROUP iter until eof:PAY_FILE; {处理顾客号码组} Read PAY FILE: {读支付文件一个记录) PROCESS_CNO; {读顾客主文件一个记录,找老结余} PROCESS PAY RECORD iter until end:CNOGROP: {处理顾客号码组中每个支付记录} write report line; {写出报告行} compute total payments; {计算总支付额} read PAY_FILE; {读支付文件下一个记录} PROCESS PAY RECORD end; {一位顾客数据处理完} COMPUTE CUST_TOTAL; {计算顾客总数} COMPUTE_BALANCE seq {计算结余} PROCESS_OLD_BALANCE; {处理老结余} COMPUTE_NEW_BALANCE; {计算新结余} Write report line; {写出报告行} COMPUTE_BALANCE end; {计算结余完毕} PROCESS CNO_GROUP end; {支付文件处理完成} PROCESS CUST DATA end: {Substructure PROCESS CUST DATA}
软件工程模型与方法
专题5: Jackson设计方法
Topic: Jackson System Development
面向数据结构的 软件开发方法
用工程化的方法开发软件系统
Jackson设计方法
本讲要点
面向数据的分析、设计方法 基本特点 面向数据结构的设计开发方法
2
Jackson设计方法
1 DSSD
……
YYYYYY
……
****
……
****
……
****
……
****
……
总计
14
****
****
记帐报告
顾客数据
店方总计
顾客号码组
交易总计
结余总计
支付记录
顾客总计
结余
老结余
15
新结余
步骤2:导出程序结构图
处理支付文件和顾客主 文件,给出记帐报告
处理 顾客数据
处理店方总计
处理 * 顾客号码组 处理支 * 付记录 计算顾 客总计
相关文档
最新文档