首页 > 其他分享 >软件

软件

时间:2022-09-05 21:34:53浏览次数:52  
标签:需求 错误 文档 测试 设计 软件

软件

包括程序 数据 文档

分类

  • 系统软件
    计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件
    如操作系统(windos,dos,unix,linux),编译程序,汇编程序,数据库管理系统
  • 支撑软件(工具软件)
    如编译工具软件,测试工具软件,维护工具软件,microsoft visual studio
  • 应用软件
    为解决特定领域的应用而开发的软件
    如图书管理系统,各种手机app

软件危机

需求增长 开发难控 质量难保 难以维护 成本提高 生产率低

软件工程

应用于计算机软件的定义、开发和维护的一整套方法,、工具、文档、实践标准和工序。其核心思想是把软件当作一个工程产品来处理

  • 三要素 :
    方法 完成软件工程项目的技术手段
    过程 支持软件开发的各环节的控制和管理
    工具 支持软件的开发、管理和文档生成

软件生命周期

定义

可行性研究 初步项目计划

写出可行性分析报告

需求分析

包括的工作: 需求获取 需求分析 编写需求规格说明书 需求评审

  • 需求规格说明书(SRS)
    需求分析阶段产生的主要文档是“软件需求规格说明书”,其特点是

    作用:便于用户、开发人员进行理解和交流,反映出用户问题的结构 可以作为软件开发工作的基础和依据,作为确认测试和验收的依据

方法:

  • 结构化需求分析方法:使用数据流图(DFD)数据字典(DD)判定表和判定树等工具,来建立系统的逻辑模型
    数字字典是结构化分析的核心
    数据流图的图形元素
  • 面向对象的分析方法

开发

  • 软件设计
    从技术观点来看,软件设计包括
    结构设计:定义软件系统各主要部件之间的关系
    数据设计:将分析时创建的模型转化为数据结构的定义
    接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信
    过程设计:把系统结构部件转换成软件的过程描述
  • 先进行高层次的结构设计,后进行低层次的过程设计,穿插进行数据设计和接口设计
  • 基本原理
  • 软件模块独立性
    内聚性:指一个模块内部各个元素间彼此结合的紧密程度 高
    耦合性:指模块间互相连接的紧密程度 低

概要设计

任务:设计软件系统结构 分解软件的功能或称划分模块,数据结构及数据库设计,编写概要设计文档,概要设计文档评审
工具:程序结构图(SC)

  • 系统结构图
    扇入 某一个功能模块上面有几个功能模块
    扇出 后续的子功能有几个
    深度 整个系统有几层
    宽度 整个系统横向有几个节点(3

详细设计

  • 任务 确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节
  • 常用工具 图形工具:程序流程图、n-s图、pad、hipo
    程序流程图(pfd)

    n-s图(方框图)

实现

写出用户操作手册

测试

目的是发现程序中的错误(只找错误不修改
写出测试分析报告

动态测试

不实际运行软件,通过人发挥思维优势发现程序的错误。包括代码检查,静态结构分析,代码质量度量

静态测试

基于计算机的测试,是为了发现错误而执行程序的过程

白盒测试

内部逻辑性 打开的盒子(手电筒研究线路
逻辑覆盖测试 基本路径测试

黑盒测试

功能性测试 关闭的盒子(手电筒试试亮不亮
等价类划分法 边界值分析法 错误推测法

步骤

调试

任务是诊断和改正程序的错误
基本步骤:错误定位,修改设计和代码 以排除错误,进行回归测试 防止引进新的错误
方法:强行排错法 回溯法 原因排除法

使用

维护

维护

退役

标签:需求,错误,文档,测试,设计,软件
From: https://www.cnblogs.com/hlypzhc/p/16659667.html

相关文章

  • Centos7卸载软件或程序
    Centos7卸载软件或程序一、yumremove软件名字1.首先找到需要卸载的软件,如下图。2.打开终端yumremove软件名字,后输入y进行确定即可。#yumremoveKonqueror温......
  • ifort + mkl + impi (全套intel)编译安装量子化学软件GAMESS 2022 R1版本
    说明:linux下编译软件都需要先配置好该软件依赖的系统环境。系统环境可以通过软件的安装说明了解,例如:readme.md等文件或网页。这个前提条件很重要!后面正式编译出错基本都......
  • OCR批量图片转文字识别软件,带界面,离线运行。可排除图片中水印区域的干扰,提取干净的文
    FluentScreenRecorder-MicrosoftStoreApps  GitHub-hiroi-sora/Umi-OCR:OCR批量图片转文字识别软件,带界面,离线运行。可排除图片中水印区域的干扰,提取干净的......
  • 系统优化软件MacPilot
    还在为系统太卡,找不到好用的系统优化软件而苦恼吗?今天小编就为大家带来了MacPilot,MacPilotMac是一款能够为您修复、检查系统所有垃圾文件,浏览历史等,并为您清理所有不需要......
  • 直播平台软件开发,uview使用文字按钮的三种办法
    直播平台软件开发,uview使用文字按钮的三种办法1.使用uview内置的重置按钮样式。注意这里是uniapp的<button>不是uview的<u-button> <buttonclass="u-reset-button">点......
  • 性能测试基准软件 lmBench (待补充)
    lmBench说明Lmbench是一套简易,可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解......
  • RT-Thread Studio增加软件包操作
    RT-ThreadStudio增加软件包操作1.在本地中完成如下操作打开RTthreadStudio的安装目录在当前目录下找到env的目录在env的目录下找到要添加软件包的分类文件夹本......
  • 给软件项目规划师的建议
    给软件项目规划师的建议软件项目经理倾向于犯的一个常见计划错误是低估了支持现有项目/客户所需的时间/精力(如果他们确实这样做的话)。他们可以很容易地认为他们可以在6......
  • 电脑测试软件
    综合测试:鲁大师3DMarkaid64CPU测试:CPUZwprimeCINEBENCHWindows64Bit-FritzChessBenchmark显卡测试:GPU-Z2.4.0.0硬盘测试:ASSSDBenchmarkDiskMark64......
  • 文献管理软件zotero | 下载安装使用与配置分享
    前言最开始阅读文献是使用readpaper平台,在线翻译、做笔记、文献管理都很方便,具体使用可以参考同济子豪兄和官方ReadPaper保姆级教程。但随着科研深入,readpaper的文献管理......