四、系统开发和运行知识(二)

3.系统设计知识

“怎么做”的物理模型

步骤:

  1.概要设计:设计软件系统总体结构;数据结构及数据库设计(概念设计、逻辑设计、物理设计);编写概要设计文档(概要设计说明书、数据库设计说明书、用户手册、修订测试计划);评审

  2.详细设计:每个模块详细的算法设计;模块内数据结构设计;数据库物理设计;其他设计(代码设计、输入输出格式设计、界面设计);详细设计说明书;评审

基本原理:抽象、模块化(可组合、分解、更换的单元);信息隐蔽;模块独立(耦合性、内聚性);

       

       耦合的分类

    

系统总体结构设计:

  设计原则:分解-协调;自顶向下;信息隐蔽、抽象;一致性;明确性;模块扇入、扇出系数合理;模块规模适当

  子系统划分原则:相对独立性;依赖尽量小;使数据冗余小;考虑管理发展;便于分阶段实现;各类资源的利用;

系统模块结构设计:

  模块:逻辑模块、物理模块

  要素:输入输出;处理功能;内部数据;程序代码

  模块结构图:模块独立性;只能存在上下级间调用,不能有同级横向调用;呈树状结构;分类编码并归档。主要关心模块的外部属性(上下级模块,统计模块之间数据传递),并不关心模块的内部。

    转接符号:为了避免涂上线条交叉、纸张上画不下。

  

数据存储设计:

  数据结构组织、数据库、文件设计

  数据的整体关系结构;数据资源分布;数据的安全保密(8个等级,4中方式(只读、只写、删除、修改))

结构化设计方法:

  信息流:交换流、事务流

  变换分析:分离出变换中心;第一级分解;第二级分解;

  

  事务分析:确定事务中心和每条活动流的流特征;将事物流映射成高层的程序结构;进一步分解

  

面向数据结构的设计方法:

  1.Jackson图

  

Parnas

  提出了信息隐蔽原则:在概要设计时列出将来可能发生变化的因素,并在模块划分时将这些因素放到个别模块的内部。这样,在将来由于这些因素变化而需修改软件时,只需修改这些个别的模块,其它模块不受影响。

 

系统详细设计:

  1.代码设计:唯一性;合理性;可扩充性;简单性;适用性;规范型;系统性。确定代码对象;考察是否已有标准代码;根据使用范围、时间、实际情况选择代码种类;检错功能;编写代码表

  2.输出设计:确定输出内容;选择输出设备、介质;确定输出格式

  3.输入设计:最小量;简单性;早检验;少转换。确定输入内容;输入方式;输入格式;校对方式

  4.处理过程设计:用一种合适的表达方式描述每个模块的执行过程。流程图(程序框图)、盒图(NS图)、形式语言、决策树、决策表

  5.用户界面设计:菜单方式、会话方式(会话方式、容错能力、系统的模块结构)、操作提示方式、操作权限管理方式

  6.安全控制设计:环境性因素、数据处理因素

4.系统实施知识

开发工作的最后一个阶段。

任务:

  1.按总体设计方案购置、安装计算机网络系统

  2.软件准备

  3.培训

  4.数据准备

  5.投入转换、试运行

步骤:

  1.按总体设计方案购置、安装计算机网络系统

  2.建立数据库系统

  3.程序设计

  4.手机有关数据并进行录入工作,然后进行系统测试

  5.人员培训、系统转换、试运行

程序设计:

  1.结构化程序设计方法

  2.快速原型式程序开发方法

  3.面向对象程序设计方法

  

系统的测试

  软件测试、硬件测试、网络测试

  原则:尽早、不断地测试;避免由开发人员承担;确定预期输出结果;包含不合理、失效的输入;是否做了不该做的事;严格按照测试计划进行;保存测试计划、测试用例;可重新测试、追加测试

  过程:测试计划;测试大纲;测试用例,测试设计说明文档;实施测试;测试报告

  策略:测试计划+测试用例+执行+结果收集、评估。

    1.单元测试(模块测试):模块接口、局部数据结构、重要的执行路径

    2.集成测试:非增量式集成、增量式集成。面向对象:基于线程的测试、基于使用的测试。

    3.确认测试:有效性、软件配置审查、验收测试

    4.系统测试:恢复测试;安全性测试;压力测试(强度测试);性能测试;可靠性、可用性、可维护性测试;安装测试

  方法:

    1.静态测试:人工检测、计算机辅助静态分析

    2.动态测试:

      黑盒测试法(功能测试):等价类划分、边界值划分、错误推测、因果图

      白盒测试法(结构测试):逻辑覆盖、循环覆盖、基本路径覆盖

  

  集成测试的各种方式

  软件测试中的α测试、β测试和λ测试

 

 

 

系统的调试

  主要由开发人员进行

  方法:

    1.试探法:猜测错误位置

    2.回溯法:适合小型程序

    3.对分查找法:缩小错误范围

    4.归纳法:分析不正确的数据,找出错误

    5.演绎法:列出所有可能的原因,一个个排除

系统文档

  包括:

  1.开发过程中的文档(硬件采购、网络设计……)

  2.系统建设过程中的各种往来文件、会议纪要、会计单据……(谈判、索赔的依据)

  3.系统实施记录(程序资料、培训教程……)

  作用:

  1.用户与系统分析人员在系统规划、系统分析阶段进行沟通。可行性研究报告、总体规划报告、系统开发合同、系统方案说明书……

  2.系统开发人员与项目管理人员在项目期内进行沟通。系统开发计划、系统开发月报、系统开发总结报告……

  3.系统测试人员与系统开发人员进行沟通。系统方案说明书、系统开发合同、系统设计说明书、测试计划……

  4.开发人员与用户在运行期间进行沟通。用户手册、操作指南

  5.开发人员与维护人员进行沟通。系统设计说明书、系统开发总结报告

  6.用户与维修人员在运行期间进行沟通。系统运行报告、维护修改建议。开发人员技术手册……

系统转换:

  工作:

  1.系统初始化,输入各种原始数据记录

  2.记录系统运行的数据、状况

  3.核对新系统的输出与旧系统输出

  4.实际输入方式的考察

  6.实际运行、相应速度进行实际测试

  方式:

  1.直接转换:处理过程不复杂,数据不重要

  2.并行转换:核心系统。安全、可靠;费用、工作量大

  3.分段转换:逐步转换、向导转换、试点过度法;子系统有一定独立性

  系统阶段:厨师阶段;推广阶段;控制阶段;集成阶段;管理阶段; 

5.系统运行和维护知识

系统维护

  软件生命周期的最后一个阶段,不属于系统开发过程。

  改正错误;满足新的需求

  可维护性:可理解;可测试;可修改

  软件文档:是软件可维护性的决定性因素

    用户文档、系统文档

  内容:硬件维护、软件维护(正确性、适应性、完善性、预防性)、数据维护

  副作用:修改代码产生的错误;修改数据库中的数据,导致有些软件不可使用

  

 

  

系统评价 

  立项评价、中期评价、结项评价

  指标:   

    经济学:成本、效益 、财务指标

    评价对象:系统质量、技术水平;用户需求,运行质量;社会效益指标

    组成部分:运行效果与需求;系统质量与技术条件

 

posted @ 2016-07-17 13:06  PanPan003  阅读(585)  评论(0编辑  收藏  举报