今天幸福哥助理继续为大家分享第一章 第三节 信息化知识(二) 信息系统设计、软件工程

面向对象系统分析与设计等复习知识要点,备考笔记知识点的分享会不定期整理,如果你正好参加这个考试,可以关注我,收藏,或者转发。

一、信息系统设计

信息系统设计是开发阶段的重要内容,其主要任务是从信息系统的总体目标出发,根据系统逻辑功能的要求,并结合经济、技术条件、运行环境和进度等要求,确定系统的总体架构和系统各组成部分的技术方案,合理选择计算机、通信及存储的软、硬件设备,制订系统的实施计划。

系统方案设计包括总体设计和各部分的详细设计(物理设计)两个方面。

系统总体设计:包括系统的总体架构方案设计、软件系统的总体架构设计、数据存储的总体设计、计算机和网络系统的方案设计等。

系统详细设计:包括代码设计、数据库设计、人/机界面设计、处理过程设计等。

系统架构是将系统整体分解为更小的子系统和组件,从而形成不同的逻辑层或服务。之后,进一步确定各层的接口,层与层相互之间的关系。

二、软件工程

软件需求是针对待解决问题的特性的描述。

软件具体需求分类的方法如下:

功能需求:软件必须完成的基本动作

性能需求:说明软件或人与软件交互的静态或动态数值需求。如系统响应速度、处理速度等。

设计约束:受其他标准硬件限制等方面的影响

属性:可用性、安全性、可维护性、可转移/转换性

外部接口需求:用户接口、硬件接口、软件接口、通信接口。

软件需求的三个层次:

业务需求:表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求文档。

用户需求描述的是用户的目标,或用户要求系统必须能完成的任务。

功能需求规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。

需求开发的过程有四个主要活动:

1.需求获取。积极地与用户进行交流,捕捉、分析和修正用户对目标系统的需求,并提炼出符合解决问题的用户需求,产生《用户需求说明书》。

2.需求分析。需求分析的目的是对各种需求信息进行分析并抽象描述,为目标系统建立一个概念模型。

3.需求定义。需求定义的目标是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生《需求规格说明书》。系统设计人员将依据《需求规格说明书》开展系统设计工作。

4.需求验证。需求验证是指开发方和用户共同对需求文档评审,经双方对需求达成共识后做出书面承诺,使需求文档具有商业合同效果。

三、软件测试的分类方法:

(一)、白盒测试、黑盒测试、灰盒测试:从是否关心软件内部结构和具体实现的角度划分。

1.白盒测试:白盒测试是把程序看成装在一只透明的盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑是否都按预定的要求正确地工作。

2.黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息

3.灰盒测试:是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。

(二)、静态测试和动态测试:从是否执行程序的角度划分

1.静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

2.动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。

(三)、从软件开发的过程按阶段划分有单元测试、集成测试、确认测试、系统测试、验收测试。

(1)单元测试。单元测试也称为模块测试,测试的对象是可独立编译或汇编的程序模块、软件构件或00软件中的类(统称为模块),其目的是检查每个模块能否正确地实现设计说明中的功能、性能、接口和其他设计约束等条件,发现模块内可能存在的各种差错。单元测试的技术依据是软件详细设计说明书,着重从模块接口、局部数据结构、重要的执行通路、出错处理通路和边界条件等方面对模块进行测试。

(2)集成测试。集成测试的目的是检查模块之间,以及模块和己集成的软件之间的接口关系,并验证己集成的软件是否符合设计要求。集成测试的技术依据是软件概要设文档。除应满足一般的测试准入条件外,在进行集成测试前还应确认待测试的模块均己通过单元测试。

(3)确认测试。确认测试主要用于验证软件的功能、性能和其他特性是否与用户需求一致。根据用户的参与程度,通常包括以下类型。

·内部确认测试。内部确认测试主要由软件开发组织内部按照SRS进行测试。

·Alpha测试和Beta测试。对于通用产品型的软件开发而言,Alpha测试是指由用户在开发环境下 进行测试,通过Alpha测试以后的产品通常称为Alpha版;Beta测试是指由用户在实际使用环境下进行测试,通过Beta测试的产品通常称为Beta版。一般在通过Beta测试后,才能把产品发布或交付给用户。

