系统设计

系统设计概述

  系统设计的目标是根据系统分析的结果,完成系统的构件过程。其主要目的是绘制系统的蓝图,权衡和比较各种技术和实施方法的利弊,合理分配各种资源,构建新系统的设计方案和相关模型,指导系统实施工作的开展。

  系统设计的主要内容包括概要设计和详细设计。概要设计又称为系统总体结构设计,它是系统开发过程中很关键的一步,其主要任务是将系统的功能需求分配给软件模块,确定每个模块的功能和调用关系,形成软件的模块结构图,即系统结构图。在概要设计中,将系统开发的总任务分解成许多个基本的、具体的任务,为每个具体任务选择适当的技术手段和处理方法的过程称为详细设计。根据任务的不同,详细设计又可分为多种,例如,网络设计、代码设计、输入输出设计、处理流程设计、数据存储设计、用户界面设计、安全性和可靠性设计等。

  1.网络设计

  网络设计的主要任务是,根据信息系统的要求选择网络结构,按照系统结构的划分,安排网络和设备的分布,然后根据物理位置考虑网络布线和设备部署,还要根据实际业务额要求划定各网络节点权限、级别和管理方式等,选择相应的系统软件和管理软件。

  2.代码设计

  代码是用数字或字符来表示各种客观实体。在系统开发过程中,进行代码设计的主要目的是确保代码的唯一化、规范化和系统化。进行代码设计时,首先需要考虑系统额编码问题,编码问题的关键在于分类,有了一个科学的分类方式,系统要建立编码规范就相对较为容易。准确的分类是工作标准化、系列化、合理化的基础和保证,目前最常用的分类方法概况起来有两种,一种是线分类法,一种是面分类法。线分类法是目前使用做多的一种方法,尤其是在手工处理的情况下几乎成了唯一的方法,其基本原理是:首先给定母项,母项下分若干子项,子项又可以分为更小的子项,最后落实到具体对象,分类的结果造成了一层套一层的线性关系;面分类法与线分类法不同,主要从面角度来考虑分类。

  编码是分类问题的一种形式化描述,如果分类问题解决的较好,编码问题就变成了一个简单的用什么样的字符来表示的问题。目前,常用的编码方式包括顺序码(例如,001表示北京、002表示长沙)、数字码(例如,用纯数字来表示居民身份证号码)、字符码(例如、汉语拼音和英文)和混合码(以数字和字符混合形式编码)。

  在进行编码设计时,首先要确定编码对象,考察是否有标准代码,例如,国际标准、国家标准、部门标准、或行业标准等,如果有相应的标准代码,则应该遵循这些标准代码;然后,需要确定代码的种类与类型,考虑代码的检错功能;最后,编写代码表。代码设计是一个科学管理的问题,应遵循唯一性、合理性、可扩展性、简单性、适用性、规范性和系统性等原则,设计出一个好的代码方案对于系统的开发工作来说是一件极为有利的事情。

  3.输入输出设计

  输入输出的目的是确保向系统输入的数据的完整性、正确性和一致性,其主要内容包括确定输入数据的内容、输入方式设计、输入格式设计和检验方式的设计;输出设计的目的是确保系统输出数据的完整性、正确性和一致性,其主要内容包括确定输出的内容、选择输出设备与介质,以及确定输出格式等。

  输入设计需要遵循以下原则:

  (1)输入数据最少原则。在满足需求的前提下尽量提供较少的数据输入,数据的输入量越少,出错的几率越低,花费的时间也越少。

  (2)简单性原则。输入过程应尽量简单,如性别、出生日期等数据设计为选择项,一方面方便用户的使用,节省输入的时间,同时可以降低出错的可能性。

  (3)尽早验证原则。对输入数据的检验尽量接近数据的输入点,及时发现输入中存在的错误,以便能够尽早进行改正。

  (4)少转换原则。输入数据尽量采取原始的数据格式,避免在数据转换过程中发生错误。

  系统输出一般包括中间输出和最终输出,用户关系的是系统的最终输出,最常见的最终输出方式有两种,一种是报表输出,一种是图形输出。一般来说,对于普通用户或具体数据的管理者和查阅者,应该以报表方式给出详细数据记录;而对于企业高层领导和宏观或综合管理部门,这应该使用图形方式给出比例或综合发展趋势的信息,可以通过曲线图、柱状图、饼图等图形方式来呈现。

  4.处理流程设计

  处理流程设计是系统详细设计的重要组成部分,它的主要目的是确定各个系统模块的内部结构,即内部执行流程,包括局部数据组织和控制流,以及每个具体加工过程和实施细节。

  5.数据存储设计

  数据存储设计主要是根据数据处理要求、处理方式、存储的信息量大小、数据使用的频率和所能提供的设备条件等,选择数据存储的方式、存储介质、数据组织方式和记录格式,并估算数据的容量。一个好的数据存储设计应该充分体现系统的业务流程,充分满足组织的各级管理要求。同时,还应该使得后继的系统开发工作方便、快捷,系统开销小,而易于管理和维护。

  信息系统的主要目标是通过大量的数据获得管理所需要的信息,为了实现该目标,必须存储和管理大量数据,因此,设计并建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地存取和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。数据存储设计直接影响到数据的存取效率、系统的实现效率和运行效率。数据存储设计主要包括两方面的工作,一是数据的统筹安排,例如,系统中设计多少个文件、数据文件如何分布、哪些数据是共享的、哪些是非共享的、哪些数据项应该存放在一个文件中等;而是文件的数据结构设计,目前,大部分应用系统都使用关系数据库来存储数据,因此,数据结构设计的重点是关系数据库的设计,主要过程包括数据库的概念设计、逻辑设计和物理设计。

  6.用户界面设计

  界面是系统与用户交互的最直接的层面,界面的好坏决定用户对系统的第一印象,而优秀的界面能够引导用户自己完成相应的操作,起到引导作用。同时,界面如同人的面孔,具有吸引用户的直接优势,设计合理的界面能够给用户带来轻松愉悦的感受和成功的感觉。想法,由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户畏惧与放弃中付诸东流。通常情况下,良好的用户界面设计需要遵循如下一些基本准则:

  (1)置于用户控制之下。

  (2)减轻用户的记忆负担。

  (3)保持界面一致性。

  以上三条原则由著名的用户界面设计专家Theo Mandel博士所创建,通常称之为人机交互的“黄金三原则”。另外,在界面设计是,还要保证界面的合理性和独特性,有效进行组合,注重美观与协调;恰到好处地提供快捷方式,注意资源协调等。

  7.安全性和可靠性设计

  安全性和可靠性设计的目的是确保系统的安全性和可靠性,对系统的运行环境和数据处理进行有效控制,保证系统安全、有效地运行。其主要内容包括系统运行环境安全性分析和控制,如对管理结构的组织、硬件和系统软件、自然环境等方面的分析与必要的监控和控制等,还包括对数据处理的控制。

