首页 > 其他分享 >系统集成项目管理工程师(中级) -- 信息系统(三)

系统集成项目管理工程师(中级) -- 信息系统(三)

时间:2023-02-26 15:32:13浏览次数:32  
标签:测试 -- 系统集成 项目管理 对象 模块 软件 维护 过程

一、软件工程

1、软件需求 软件需求包括三个层次:业务需求用户需求功能需求非功能需求。业务需求反映了组织机构或客户对系统、产品高层次的目标要求,在项目视图与范围文档中予以说明。用户需求描述了用户使用产品必须要完成的任务。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。非功能需求包括产品必须遵从的标准、规范和合约,外部界面的具体细节,性能要求,设计或实现的约束条件及质量属性。 2、软件设计

  • 软件设计是把许多事物和问题抽象起来,并且抽象其不同的层次和角度。
  • 软件设计的基本原则是信息隐蔽模块独立性
  • 模块独立性比较强的模块是高内聚低耦合的模块。 模块的内聚性和耦合性如下: image.png 内聚性记忆口诀:“偶逻时过通顺功” 耦合性记忆口诀:“非数标控外公内” (1)一个模块直接访问另一个模块的内部数据。(2)一个模块不通过正常入口转到另一模块内部。(3)两个模块有一部分程序代码重叠(只可能出现在汇编语言中)。(4)一个模块有多个入口。 3、软件测试
  • 软件测试是指使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别
  • 软件测试从是否关心软件内部结构和具体实现的角度划分为白盒测试、黑盒测试、灰盒测试;从是否执行程序的角度划分为静态测试、动态测试;从软件开发的过程按阶段的角度划分为单元测试、集成测试、确认测试、系统测试、验收测试
  • 性能测试是通过自动化的测试工具模拟多种正常峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行,统称为负载压力测试。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
  • 压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 4、软件维护 软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。依据软件本身的特点,软件的可维护性主要由可理解性、可测试性、可修改性三个因素决定。 软件的维护从性质上分为纠错性维护、适应性维护、预防性维护完善性维护。纠错性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。适应性维护是指使用软件适应信息技术变化和管理需求变化而进行的修改。完善性维护是为扩充功能和改善性能而进行的修改。预防性维护是为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,主动增加预防性的新功能。

二、软件过程改进

  • 软件过程改进(Software Process Improvement,SPI)帮助软件企业对其软件过程的改进进行计划、制定以及实施,它的实施对象就是软件企业的软件过程,也就是软件产品的生产过程,当然也包括软件维护之类的维护过程。
  • CMM ( Capability Maturity Model for Software,全称为SW-CMM,软件能力成熟度模型)就是结合了质量管理软件工程的双重经验而制定的一套针对软件生产过程的规范。CMM是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好地实现商业目标。
  • CMM将成熟度划分为5个等级: image.png
  • CMMI (Capability Maturity Model Integration,能力成熟度模型集成)是CMM模型的最新版本。
  • CMMI也划分为5个成熟度级别:完成级 -> 管理级 -> 定义级 -> 量化管理级 -> 优化级 三、软件复用 软件复用,又称软件重用,是指在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。通常,把这种可重用的元素称作软件构件,简称为构件。可重用的软件元素越大,就说重用的粒度越大。 四、面向对象基础
  • 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。面向对象的软件系统是由对象组成的,复杂的对象由比较简单的对象组合而成;类是对象的抽象定义,是一组具有相同数据结构和相同操作的对象的集合,类的定义包括一组数据属性和在数据上的一组合法操作。也就是说,类是对象的抽象,对象是类的具体实例
  • 封装是对象的一个重要原则。它有两层含义:第一,对象是其全部属性和全部服务紧密结合而成的一个不可分割的整体;第二,对象是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码都被封装在黑盒子里面。使用一个对象的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法。
  • 继承是使用已存在的定义作为基础建立新的定义。
  • 多态中最常用的一种情况就是,类中具有相似功能的不同函数是用同一个名称来实现的,从而可以使用相同的调用方式来调用这些具有不同功能的同名函数。
  • 接口:操作的规范说明,说明操作应该做什么。
  • 消息和方法:对象之间进行通信使用消息来实现。类中操作的实现过程叫做方法。
  • 软件复用:用已有软件构造新的软件,以缩减软件开发和维护的费用,称为软件复用。
  • 抽象:针对特定实例抽取共同特征的过程。

标签:测试,--,系统集成,项目管理,对象,模块,软件,维护,过程
From: https://blog.51cto.com/u_15944471/6086626

相关文章

  • 单词拆分(字典树、记忆化搜索)、字母异位词分组(哈希表、字符串)、定义一个类Generator
    单词拆分(字典树、记忆化搜索)给定一个非空字符串s和一个包含非空单词的列表wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重......
  • 软件工程(3)--原型模型
    前言这是基于我所学习的软件工程课程总结的第三篇文章。原型模型又称原型化模型、快速原型模型书上对于(快速)原型模型的描述是:快速原型是快速建立起的程序,它所能完成的功能往......
  • redis(11)事务秒杀案例
    秒杀案例描述现在有1个秒杀的功能,1个原来价值5000元的手机现在搞活动,降价到1块钱,做秒杀活动。库存就10个,假设有10000人抢购。目前逻辑是:抢到了商品库存就减1,然后把用户id......
  • graphviz 简单入门
    上一位负责画图的选手CSAcademy由于不明原因暂时不能继续工作,所以本俱乐部招收了新选手graphviz。在Linux上,你可以这么下载:sudoaptinstallgraphviz在目录下新......
  • Learning Models with Uniform Performance via Distributionally Robust Optimizatio
    目录大致内容DuchiJ.C.andNamkoongH.Learningmodelswithuniformperformanceviadistributionallyrobustoptimization.TheAnnalsofStatistics,49(3),1......
  • LeetCode 39. 组合总和 40.组合总和II 131.分割回文串
    欢迎关注个人公众号:爱喝可可牛奶LeetCode39.组合总和40.组合总和II131.分割回文串LeetCode39.组合总和分析回溯可看成对二叉树节点进行组合枚举,分为横向和纵......
  • C#常用代码
    C#常用代码List操作取出list其中对象的属性值,还可以做去重复点的操作intcnt=list.Select(r=>r.point).Distinct().Count();字符串格式化stringline=string......
  • Python的max()函数输出为nan值
    Python的自带函数max()在使用时,若输入的数组中是以nan为开头的就会造成输出结果也为nan,其原因可能是在比较最大值时从第一个数开始比较,若第一个数即为nan则会导致之后的所......
  • 【LeetCode二叉树#08】寻找树左下角的值(回溯机制X深度)
    找树左下角的值力扣题目链接(opensnewwindow)给定一个二叉树,在树的最后一行找到最左边的值。示例1:示例2:思路层序遍历这个是很自然的思路,因为层序遍历可以避......
  • 密码常识测试
    密码常识测试对以下观点进行评论,分别论述你认为这个观点是正确还是错误的(1分)?为什么(2分)?你的参考资料或判断的信息来源是什么?(2分)1.很多企业和技术人文都有下面这样的想法......