(4)系统测试。系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统/子系统设计文档和软件开发合同规定的要求。系统测试的技术依据是用户需求或开发合同。

(5)验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

四、面向对象系统分析与设计

面向对象的基本概念包括对象、类、抽象、封装、继承、多态、接口、消息、组件、复用和模式等。

(1)对象:由数据及其操作所构成的封装体,是系统中用来描述客观事物的一个模块,是构成系统的基本单位。用计算机语言来描述,对象是由一组属性和对这组属性进行的操作构成的。

对象包含三个基本要素,分别是对象标识、对象状态和对象行为。例如,对于姓名(标识)为Joe的教师而言,其包含性别、年龄、职位等个人状态信息,同时还具有授课等行为特征,Joe就是封装后的一个典型对象。

(2)类:现实世界中实体的形式化描述,类将该实体的属性(数据)和操作(函数)封装在一起。

(3)抽象:通过特定的实例抽取共同特征以后形成概念的过程。抽象是一种单一化的描述,强调给出与应用相关的特性,抛弃不相关的特性。对象是现实世界中某个实体的抽象,类是一组对象的抽象。

(4)封装:将相关的概念组成一个单元模块,并通过一个名称来引用它。面向对象封装是将数据和基于数据的操作封装成一个整体对象,对数据的访问或修改只能通过对象对外提供的接口进行。

(5)继承:表示类之间的层次关系(父类与子类),这种关系使得某类对象可以继承另外一类对象的特征,继承又可分为单继承和多继承。Java是单继承的语言,而C++允许多继承。

(6)多态:使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。多态使得某个属性或操作在不同的时期可以表示不同类的对象特性。

(7)接口:描述对操作规范的说明,其只说明操作应该做什么,并没有定义操作如何做。可以将接口理解成为类的一个特例,它规定了实现此接口的类的操作方法,把真正的实现细节交由实现该接口的类去完成。

(8)消息:体现对象间的交互,通过它向目标对象发送操作请求。

(9)组件:表示软件系统可替换的、物理的组成部分,封装了模块功能的实现。组件应当是内聚的,并具有相对稳定的公开接口。

(10)复用:指将己有的软件及其有效成分用于构造新的软件或系统。组件技术软件复用实现的关键。

(11)模式:描述了一个不断重复发生的问题,以及该问题的解决方案。其包括特定环境、问题和解决方案三个组成部分。应用设计模式可以更加简单和方便地去复用成功的软件设计和架构,从而帮助设计者更快更好地完成系统设计。

接下来,幸福哥助理用一张图简单表示上面的整体内容,可以清晰掌握。