时间: 2024-12-05 08:19:14

系统设计的相关文章

系统设计原则

以技术先进.系统实用.结构合理.产品主流.低成本.低维护量作为基本建设原则,规划系统的整体构架. 先进性: 在产品设计上,整个系统软硬件设备的设计符合高新技术的潮流,媒体数字化.压缩.解压.传输等关键设备均处于国际领先的技术水平.在满足现期功能的前提下,系统设计具有前瞻性,在今后较长时间内保持一定的技术先进性. 安全性: 系统采取全面的安全保护措施,具有防病毒感染.防黑客攻击措施,同时在防雷击.过载.断电和人为破坏方面进行加强,具有高度的安全性和保密性.对接入系统的设备和用户,进行严格的接入认证

面向数据可靠性存储系统设计思想探讨

存储系统的设计门槛是比较高的,和计算系统存在的最大区别在于存储系统所承载的是数据,一旦系统出现故障,不仅业务的连续性得不到保障,更为重要的是用户数据将会造成丢失.计算节点发生故障,最多造成业务连续性中断,这是与存储系统相比在可靠性要求方面最大的区别. 十几年前刚刚接触存储系统的研发,当时没有觉得存储有多复杂,不就是把数据按照一定规则存放在磁盘中,并且实现一定的功能,例如数据保护RAID.数据复制Replication.数据快照Snapshot以及文件系统嘛.感觉存储系统中最复杂的是各种功能,设计

系统设计的三员管理

一.“三员”职责 系统管理员:主要负责系统的日常运行维护工作.包括网络设备.安全保密产品.服务器和用户终端.操作系统数据库.涉密业务系统的安装.配置.升级.维护.运行管理:网络和系统的用户增加或删除:网络和系统的数据备份.运行日志审查和运行情况监控:应急条件下的安全恢复. 安全保密管理员:主要负责系统的日常安全保密管理工作.包括网络和系统用户权限的授予与撤销:用户操作行为的安全设计:安全保密设备管理:系统安全事件的审计.分析和处理:应急条件下的安全恢复. 安全审计员:主要负责对系统管理员和安全保

