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


    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.系统运行和维护知识

    系统维护

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

      改正错误;满足新的需求

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

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

        用户文档、系统文档

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

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

      

      

    系统评价 

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

      指标:   

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

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

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

  • 相关阅读:
    使用数据库时注意单引号、双引号和反引号的区别
    Mysql中的事件
    C#使用WindowsMediaPlayer实现视频播放
    Chart控件,鼠标选择区域,可以局部放大缩小
    C#自定义控件在添加引用后不显示在工具箱的解决方法(转)
    C# 中的#if、#elif、#else、#endif等条件编译符号
    若有派生类,则基类中的析构函数要用虚函数
    迭代器失效
    this指针
    VS调试快捷键
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/5678383.html
Copyright © 2020-2023  润新知