深入到系统组件是否白盒测试_2019年系统集成项目管理工程师:第一章 信息化知识(三)要点?...相关推荐

  1. 深入到系统组件是否白盒测试_南京豪之诺软件测试:白盒、黑盒、灰盒优缺点(知识普及)...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 白盒测试概念 白盒测试也称结构测试或逻辑驱动测试,重点关注软件内部的实现细节,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规 ...

  2. 深入到系统组件是否白盒测试_白盒测试

    白盒测试理论 为什么给做白盒测试? 这个问题比较复杂,我们可以先从一个比喻讲起. 假设有一台面包机, 从上面倒入面粉和水, 开动机器之后从下面出来的就是烤好的面包, 这个机器的功能比较单一,接口很清晰 ...

  3. 信号与系统第一章--基本知识

    1.信号的基本概念 1.1信号分类 确定信号:可用确定时间函数表示的信号 (电流 电压 fx) 随机信号:不能用确定的函数描述,只可能知道它的统计特性.如概率 (雷电干扰信号) 1.1.1确定信号的分 ...

  4. 计算机三级嵌入式工程师,怎样通过计算机三级嵌入式,如何成为嵌入式工程师——第一章嵌入式系统概论

    在接下来的一段时间内(计划三天内)我将完成<全国计算机等级考试三级教程>以及其他辅助教材并结合三级真题的知识整合(全是干货),在接下来的计算机考试中顺利通过并为嵌入式发展做铺垫.友情提示: ...

  5. 计算机软考中集成系统,软考中级系统集成项目管理工程师有哪些作用?

    系统集成项目管理工程师属于计算机技术与软件专业技术资格(水平)考试(即软考)中级资格考试里面的一项考试. 对于中级工程师而言,通过评定获得职称证书的人比通过考试获得职称证书的人更容易被社会认可与接受. ...

  6. 单独组件_苹果已停止对macOS Big Sur 11.0.1版本macOS系统组件的单独更新

    从macOS Big Sur 11.0.1版本开始,苹果已停止提供其macOS系统组件的单独更新版本,但直到12月16日仍在为Catalina和Moojave版本提供支持. 过去,苹果为用户提供了单独 ...

  7. adb指令禁用软件_三星等安卓手机续航差?禁用部分系统组件后提升明显

    前沿:小编只是提供一种方法,在小编实际体验中,禁用部分系统组件后续航确有提升.但这还是因人而异的,具体和自己所使用的机型有关.除此之外,这个方法也同样适用于追求简洁用机体验的朋友,毕竟像自带浏览器等软 ...

  8. 自定义键盘组件_一文读懂!iOS系统组件的设计规范全解

    一说到组件,大部分初级设计师和中级设计师的脑海里只会蹦出弹窗.Toast及操作列表等具体的概念,没有一套属于自己的组件分类体系,这样对于视觉设计.交互设计或产品设计的系统学习来说都是不利的. iOS1 ...

  9. [C#.NET通用权限管里系统组件]对资源权限、列表型、记录级权限、数据集权限的实现参考...

    周末出差在北京,加班休息时写写博客,把一些自己整理的权限控制的内容都进行一下有调理的整理分享给有需要参考的人.先把记录集权限如何实现的,分享给大家一下. 通用权限管理系统,可以满足各种最严格的权限配置 ...

最新文章

  1. 数据类型与数据传送指令
  2. 招程序员,得招 “会编程” 的
  3. linux 下安装nginx
  4. 小肚皮最新版本_小肚皮官方版下载_小肚皮app - Win7旗舰版
  5. linux python pymysql,Python之pymysql的使用
  6. SharePoint 编程指南(转)
  7. cocos2d-x AssetsManager libcurl使用心得
  8. 如何从课堂与教学内容两方面提高培训效率
  9. 单片机双击 长按 c语言,单片机三种按键模式 单击 双击 长按
  10. 前端和后端的英文_前端工程师和后端工程师
  11. English-Phonics
  12. 修复“Windows无法连接到此网络”问题的10种方法
  13. 智能卡java_Java智能卡发送命令
  14. 微信小程序连接蓝牙打印机打印图片示例
  15. win7设置计算机共享的打印机共享的打印机共享,告诉你win7打印机共享设置教程...
  16. 手机厂商为何取消3.5mm耳机孔?主要原因有5点,看完你就知道了
  17. c语言 求矩阵各行元素之和
  18. 制作一款Jframe窗口游戏原来这么简单,我抚摸着光头禁不住惊叹!!开始、暂停、重新开始事件必须有,线程也加入下充充面子,背景更换和移动也需要,一首背景音乐当然更适合游戏。
  19. vue js 清除 data数据
  20. 数据挖掘实战:个人信贷违约预测

热门文章

  1. 华为ac控制器web配置手册_家庭WIFI网络规划设计与配置实战,一文教会你
  2. Kuroni and Impossible Calculation CodeForces - 1305C(鸽巢原理)
  3. 等差数列划分 II - 子序列(动态规划)
  4. Lost Cows POJ - 2182(线段树)
  5. 显示此文稿缺少字体_打开CAD图纸后,显示缺少SHX文件?这个解决方法你一定要知道...
  6. 高中生计算机专业的研究论文,高中计算机个性化教学模式研究的论文
  7. java 编译时找不到同一包中的文件_Java基础笔试练习(七)
  8. 玩转u-boot之【初探环境变量env/bootcmd/bootargs】
  9. [机器学习]超参数优化算法-SuccessiveHalving与Hyperband
  10. gEdit: 打造简洁,小巧的编程环境