SoC嵌入式软件架构设计之七:嵌入式系统固件的系统区文件系统设计

嵌入式固件的系统区(system disk,SD)包括操作系统.驱动.中间件.应用和字库.UI资源等文件,本文讲述SD区的文件系统设计.文件系统最主要的目标是为了实现单个文件的定位和读写.因为一般代码都是不可自修改的,即量产之后不会有写操作,嵌入式系统的SD文件系统就是为了能够简单.高效地定位某个文件和读取文件中的数据.设计原则和要点有以下几方面: 1. 逻辑连续存储单个文件,以扇区对齐. SD区的单个代码和资源文件一般都不大,所以不必要像fat32文件系统那样用fat表把文件簇串起来,直接逻辑

分布式系统设计系列 -- 基本原理及高可用策略

转自:http://blog.csdn.net/gugemichael/article/details/36688043 ==> 分布式系统中的概念==> 分布式系统与单节点的不同==> 分布式系统特性==> 分布式系统设计策略==> 分布式系统设计实践 [分布式系统中的概念] 三元组 其实,分布式系统说白了,就是很多机器组成的集群,靠彼此之间的网络通信,担当的角色可能不同,共同完成同一个事情的系统.如果按"实体"来划分的话,就是如下这几种:       

基于C/S架构的3D对战网络游戏C++框架 _02系统设计(总体设计、概要设计)

本系列博客主要是以对战游戏为背景介绍3D对战网络游戏常用的开发技术以及C++高级编程技巧,有了这些知识,就可以开发出中小型游戏项目或3D工业仿真项目. 笔者将分为以下三个部分向大家介绍(每日更新): 1.实现基本通信框架,包括对游戏的需求分析.设计及开发环境和通信框架的搭建: 2.实现网络底层操作,包括创建线程池.序列化网络包等: 3.实战演练,实现类似于CS反恐精英的3D对战网络游戏: 技术要点:C++面向对象思想.网络编程.Qt界面开发.Qt控件知识.Boost智能指针.STL算法.STL.

userService 用户 会员 系统设计 v2 q224 .doc

userService 用户 会员 系统设计 v2 q224 .doc 1. Admin  login1 2. 普通用户注册登录2 2.1. <!-- 会员退出登录 -->2 2.2. <!-- 进入会员首页 -->3 2.3. <!-- 进入会员信息 -->3 2.4. <!-- 修改会员密码 -->3 3. 参考4 1. Admin  login http://localhost/login!userLogin.ct http://localhost/l

一个基于.NET平台的自动化/压力测试系统设计简述(可独立运行,提供源码)

AutoTest系统设计概述 AutoTest是一个基于.NET平台实现的自动化/压力测试的系统,可独立运行于windows平台下,支持分布式部署,不需要其他配置或编译器的支持.(本质是一个基于协议的测试工具),前面还有一篇对其功能的简单介绍[http://www.cnblogs.com/lulianqi/p/4773146.html] AutoTest用于发布的部分有2个部分,主程序[AutoTest.exe]及分布式部署程序[RemoteService.exe](用于将将测试业务分布式部署到

《机器学习系统设计》之应用scikit-learn做文本分类(上)

前言: 本系列是在作者学习<机器学习系统设计>([美] WilliRichert)过程中的思考与实践,全书通过Python从数据处理,到特征工程,再到模型选择,把机器学习解决问题的过程一一呈现.书中设计的源代码和数据集已上传到我的资源:http://download.csdn.net/detail/solomon1558/8971649 第3章通过词袋模型+K均值聚类实现相关文本的匹配.本文主要讲解文本预处理部分内容,涉及切分文本.数据清洗.计算TF-IDF值等内容. 1. 统计词语 使用一个

嵌入式系统设计

嵌入式系统(Embedded system),是一种"嵌入机械或电气系统内部.具有专属功能的计算机系统",通常要求实时计算性能.被嵌入的系统通常是包含硬件和机械部件的完整设备.相反,通用计算机如个人计算机则设计灵活,以满足广大终端用户的需求.现在常见的很多设备都采用嵌入式系统控制. 现代嵌入式系统通常是基于单片机(如含集成内存和/或外设接口的中央处理单元)的:但普通微处理器(使用外部存储芯片和外设接口电路)也很常见,特别是在较复杂的系统中.通用型处理器.专门进行某类计算的处理器.为手持