概要设计、详细设计(三)关键点(Know-How)、运用技巧
1. 关键点(Know-How)、运用技巧
4.1 设计准则
制定设计准则是概要设计阶段的最主要、最关键的工作。在实际工作中往往忽略,多数项目牺牲在这个环节。制定设计准则着眼于如何更好的做设计,设计准则通常要考虑的内容包括:设计的内容、方法、工具、模板、命名规约、模块划分规则(尤其设计粒度)、质量以及效率评估方式等等。我们首先要根据系统的需求、客户能力、项目的特征(成本、规模、进度、质量)以及自身的经验确定设计的内容。对于软件外包类的工程项目,尤其一些国际外包项目,设计准则一般已经制定好了,我们的设计团队只需要学习、理解、制作并符合这些要求的。而另外一些情况,需要我们一项项的定义规则,并同客户达成共识。实际上从某种角度来说,设计准则就代表着设计能力。
1. 设计内容的定义
识别以及定义概要设计、详细设计的内容,在定义设计内容时需要考虑成本、质量、进度、团队能力等方面的因素,同时也要兼顾测试阶段的要求。
例:一般网站系统的设计内容
|
概要设计 |
概要设计书 |
1本 |
系统架构设计 |
|
物理架构 |
|||
|
软件架构&软件层次设计 |
|||
|
子系统(包含共同部分\PACKAGE命名) |
|||
|
接口总设计 |
|||
|
概要设计-同XXX接口设计书 |
若干 |
同各产品的分接口设计 |
|
|
概要设计-网站结构设计书 |
1本 |
网站结构设计(目录结构划分\包含部署设计) |
|
|
概要设计-数据库设计书 |
1本 |
数据库物理/逻辑设计 |
|
|
概要设计-数据字典书 |
1本 |
数据字典 |
|
|
详细设计 |
画面一览表 |
1本 |
所有展示画面一览表 |
|
共同设计 |
1本 |
所有程序级别的共同设计(总合并一本):日志\LOG\消息\SESSION\权限\宏定义\数据库操作规程\画面各组件\专项功能\业务共同 |
|
|
提示信息设计 |
1本 |
日志\LOG\对外消息 所有对外提示信息总集中一起. |
|
|
配置设计 |
1本 |
各种配置项目总体引索 |
|
|
详细设计 |
1本 |
通用规则设计,大多数功能统一设计 |
|
|
详细设计-XX功能 |
若干 |
复杂功能,单独设计.大约30%~50% |
例:监控类系统设计内容
|
编号 |
概要设计内容 |
描述 |
|||
|
1 |
业务方面 |
业务 |
《变电站业务层总体概要设计》 |
1本 |
|
|
2 |
|
《变电站业务层站端概要设计》 |
1本 |
|
|
|
|
|
….. |
|
|
|
|
5 |
|
《画面设计一览表》 |
1本 |
|
|
|
6 |
|
《画面演示Demo》 |
若干本 |
|
|
|
7 |
服务 |
《变电站服务层数据交换标准》 |
总1本 |
|
|
|
8 |
|
《变电站服务层概要设计》 |
总1本(也可以按服务分) |
|
|
|
10 |
信号 |
《全信号一览表》 |
1本 |
信号标准分类/编号/设备信息标准-通讯标准-警报标准-处理标准-性能要求 对应表 |
|
|
11 |
|
《变电站智能设备信息标准》 |
若干本 |
分设备,信号格式规范 |
|
|
|
|
…. |
|
|
|
|
16 |
|
《版本导入信号一览表》 |
1本 |
管理用 |
|
|
17 |
数据 |
《数据库逻辑设计书》 |
1本(按站/市/省分比较好) |
数据库表与字段的逻辑设计 |
|
|
|
|
…. |
|
|
|
|
21 |
|
《系统配置信息规范》 |
总合1本 |
内容是各种配置的说明 |
|
|
22 |
接口 |
《MIS系统接口设计书》 |
1本 |
|
|
|
|
|
|
…. |
|
|
|
26 |
技术方面 |
|
《变电站辅助监控架构设计说明书》 |
1本 |
|
|
27 |
|
《关键技术调查案》 |
若干 |
|
|
|
|
详细设计内容 |
|
|||
|
1 |
业务方面 |
|
《画面设计》 |
若干本 |
|
|
2 |
|
《报表设计》 |
若干本 |
|
|
|
3 |
|
《服务层详细设计》 |
若干本 |
根据服务展开设计(状态管理/控制管理/ADP) |
|
|
4 |
技术方面 |
|
《画面层详细设计》 |
1本 |
画面引擎/结构原型设计 |
|
5 |
|
《服务层详细设计》 |
1本 |
服务引擎/结构原型设计 |
|
|
6 |
|
《系统共通设计》 |
1本 |
|
|
|
7 |
|
《业务共通设计》 |
1本 |
|
|
|
8 |
|
辅助开发/测试工具 |
若干本 |
管理用,辅助效率开发使用 |
|
2. 设计方法以及工具
根据设计的内容以及要求考虑采用何种设计工具进行设计。比如采用ERWIN进行DB设计、Visio进行流程设计等等。另外,有些设计工具还必须对设计团队进行培训才能有效的使用。
3. 制作设计模板
将各设计书制作成对应模板,对格式、内容、图例、文字等做出具体的要求,可以使团队更有效的工作。有的时候,我们会对设计书的1-4级目录都会详细制定,以保证设计更有效的进行。
例 数据模版
注:对于EXCEL之类的模版,可以制作一些宏或工具更便于检索、修改等操作。另外,也可以借助wiki等系统提高设计资料的管理。
4.命名规约、模块划分规则
命名规约可以包含很多的内容,比如设计资料文件的命名、各类术语的命名规则、编号的规则等等。其中,给任何东西都编个合适的号是个好习惯,当然也许有人认为这是属于IT的职业病。当设计资料有数十、百G时,当一个设计人员需要和不同层次的人员,比如客户、用户、业务专家、管理人员、开发人员、测试人员等等进行沟通时,有的时候还不得不用各种语言进行交流,任何人都希望有个完整的命名规约。
2. 质量以及效率评估方式
例,设定质量以及效率的目标
4.2 设计评审
补充
4.3 变更管理
补充
4.4 团队组织
补充
概要设计、详细设计(三)关键点(Know-How)、运用技巧的更多相关文章
- PowerBI入门 第三篇:报表设计技巧
最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中 ...
- PowerBI开发 第三篇:报表设计技巧
最近做了几个PowerBI报表,对PowerBI的设计有了更深的理解,对数据的塑形(sharp data),不仅可以在Data Source中实现,例如在TSQL查询脚本中,而且可以在PowerBI中 ...
- kafka学习笔记(三)kafka的使用技巧
概述 上一篇随笔主要介绍了kafka的基本使用包括集群参数,生产者基本使用,consumer基本使用,现在来介绍一下kafka的使用技巧. 分区机制 我们在使用 Apache Kafka 生产和消费消 ...
- Sql Server专题三:SQL操作与技巧
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- AngularJS进阶(三十一)AngularJS项目开发技巧之获取模态对话框中的组件ID
AngularJS项目开发技巧之获取模态对话框中的组件ID 需求 出于项目开发需求,需要实现的业务逻辑是:药店端点击查看"已发货""已收货"订单详情时,模块弹出 ...
- AngularJS进阶(三十)AngularJS项目开发技巧之图片预加载
AngularJS项目开发技巧之图片预加载 绪 项目(移动端采用Ionic 框架)开发完毕,测试阶段发现移动APP首页的广告图片(图片由服务器端返回相应url地址)很难加载,主要原因还是网速.如下图左 ...
- 数据可视化之powerBI技巧(三)这个Power BI技巧很可爱:利用DAX制作时钟
周末放松一下,给大家分享一个小技巧,仅利用DAX制作一个简易的时钟. 时钟效果如下: 这个时钟的制作只需一个度量值,你信吗? 事实上确实如此,制作步骤介绍如下: 1,新建参数,生成一个数字序列作为小时 ...
- myeclipse学习总结三(MyEclipse文件查找技巧)
一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...
- ★10 个实用技巧,让Finder带你飞~
10 个实用技巧,让 Finder 带你飞 Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器.它是我们打开 Mac 首先见到的「笑脸」,有了它,我们可以组织和使用 ...
随机推荐
- 转:UniqueID和ClientID的来源
转:http://www.cnblogs.com/GrayZhang/archive/2009/03/05/how-uniqueid-is-generated.html 在<漫话ID>一文 ...
- 在用的vim插件
The-NERD-tree https://github.com/vim-scripts/The-NERD-tree 在vim中也可以有目录树的,如果要打开当前文件夹下的其他文件的话也可以很方便的进 ...
- 【题解】【BT】【Leetcode】Binary Tree Preorder/Inorder/Postorder (Iterative Solution)
[Inorder Traversal] Given a binary tree, return the inorder traversal of its nodes' values. For exam ...
- php中能够获取到某一网站内容的方法
方法一:file_get_contents 函数 example: <?php $url = "http://www.cnblogs.com"; $contents = fi ...
- 关于 System.IO.FileAttributes 的 Reparse Points
关于Reparse Points找到下面的解释,要是能有更进一步的解释说明就更好了 Reparse Points其实是一个用户自定义的数据集合,它可以包含在一个文件或目录中.这种格式的数据能够被特定的 ...
- form的onsubmit事件--表单提交前的验证最佳实现方式
今天遇到了一个问题,页面中include了很多的公共页面(都是没有form的),并且里面好多的地方都是自行提交的(页面中加入一个type=“submit”域,然后js中写入sumbit.click来执 ...
- RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM) ----27
原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ ROS提供了非常强大的图形化模拟环境 RViz,这个 RViz 能做的事情非常多.今天我们学习一下如何使 ...
- 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象
------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将 ...
- activity状态的保存和保持(onRetainNonConfigurationInstance和getLastNonConfigurationInstanc
本文转载于:http://chengbs.iteye.com/blog/1156167 比较onsaveinstancestate() 与 onretainnonconfigurationinstan ...
- (转) A Survival Guide to a PhD
A Survival Guide to a PhD Sep 7, 2016 This guide is patterned after my “Doing well in your courses”, ...