4 详细设计
第04章软件工程的详细设计
第四章软件项目的详细设计人机界面设计详细设计说明书4.1详细设计的任务与原则详细设计的目的:为软件结构图(SC)中的每一个模块确定采用的算法和模块内数据结构,用某种选定的表达工具给出清晰的描述。
详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。
因此,详细设计的结果基本上决定了最终的程序代码的质量。
考虑程序代码的质量时必须注意,程序的“读者”有两个,那就是计算机和人。
一、详细设计的主要任务•:•二、详细设计的原则■1、模块的逻辑描述要清晰易读、正确可靠;■2、采用结构化设计方法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。
■3、选择恰当的描述工具来描述各模块算法•:•一.结构化程序设计的概念•:•结构程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。
•:•为了提高软件的质量,延长软件的生存期,软件的可测试性、可维护性是重要保障。
软件的可测试性、可维护性与程序的易读性有很大关系。
详细设计的目标不仅是逻辑上正确地实现每个模块的功能,还应使设计出的处理过程清晰易读。
结构化程序设计是实现该目标的关键技术之它指导人们用良好的思想方法开发易于理解、易于验证的程序。
•二、结构化程序设计的优点1.可以显著提高软件开发工程的成功率和生产率。
2.程序有清晰的层次结构,因此容易阅读和理解。
3.开发时比较容易保证程序的正确性,即使出现错误也比较容易诊断和纠正。
4.源程序清晰流畅,易读易懂而且容易测试。
5.程序清晰和模块化使得在修改和重新设计一个软件时可以重用的代码量最大。
6.程序的逻辑结构清晰,有利于程序正确性证明。
•:•三、结构化程序的控制结构•:・1、基本控制结构■顺序:先执行A再执行B■选择:IF_THEN_ELSE 型■循环:DO_WHILE型循环结构•:・2、扩展控制结构■多分支CASE结构■ DO-UNTIL循环结构结构程序的要点■ 1、尽量少用GOTO语句■2、使用单入口单出口的控制结构,确保程序的静态结构与动态执行情况一致,保证程序易于理解■3、程序控制结构一般采用顺序、选择、循环三种结构来构成,确保结构简单■4、采用自顶向下逐步求精方法完成程序设计•描述程序处理过程的工具称为过程设计工具,它们可以分为图形、表格、和语言3类。
软件工程导论第章详细设计
软件工程导论第章详细设计什么是详细设计详细设计(详设)是软件工程开发过程中的一个阶段,它在需求分析、概要设计之后,向开发人员提供了实现程序模块的技术性设计,包括算法、数据结构、类设计、数据库设计等。
详细设计是概要设计的实现描述,可以说是概要设计在技术层面上的具体实现方案。
详细设计的主要任务是将概要设计中的概括性和抽象性描述转化为具体的数据结构和程序实现,为程序员提供清晰而具有技术可行性的设计思路,对于开发人员和项目管理人员来说,详细设计是一个实现程序的重要规划蓝图。
具体地说,详细设计需要包含以下内容: - 详细的模块设计文档 - 数据结构的定义 - 数据库的设计和实现方案 - 详细的程序流程图和算法描述 - 功能模块测试用例 - 视图、用户界面和用户操作设计详细设计的意义详细设计是软件工程过程中不可或缺的一个阶段,它具有以下重要意义:1. 提高程序设计质量详细设计提供了对程序模块实现技术和方法的规范描述,能够帮助程序员更加清晰地了解系统的结构和技术实现。
详细设计一旦完成,开发人员就可以按照文档中的设计思路进行编码,这样不仅可以提高代码的效率和质量,还能避免不必要的代码优化和重构。
2. 避免系统漏洞通过详细设计,可以确保需要实现的每一个模块都有规范的设计文档,并且每个模块都被明确的标记,程序员能够避免系统漏洞、代码重复和冲突等问题。
3. 提升工作效率详细设计使得开发人员能够更加系统化和规范化的进行编码,避免返工、重复或无效的工作,最终提升项目的开发效率和工作质量。
4. 方便项目管理详细设计文档可以作为项目管理的工作依据,包括项目计划、进程控制和编码标准的制定。
详细设计可以帮助管理人员了解整个项目的实现思路和技术路线,从而更好的进行计划和控制。
详细设计的步骤详细设计的步骤通常可以分为以下几个阶段:1. 定义模块详细设计阶段首先需要对要实现的每个需求模块进行定义和规划,包括模块名称、模块功能描述、模块输入输出、异常处理等等。
第4章详细设计
4.1详细设计的任务与原则
3. 模块的接口设计 包括对系统外部的接口和用户界面,对系统内部 其他模块的接口,以及模块输入数据、输出数据及局 部数据的全部细节。在详细设计结束时,应该把上述 结果写入详细设计说明书,并且通过复审形成正式文 档,作为编码阶段的工作依据。 4. 模块的测试用例设计 要为每一个模块设计出一组测试用例,这样可以 在编码阶段对模块代码(即程序)进行预定的测试,模 块的测试用例包括输入数据、期望输出等内容。负责 过程设计的软件人员对模块的情况了解得最清楚,由 他们完成过程设计后接着对各个模块进行测试最为合 适。
4.1详细设计的任务与原则
5. 模块的其他设计 根据软件系统的具体的要求,还可能进行以下设 计:代码设计、网络系统设计、输入/输出格式的设计、 系统配置的设计等。 6. 编写“详细设计说明书” 在详细设计结束时,应该把上述设计结果写入详 细设计说明书,对“详细设计说明书”进行评审。如 果评审没有通过,要再次进行详细设计,直到满足要 求为止。通过复审的详细设计说明书形成正式文档。 交付给下一阶段(编码阶段)并成为其工作依据。
4.1详细设计的任务与原则
2. 采用结构化设计方法 采用结构化设计方法,可以改善控制结构,降低 程序的复杂程度,提高程序的可读性、可测试性、可 维护性。其基本内容在下一节中介绍。 3. 选择恰当描述工具来描述各模块算法 算法表达工具可以由开发单位或设计人员自由选 择,但它必须具有描述过程细节的能力,而且在编码 阶段能够直接翻译为程序设计语言书写的源程序。
4.1详细设计的任务与原则
这一阶段的主要任务有: 1. 模块的算法设计 为每个模块进行详细的算法设计,写出模块的详 细过程性描述。即用某种图形、表格、语言等工具将 每个模块处理过程的详细算法描述出来。 2. 模块的数据设计 对于需求分析、概要设计确定的概念性的数据类 型进行确切的定义。数据设计包括数据结构设计、数 据库结构设计和文件设计等。
详细设计的描述方式
详细设计的描述方式一、引言详细设计是软件开发过程中非常重要的一环,它是在需求分析和概要设计的基础上,对系统进行更加具体和细致的设计。
详细设计不仅为程序员提供了开发代码的指导,也为测试人员提供了测试用例的依据。
本文将从需求分析、概要设计和详细设计三个方面来介绍详细设计的描述方式。
二、需求分析在进行详细设计之前,我们需要对需求进行充分的分析。
需求分析主要包括以下几个方面:1. 功能需求:明确系统需要实现哪些功能。
2. 非功能需求:明确系统需要满足哪些性能、可靠性、安全性等非功能方面的要求。
3. 用户界面:明确用户界面应该如何呈现。
4. 数据库设计:明确系统需要使用哪些数据库及其结构。
三、概要设计在完成需求分析之后,我们需要进行概要设计。
概要设计主要包括以下几个方面:1. 架构设计:确定系统采用哪种架构以及各模块之间的关系。
2. 接口定义:定义各模块之间的接口及其参数、返回值等信息。
3. 数据流图:画出数据流图以及数据流图与模块之间的关系。
4. 流程图:画出各个功能模块的流程图。
四、详细设计在完成概要设计之后,我们需要进行详细设计。
详细设计主要包括以下几个方面:1. 类图:画出系统中所有类及其之间的关系。
2. 序列图:画出各个功能模块之间的交互过程。
3. 数据库表结构:定义数据库表结构以及表之间的关系。
4. 界面设计:定义用户界面的布局、颜色、字体等信息。
五、代码实现在完成详细设计之后,我们就可以开始进行代码实现了。
在编写代码时,我们需要尽可能地按照详细设计中定义的规范来编写代码。
此外,还需要注意以下几点:1. 变量命名:变量名应该具有描述性,易于理解,不应该使用缩写或简写。
2. 函数命名:函数名应该具有描述性,易于理解,并且应该遵循驼峰命名法。
3. 注释:注释应该清晰明了,并且应该尽可能地覆盖到每一个函数和变量。
4. 异常处理:对于可能发生异常的情况,我们需要进行相应的异常处理。
六、测试和调试在完成代码实现之后,我们需要对系统进行测试和调试。
详细设计的内容包括
详细设计的内容包括详细设计,是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。
在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的软件系统产品。
(1)程序流程图。
程序流程图又称为程序框图,是使用最广泛然而也是用得最混乱的一种描述程序逻辑结构的工具。
它用方框表示一个处理步骤,菱形表示一个逻辑条件,箭头表示控制流向。
其优点是:结构清晰,易于理解,易于修改。
缺点是:只能描述执行过程而不能描述有关的数据。
(2)盒图。
盒图是一种强制使用结构化构造的图示工具,也称为方框图。
其具有以下特点:功能域明确、不可能任意转移控制、很容易确定局部和全局数据的作用域、很容易表示嵌套关系及模板的层次关系。
(3)PAD图。
PAD是一种改进的图形描述方式,可以用来取代程序流程图,比程序流程图更直观,结构更清晰。
最大的优点是能够反映和描述自顶向下的历史和过程。
PAD提供了5种基本控制结构的图示,并允许递归使用。
PAD的特点有:使用PAD符号设计出的程序代码是结构化程序代码;PAD所描绘的程序结构十分清晰;用PAD图表现程序的逻辑易读、易懂和易记;容易将PAD图转换成高级语言源程序自动完成;即可以表示逻辑,也可用来描绘数据结构;支持自顶向下方法的使用。
(4)PDL。
PDL也可称为伪码或结构化语言,它用于描述模块内部的具体算法,以便开发人员之间比较精确地进行交流。
语法是开放式的,其外层语法是确定的,而内层语法则不确定。
外层语法描述控制结构,它用类似于一般编程语言控制结构的关键字表示,所以是确定的。
内层语法描述具体操作,考虑到不同软件系统的实际操作种类繁多,内层语法因而不确定,它可以按系统的具体情况和不同的设计层次灵活选用,实际上任意英语语句都可用来描述所需的具体操作。
用它来描述详细设计,工作量比画图小,又比较容易转换为真正的代码。
PDL的优点:可以作为注释直接插在源程序中;可以使用普通的文本编辑工具或文字处理工具产生和管理;已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
软件工程课程设计-4-详细设计
类型
说明
course_name
char
编号
teacher_name
char
名称
2.4.5 算法
图2.4.5查询按钮按下事件算法图
2.5 导师查询模块
2.5.1 模块概述
1.简要情况:本模块开放给导师。只有以导师或管理员权限登陆后,才能进入此模块,其他用户无法进入本模块。进入模块以后,导师可以按姓名查询学生、按班级查询学生、按工号查询各导师信息和按导师学生查询所带学生信息。
2.确定按钮按下事件:
图2.6.5.2确定按钮按下事件算法图
2.7 学生用户查询模块
2.7.1 模块概述
1.简要情况:
该模块用于新生入校后对相关信息进行查询,包括个人基本信息查询,个人入学流程查询,通过该查询,新生可以及时了解到自身入学流程的进度情况。新生导师查询。新生所在班级信息查询。
2.3.2 模块处理流程设计
2.3.3 模块界面设计
2.3.4 局部数据结构
名称
类型
说明
course_no
char
编号
course_name
char
名称
course_hour
int
学时
course_credit
int
学分
2.3.5 算法
图2.3.5查询按钮按下事件算法图
2.4 授课管理模块
Int
联系方式
CLASS_NAME
Char
班级
ADDRESS
Char
家庭地址
TNAME
Char
导师姓名
TNO
Int
导师工号
TSEX
Char
导师性别
TLEVEL
《详细设计》PPT课件
Jackson图有下述优点:
便于表示层次结构,而且是对结构进行自顶向下 分解的有力工具。
形象直观可读性好。
既能表示数据结构也能表示程序结构。
5.3.2 改进的Jackson图
上面介绍的Jackson图的缺点是,用这种图形工具 表示选择或重复结构时,选择条件或循环结束条件不 能直接在图上表示出来,影响了图的表达能力,也不 易直接把图翻译成程序,此外,框间连线为斜线,不 易在行式打印机上输出。
5.5 程序复杂程度 的定量度量
定量度量程序复杂程度的方法很有价值: 把程序的复杂程度乘以适当常数即可估算出软 件中故障的数量以及软件开发需要用的工作量, 定量度量的结果可以用来比较两个不同的设计 或两个不同算法的优劣;程序的定量的复杂程 度可以作为模块规模的精确限度。
程序结构图的适当位置。
首先,列出统计空格个数需要的全部操作和条件如
下:
(1)停止
(2)打开文件
(3)关闭文件
(4)印出字符串
(5)印出空格数目
(6)印出空格总数
(7)sum : =sum+1
ห้องสมุดไป่ตู้
(8)totalsum : =totalsum+sum
(9)读入字符串
(10)sum : = 0
(11)totalsum : = 0
与上表判定表对应的判定树如下:
5.2.6 过程设计语言(PDL)
PDL也称为伪码,它是用正文形式表示数据和处理 过程的设计工具。
PDL具有严格的关键字外部语法,用于定义控制结 构和数据结构,然而,PDL表示实际操作和条件的内部 语法通常又是灵活自由的,以便可以适应各种工程项 目的需要,它使用一种语言的词汇,却使用另一种语 言的语法。
第4节详细设计
表头
固定表率用户 可变比率用户
职工用水收费处理表
N Y N Y N Y Y N Y N N Y Y N Y N √ √ √
条件桩
季度用水<60T 季度用水≥60T 按固定表率收费
条件 条目
动作桩
按表1中的比率计算费用 按表2中的比率计算费用 √
动作 条目
3. 判定表与判定树
判定表 判定表可以把复杂的条件组合和应执行动作的对应关 系描述清楚。
重点大学计算机专业系列教材
现代软件工程
陈松乔 任胜兵 王国军 编著
清华大学出版社
第4章详细设计
概要设计确定了软件系统的总体结构,详细设 计又称过程设计是对概要设计结果进一步细化, 给出目标系统的精确描述,以便在编码阶段直接 翻译成计算机上能够运行的程序代码。 例如:在概要设计中有模块要求排序,到详细 设计阶段,就要给出排序的具体算法。是采用冒 泡排序、插入排序、直接选择排序还是归并排序, 用程序流程图或PDL语言或其他工具详细描述算 法。 本章主要介绍详细设计的目标、任务、图形描 述工具以及一些详细设计方法。
层次图
仓库管理 系统
进仓 处理
出仓 处理
数据 处理
查询
统计
报表 打印
HIPO图
系统名称: 仓库管理系统 模块名称: 数据处理 模块编号: 3
被调用:仓库管理系统
作者: 陈成功 日期: 2006/6/26
调用:查询、统计、报表打印
输入:数据处理事务
输出:查询信息、统计结果、 报表
处理: 根据输入的事务类型分别进行查询、统计或报表打印处理。
√
√
√ √ √
√
√
2 √
√
√ √ √ √
《详细设计》课件
1
系统安全需求
分析系统所需的安全性能和保障要求,确保系统的数据和功能安全。
2
安全保障措施
制定系统的安全保障措施,包括身份验证、权限控制、数据加密等。
3
安全控制策略
设计系统的安全控制策略,监控系统的安全状态并及时应对安全威胁。
八、性能设计
1 系统性能需求
明确定义系统的性能要求,如响应时间、并发能力等。
设计用户界面的交互方式,包括按钮、输入框、菜单等交互元素的设计。
六、数据设计
数据表设计
设计系统的数据库表结构, 定义每个表的字段和关系。
数据表之间的关系
描述数据表之间的关系和约 束条件,确保数据一致性和 完整性。
数据表数据类型说明
说明每个字段的数据类型和 长度限制,确保数据的准确 性和可用性。
七、安全设计
模块流程图
描述模块之间的通信和交互方式, 确保模块间的信息流畅。
使用流程图展示模块内部的流程 和处理逻辑,方便开发者理解和 实现。
五、界面设计
1 界面原型图
制作系统的交互原型和界面设计,确保用户界面的友好和易用。
2 界面设计规范
制定界面设计规范,包括颜色搭配、字体选择、布局等方面的规范。
3 界面交互设计
1
系统架构图
设计系统的整体结构图,涵Leabharlann 各个模块和其之间的关系。2
系统组成模块
描述系统中各个模块的功能和职责,确保模块的高内聚低耦合。
3
模块功能介绍
详细介绍每个模块的功能和实现方法,确保模块能够顺利集成。
四、系统模块划分
模块划分
对系统进行模块划分,明确每个 模块的职责和功能,实现模块化 开发。
模块之间的交互
软件设计 4详细设计报告 模版
密级:普诵文档编号:SDD 分册名称:第1版第1册/共1册项目名称项目编号详细设计报告编写:校对:审核:批准:生效日期:年月曰南华大学计算机应用研究所详细设计报告2/6文件修改控制详细设计报告 3 / 6目录1.弓1言.......................................................................... ............................ 4.1.1 目的 .................................................................... ........................... 4.1.2 背景 .................................................................... ........................... 4.1.3 术语 .................................................................... ........................... 4.1.4 人员 .................................................................... ........................... 4.1.5 参考资料: ............................................................ ............................ 4..2.系统概述 ....................................................................... ........................... 4..2.1 适用范围及系统特性简要说明 .................................... ............................ 4.2.2 子系统及其模块的划分 ............................................... ........................... 4..2.3 系统运行环境 .......................................................... ............................ 4.3.文件一览 ....................................................................... ........................... 5..3.1 系统运行文件一览 .................................................. ........................... 5.3.2 源程序文件一览 ..................................................... ............................ 5.3.3 函数、类、事件一览(可选)................................. ............................ 5.4.数据库结构 .................................................................... ...........................5..5.可重用子系统或模块 ......................................................... ............................6.6.总结与展望 .................................................................... ............................ 6..1.引言1.1目的说明编写本《详细设计报告》的目的\.2冃^景说明理解本报告所需的背景,如与公司其它软件之间的联系等。
详细设计书4-车辆使用管理模块.
备注
4.待批申请
(1) 功能简述 该页面用来显示所有等待批准的车辆申请记录,点击每条记录最后的“详细信息”链接,就可以打开 “车辆申请详细信息”页面,查看该条申请的详细信息。点击下方的“申请车辆”按钮,就可以打开“车 辆申请”页面,进行车辆使用申请。
(2) 控件布局
图 1.4 待批申请界面
控件名称 GridView1
M KeyValue_KSSJ KeyValue_JSSJ KeyValue_MDD KeyValue_LC KeyValue_SQR
KeyValue_DDY KeyValue_SY
KeyValue_BZ
TextBox TextBox DropDownList TextBox TextBox TextBox TextBox TextBox
显示已批准的申请记录列表 页面切换控件
Button Button
value=" 申 请 车 辆" value="打印"
【申请车辆】按钮 打开车辆申请页面 【打印】按钮 启动打印程序
6.使用中车辆
(1) 功能简述 该页面用来显示当前正在使用的车辆信息,点击每条记录最后的“详细信息”链接,就可以打开“车 辆申请详细信息”页面,查看该条申请的详细信息。点击下方的“申请车辆”按钮,就可以打开“车辆申 请”页面,进行车辆使用申请。
7.未准申请
(1) 功能简述 该页面用来显示未被批准的车辆申请记录,点击每条记录最后的“详细信息”链接,就可以打开“车 辆申请详细信息”页面,查看该条申请的详细信息。点击下方的“申请车辆”按钮,就可以打开“车辆申 请”页面,进行车辆使用申请。
(2) 控件布局
图 7 未准申请界面
控件名称 GridView1
设计流程的四个部分
设计流程的四个部分下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!设计流程的四个部分:1. 规划与研究(Planning and Research),确定问题、目标和限制,收集信息并进行用户研究。
毕业设计详细设计写什么
毕业设计详细设计写什么毕业设计是大学生在完成学业的最后一道考验,也是展示自己专业能力的重要机会。
在完成毕业设计之前,详细设计是不可或缺的一步。
详细设计是对毕业设计的具体实施方案进行详细规划和设计,包括技术方案、系统设计、功能模块划分、数据库设计等。
本文将从不同角度探讨毕业设计详细设计的内容和重要性。
首先,毕业设计详细设计需要明确技术方案。
技术方案是指在毕业设计中采用的技术手段和方法。
通过详细设计,我们可以确定使用哪些编程语言、开发工具和框架来实现设计的功能。
例如,如果我们的毕业设计是一个网页应用程序,我们可以选择使用HTML、CSS和JavaScript来开发前端界面,使用Java或Python来开发后端逻辑。
在详细设计中,我们需要仔细分析每个技术选项的优缺点,选择最适合我们设计的技术方案。
其次,详细设计需要进行系统设计。
系统设计是指对毕业设计中的各个模块和组件进行详细划分和设计。
通过系统设计,我们可以将整个毕业设计划分为多个功能模块,每个模块负责一个具体的功能。
例如,如果我们的毕业设计是一个学生信息管理系统,我们可以将系统划分为学生管理模块、课程管理模块、成绩管理模块等。
在详细设计中,我们需要定义每个模块的功能和接口,确保它们能够协同工作,实现整个系统的目标。
另外,详细设计需要进行功能模块划分。
功能模块划分是指将系统设计中的各个模块进一步划分为更小的功能单元。
通过功能模块划分,我们可以更加详细地定义每个功能的实现方式和输入输出要求。
例如,在学生管理模块中,我们可以将学生信息录入、查询、修改和删除等功能划分为不同的子模块。
在详细设计中,我们需要明确每个功能模块的输入参数、输出结果和实现逻辑,确保每个功能模块都能够独立运行,并且能够与其他功能模块进行交互。
最后,详细设计需要进行数据库设计。
数据库设计是指对毕业设计中需要使用的数据库进行详细规划和设计。
通过数据库设计,我们可以确定需要创建哪些表格、定义哪些字段,并且确定它们之间的关系。
《Java项目开发实训教程》课件 第4阶段 系统详细设计与编码概述
“图书管理系统”视图层、控制层和模型层的关系表
视图层 (发出请求)
控制层 (业务控制)
模型层 (数据处理)
登录模块: 1.发出用户登录请求 2.请求打开系统主界面
1.按照用户名和密码获取用户对象
1.对用户表进行查询处理
第 10 页 共 17 页
第4阶段 系统详细设计
二、“图书管理系统”详细设计概述
修改用户密码模块: 1.发出修改用户密码请求
读者维护模块: 1.发出添加读者请求 2.发出修改读者请求 3.发出删除一个读者请求 4.发出删除全部读者请求 5.发出查询读者请求
1.修改指定用户对象的密码
1.添加指定读者对象 2.修改指定读者对象 3.删除指定读者对象 4.删除全部读者对象 5.查询读者对象 ① 按照读者编号获取一个读者对象 ② 获取全部读者对象
视图层 (发出请求)
用户维护模块: 1.发出添加用户请求 2.发出修改用户请求 3.发出删除一个用户请求 4.发出删除全部用户请求 5.发出查询用户请求
控制层 (业务控制)
1.添加指定用户对象 2.修改指定用户对象 3.删除指定用户对象 4.删除全部用户对象 5.查询用户对象 ① 按照用户编号获取一个用户对象 ② 按照用户名称获取一个用户对象 ③ 获取全部用户对象
第 3 页 共 17 页
第4阶段 系统详细设计
一、系统详细设计概述
在详细设计阶段要对系统设计阶段中定义的所有功能模块进行更为精确的 结构化及层次化的描述。通过对各模块功能的分析,提炼出实现的逻辑, 并画出页面流程图。之后按照视图层、控制层、模型层分别进行功能设计 及接口定义。其基本步骤如下:
第1步:模块分析 第2步:视图层分析 第3步:控制层分析 第4步:模型层分析
项目四 详细设计60页文档
2、要冒一次险!整个生命就是一场冒险。走得最远的人,常是愿能从岸边走远。-戴尔.卡耐基。
梦 境
3、人生就像一杯没有加糖的咖啡,喝起来是苦涩的,回味起来却有 久久不会退去的余香。
项目四
详细设计4、守业的最好办法就是不断的发展。 5、当爱不能完美,我宁愿选择无悔,不管来生多么美丽,我不愿失 去今生对你的记忆,我不求天长地久的美景,我只要生生世世的轮 回里有你。
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
项目四 详细设计
9
4.其他设计
• 根据软件系统的类型,还可能要进行以下设计。 • (1)代码设计:为了提高数据的输入、分类、存 储及检索等操作的效率,以及节约内存空间,对 数据库中的某些数据项的值进行代码设计。如:年 级代码08,专业代码13 • (2)输入/输出格式设计:针对各个功能,根据 界面设计风格,设计各类界面的式样。 • (3)人机对话设计:对于一个实时系统,用户与 计算机频繁对话,因此要进行对话方式内容及格 式的具体设计。
13
(2) 使用三种基本控制结构构造程序
任何程序都可由顺序、选择及重复三种基本控制结构构造。 这三种基 本结构的共同点是单入口、单出口。它不但能有效地限制使用GOTO语句, 还创立了一种新的程序设计思想、方法和风格,同时为自顶向下、逐步求 精的设计方法提供了具体的实施手段。如对一个模块处理过程细化时,开 始是模糊的,可以用下面三种方式以模糊过程进行分解: ① 用顺序方式对过程分解, 确定各部分的执行顺序。 ② 用选择方式对过程分解, 确定某个部分的执行条件。 ③ 用循环方式对过程分解, 确定某个部分进行重复的开始和结束的条件。 对处理过程仍然模糊的部分反复使用以上分解方法, 最终可将所有细节确 定下来。
29
5.过程设计语言
• 过程设计语言(Process Design Language, 简称PDL) 也称结构化英语或伪代码,它使用结构化编程语言的 风格描述程序算法,但不遵循特定编程语言的语法。
例如,使用过程设计语言描述打印N!。 读入N 置F的值为1,置M的值为1 当M<=N时,执行: 使F=F*M 使M=M+1 打印F
处理1 处理2
T 条件 F Else 部分
循环条件
循环体
Then 部分
软件工程第4章 详细设计
2.盒图(Nassi-Shneiderman图)
盒图也称为N-S图,是由Nassi和Shneiderman按照结 构化的程序设计要求提出的一种图形算法描述工具。盒图 的基本符号如图4-3所示。
图4-3 盒图的基本符号
2017/9/4
2.盒图(Nassi-Shneiderman图)
逻辑验证(logic verification)
可编码能力(“code to”ability) 一般认为,PDL较好地组合了这组特性。流程图和盒 图能直观地表示控制流程;判定表因能精确地描述组合 条件与动作之间的对应关系,特别适用于表格驱动—类 软件的开发;其他一些设计工具也自有独到之处。经验
2017/9/4
21
4.4.2 设计复审
设计复审是指对设计文档的复审。
1.复审的指导原则
2.复审的主要内容 3.复审的方式
2017/9/4
22
4.5 面向数据结构的结构化设计方法
C.A.R.Hoare在“Notes on Data Structuring”(数据结构
札记)一文中,充分论证了算法和数据结构的关系,认为算法的
理解、 易于验证的程序。结构化程序设计方法有以下几个基
本要点。
2017/9/4 4
4.3.1 详细设计的方法
1.采用自顶向下、逐步求精的程序设计方法 2.使用三种基本控制结构构造程序
任何程序都可由顺序、选择及循环三种基本控制结构构造。如 对一个模块处理过程细化时,开始是模糊的,可以用下面三种方
再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。
这种组织形式突出了主程序员的领导作用,设计责任集中在少数人身 上,不仅有利于提高软件质量,而且能有效地提高软件生产率。这种
项目管理挣得值分析练习题4
挣得值分析练习一(0403)在认真分析本软件开发项目各项费用的基础上,最终制定的各项工作的费用预算修正结果如表1所示。
表1 项目各项工作费用预算修正结果及第1周至第20周实际发生的费用假设在软件开发项目进展过程中利用甘特图进行跟踪管理,图1表达了最终所确定的该项目从第1周到第20周的进度计划及实际进展状态。
从第1周至第20周已经完成的各项工作的实际费用如表1所示,并假设该项目的费用预算、实际费用支付及已完成工作量的费用预算都是均匀支付。
1.假设图1所列各项工作均已完成,请计算项目从第1周至第20周每周计划工作量累计预算费用(BCWS),每周已完工作量实际费用及累计实际费用(ACWP),每周已完工作量预算费用及已完工作量累计预算费用(BCWP),并将计算结果填入表2中。
并请至少写出某一周上述参数的计算过程。
2.计算第10周末与第20周末的费用偏差(CV)和进度偏差(SV),并根据计算结果分析项目的费用执行情况和进度执行情况。
图中:计划进度实际进度图1 软件开发项目计划进度与实际进度表2 软件开发项目费用计划及执行情况表(单位:万元)3.在图2中绘制出该项目第1周至第12周BCWS、BCWP、ACWP三个参数的变化曲线。
0 1 2 3 4 5 6 7 8 9 10 11 12(周)160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10费用(万元)图2 软件开发项目挣得值曲线练习二(0405)项目进度计划如图3所示,项目费用预算如表3所示。
假设各项工作的人力费用是均匀支付的,而固定费用在每项工作的头10天全部支付。
在项目进行中间对前180个工作日的项目进展进行小结,发现工作1、2、3、4、5、6、7、8、9全部完成,工作10进行了一半,而工作11、12还没有开始进行。
截止到第180个工作日,实际已支付的成本(ACWP)为2200千元。
表3软件开发项目的费用预算1.计算项目截止第180个工作日的挣得值(已完成工作量的预算成本BCWP)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2.1 程序流程图
1 顺序型结构 2.选择型结构 构 3. 循环型结
软件工程
5
入口aLeabharlann b FX2 X1T f
=1
X3
F
T g h
F
X4
T
i F
X5
=2 =3
c d
e
T F
X6
T
软件工程
----- 具有嵌套形式的程序流程图 6
4.2.2 N-S图
N-S 图是一种符合结构化程序设计原则的图形描 述工具,又称之为盒图。 特点: 1.功能域明确,可以从盒图上一眼就看出来。 2.不可能任意转移控制 3.很容易确定局部和全程数据的作用域 4.很容易表明嵌套关系,也可以表示模块的层 次结构。
软件工程
16
4.3 详细设计规格说明书与评审
• 4.3.1 详细设计说明书 内容主要包括: • 表示软件结构的图表; 对逐个模块的程序描述,包括算法和 逻辑流程。
软件工程
17
Enter a vector Set Maximum to the value of the first element in the vector DO for each second one to the last IF value of THEN element is greater than the Maximum value Set Maximum to value of the element ENDDO Print the Maximum value
• 4.4 详细设计文档写作范例
软件工程 1
4.1 详细设计的任务与原则
• 目的:为软件结构图中的每一个模块确 定使用的算法和块内数据结构,并用某 种选定的表达工具给出清晰的描述。
为每一模块确定算法 确定每一模块使用的数据结构 确定模块的外部接口和用户界面
软件工程
详细设计 阶段的主 要任务
为每一模块设计一组测试用例
输出 s[i]
end
软件工程 12
4.2.4 PDL (Program Design Language )
• 定义:一种用于描述功能模块的算法设计和加工 细节的语言,也称为过程设计语言。 • 特点: – 是一种伪码,用正文形式表示数据和处理过程。 –具有严格的关键字外部语法 –表示实际操作和条件的内部语法灵活自由 • 结论:PDL是一种“混杂”的语言 – 它使用某种自然语言的词汇, – 同时使用某种结构化的程序设计语言的语法
软件工程 7
4.2.2 N-S图
软件工程
N-S图的基本符号
8
零件号 库存量
10001 1000
10002 1250
10003 886
10004 69
10005 2020
10006 3450
建立零件库 (s数组), i=0 输入零件号 x
do while(x!=s[0][i])
Y
i++ x== s[0][i]) i++
软件工程 20
软件工程 10
4.2.3 PAD图的基本符号
软件工程
11
begin
s[17]~s[22]=0
while num(1-1000) age
输入 age
=17 =18 =19
s[17]++
s[18]++ s[19]++ s[20]++ s[21]++ s[22]++
=20
=21 =22
while i(17-22)
软件工程 15
4.2.4 PDL (Program Design Language )
作为设计工具的优点: 1. 可以作为注释直接插在源程序中间。 2. 可以使用普通的正文编辑程序或文字处理系 统,很方便地完成PDL的书写和编辑工作; 3. 已经有了自动处理程序的存在,可以自动由 PDL生成程序代码。 4. 可以做到逐步求精。
软件工程 19
4.4 详细设计文档写作范例
• 1. 引言 • 本 文 是 网 上 选 课 管 理 系 统 ( MSSCN,Management System For Select Course On Network)的详细设计说 明书。 • 1.1编写目的 • 本说明书用以描述网上选课管理系统(MSSCN)功能的具 体实现,是该系统设计人员、编程人员的开发依据, 亦是用户对系统的验收依据。 • 本说明书的使用者有:用户、管理人员、开发人员。 • 1.2背景 • (同概要设计说明书)
第4章 详细设计
• 4.1 详细设计的任务与原则
– 4.1.1 详细设计的任务 – 4.1.2 详细设计的原则
• 4.2 详细设计的方法
– – – – 4.2.1 程序流程图 4.2.2 N-S图 4.2.3 PAD图 4.2.4 PDL
• 4.3 详细设计规格说明书与评审
– 4.3.1 详细设计说明书 – 4.3.2 详细设计复审
软件工程 13
4.2.4 PDL (Program Design Language )
• 例4-1 用PDL描述查找错拼的单词的程序。 PROCEDURE spellcheck IS BEGIN split document into single words lood up words in dictionary display words which are not in dictionary create a new dictionary END spellcheck
软件工程
14
4.2.4 PDL (Program Design Language )
• 作为描述程序的逻辑设计语言的特点 : 1.有固定的关键字外语法,提供了结构化控制结 构、数据说明和模块特征。 2.内语法使用自然语言描述处理特性,易写易读。 3.有数据说明机制,包括简单的与复杂的数据结 构。 4.有子程序定义与调用机制,用以表达各种方式 的接口说明。
N
s[0][i] 输出 s[1][i]
Y
输入错误! N
继续查询?
跳出循环
软件工程 9
4.2.3 PAD(Problem Analysis Diagram)
• 一种用结构化程序设计思想表现程序逻辑结构 的图形工具 1 .使用表示结构化控制结构的 PAD 符号所设计 出来的程序必然是结构化程序。 2.PAD图所描绘的程序结构十分清晰。 3.用PAD图表现程序逻辑易读、易懂、易记。 4.有利于提高软件的可靠性和软件生产率。 5.既可用于表示程序逻辑,也描绘数据结构。 6 . PAD 图的符号支持自顶向下、逐步求精方法。
2
4.1 详细设计的任务与原则
• 详细设计的过程中应遵循以下原则: 1.模块的逻辑描述要清晰易读、正确可靠。 2.采用结构化设计方法,改善控制结构, 降低程序的复杂程度,从而提高程序的 可读性、可测试性、可维护性。 3.选择恰当描述工具来描述各模块算法。
软件工程
3
4.2 详细设计的方法
目前流行的详细设计的工具主要有以下三种: • 1.图形工具 利用图形工具可以把过程的细节用图形描述出来, 如程序流程图。 • 2.表格工具 可以用一张表来描述过程的细节,在这张表中列 出了各种可能的操作和相应的条件。 • 3.语言工具 用与某种高级语言相类似的伪码来描述过程的 细节。 4 软件工程
Input array A Max=A(1) DO for I=2 to N IF Max<A(I) Set Max=A(I) ENDIF ENDDO Print Max
软件工程
18
4.3.2 详细设计复审
• 在软件详细设计阶段结束后必须进行详 细设计复审,设计复审是指对设计文档 的复审。 (1)复审的指导原则 (2)复审的主要内容 (3)复审的方式 • 正式 • 非正式:“走查”