1. 原则与目标软件设计中处理问题的过程要保证简单、清晰,一个功能只处理好一个问题,如果处理不好,那么这个问题就是多个问题,从而要设计多个功能,总体要求:把复杂的事情简单化,把简单的事情条理化软件设计规范2. 要求产出物:1) 《概要设计说明书》2) 数据模型3) 《详细设计说明书》3. 数据模型1) 字段定义、长度、类型、命名继承《数据库设计规范》;2) 规范化与反规范化:综合考虑“范式要求”与“系统实现的方便性”,平衡这两方面的要求;综合考虑“查询的方便性”与“数据冗余如何保证数据的一致性”两方面的应用,平衡这两方面的应用;3) 完整性:数据项需明确是否非空选项,保证数据的完整性;4) 一致性:相同数据项的命名、类型、长度应保持一致;5) 关联性:表与表采用弱关联,系统数据的正确性需要业务处理逻辑来保证;过程表可以关联结果表,结果表不能关联过程表,结果表尽可能做到无状态;6) 可维护的数据项不能做主键;7) 主键和外键(数模中体现,数据库中不体现)要建立索引;8) 所有字段都需要有域类型,属于域类型的数据项类型需要引用域,不允许重复定义;9) 字段需注释,注释内容与格式要统一,格式上注释第一行为字段中文名称,字典字段的注释要包含枚举值,并且枚举值要和业务变更同步;10) 每个表中尽量有修改时间与创建时间,并且保证非空性;尽量有备用和备注字段,用于系统运维4. 功能设计1) 合适性:功能性需求与非功能性需求需要综合考虑功能性需求要精简,功能模型未明确定义的辅助功能(包括查询型、汇总型等)尽量不加,除非该功能操作太多的表,保证功能粒度的一致性与合理性,解决问题的明确性及系统业务过程的简单性;明确功能约束并说明清楚;2) 稳定性:明确哪些是不变的功能,形成稳定的结构;3) 扩展性:明确哪些是可变的功能,使可变的功能易于扩展;4) 复用性:抽取公用的东西,加强公共功能的复用;5) 单一性:同样的功能只在一个地方出现,禁止在多个地方出现5. 页面设计1) 功能性:满足业务功能,达到用户基本的功能需求;2) 清晰性:信息要清晰明确,防止晦涩语言或描述不清楚的地方;3) 易用性:分区分层与页面布局合理,符合用户操作习惯;4) 友好性:页面样式风格应贴近工作氛围,使用户可以很好地融入系统;5) 交互性:应有必要的信息提示与操作步骤引导,降低系统对使用人员要求;6) 整体风格的一致性;7) 必输项采用“”表示,在页面原型中标识;如果不输入点击保存,提示“请输入XXX
”,在详细设计不用描述;8) 复选框选择后操作提示明细、导出、打印:如果为选择或选择多条记录,提示“请选择一条记录
”,在详细设计不用描述;删除:如果不支持批量删除,提示“请选择一条记录
”,如果支持批量删除,提示“请选择记录”,如果已选记录不符合删除条件,提示“记录不能删除:xxx(原因)
”,删除时询问“确认删除?”,在详细设计不用描述;修改:如果未选择或选择多条记录,提示“请选择一条记录
”,如果已选记录不符合修改条件的记录,提示“记录不能修改:xxx(原因)
”,在详细设计不用描述;9) 操作成功后提示新增记录保存成功后,提示“[单据编号]+[单据类型]生成成功
”;修改记录保存成功后,提示“[单据编号]+[单据类型]+[操作类型]成功
”(操作类型:修改、派工等);删除记录功能后,提示“删除成功
”;10) 操作失败后提示“[操作类型]失败:xxx(原因)”(操作类型:修改、派工等);11) 查询条件可多选时,已选择项在文本框中的展示格式:项1,项2,项3,各选择项间以“,”(英文半角逗号)分隔;12) 通用帮助框:通用帮助框的查询条件应支持默认匹配父页面的查询条件,即通用帮助框的链接支持传递参数6. 接口设计1) 接口中方法的返回不能为void,至少也要通知调用者,操作是否成功2) 接上条,凡是返回操作是否成功的方法,返回类型要设置为int而不是boolean3) 方法名只能使用英文,尽量简单易懂,驼峰规则,首字母小写,不得含有数字4) 方法名最好使用动宾结构5) 接口中所有方法都必须写注释6) 接口中所有方法都必须是public的7) 每个方法的位置应当是明确的,不要将不属于某接口的方法放入该接口中,也不要写功能重复的方法7. 兼容性、扩展性1) 稳定性:系统的扩展首先要保证系统的稳定,尽量明确哪些是不变的,哪些是可变的,可变的部分放在具体的实现,抽象不变的接口,最有效的方式是职责单一;2) 扩展性:分析明确可变部分,使可变部分通过不同的实现或配置达到系统扩展;3) 简单性:尽量通过简单的配置或很方便地实现相应的接口,达到系统扩展;配置的地方尽量少,配置的内容尽量少,配置的功能与影响是十分明确功能设计说明书模板1. 文档介绍1.1编写目的说明文档的编写目的1.2文档范围说明文档的主要内容1.3读者对象说明文档的读者对象1.4术语与缩写解释
术语或缩写解释1.5参考资料
序号文档名称文档编号版本发布日期122系统概述2.1系统说明介绍系统的名称、任务提出者、开发者、用户群2.2项目背景介绍项目的背景,在什么样的背景下产生该产品2.3系统任务介绍产品的目标与愿景,产品要能满足什么样的需求,要达到什么样一个效果3.需求说明3.1整体需求描述产品的整体需求,产品要能满足什么需求,要达到什么效果3.2功能需求描述产品的功能性需求,产品要包含哪些功能或者服务接口首先要指定需求的编号规则,然后按照规则对功能性需求进行模块划分和编号,最后要对每一个需求进行详细描述3.3需求编号规则描述需求的编号规则3.4总体模块划分描述需求的模块划分情况4.功能性需求4.1模块1编号
模块名称模块简介模块功能列表序号一级功能二级功能功能名称功能编号功能名称功能编号12344.1.1一级功能1编号描述本功能4.1.1.1二级功能1编号描述本功能4.1.1.2二级功能2编号描述本功能4.1.2二级功能2编号描述本功能4.1.2.1二级功能1编号描述本功能4.1.2.2二级功能2编号描述本功能4.2模块2编号
模块名称模块简介模块功能列表序号一级功能二级功能功能名称功能编号功能名称功能编号12344.2.1一级功能1编号描述本功能4.2.1.1二级功能1编号描述本功能4.2.1.2二级功能2编号描述本功能4.2.2二级功能2编号描述本功能4.2.2.1二级功能1编号描述本功能4.2.2.2二级功能2编号描述本功能5.界面设计5.1界面的功能5.1.1前台界面功能列表或图示5.1.2后台界面功能列表或图示5.2界面关系5.2.1页面1页面说明说明页面迁移图图示页面截图截图5.2.2页面2页面说明说明页面迁移图图示页面截图截图
0 评论