信息系统项目管理师个人学习笔记讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、软件需求就是必须完成的事,以及必须具备的品质。软件需求包括功能需求、业务需求、设计约束3个方面。(1)功能需求:是指系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作。(2)非功能需求:是指产品必须具备的属性或品质,如可靠性、性能、响应时间、容错性、扩展性等。(3)设计约束:也称为限制条件、补充规约,这通常是对解决方案的一些约束说明,例如必须采用国有自主知识版权的数据库系统,必须运行在UNIX操作系统之下等。
2、需求工程,是一个包括创建和维护系统需求文档所必需的一切活动的过程,通常包括需求开发和需求管理两大工作。1)需求开发,包括需求捕获(掌握一门捕获技术),需求分析,编写规格说明书和需求验证四个阶段。2)需求管理,包括定义需求基线、处理需求变更、需求跟踪。(软件设计原则:信息隐蔽、高内聚低耦合)。
3、设计评审:在开发时期的每个阶段,特别是设计阶段结束时都要进行严格的技术评审,尽量不要让错误传播到下一阶段。设计评审一般采用评审会议的形式来进行。
4、软件测试(重点)是为了发现错误而执行程序的过程,是根据程序开发阶段的规格说明及程序内部结构而精心设计的一批测试用例(输入数据及其预期结果的集合),并利用这些测试用例去运行程序,以发现程序错误的过程。从软件开发者的角度出发,则希望软件测试成为表明软件产品中不存在错误的过程,验证该软件已正确的实现了用户的需求,确立人们对软件质量的信心。从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;测试用例应当由测试输入数据和对应的预期输出结果这两部分组成;程序员应避免检查自己的程序;在设计测试用例时,应包括合理的输入条件和不合理的输入条件;充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数据成正比。严格执行测试计划,排除测试的随意性;应当对每一个测试结果做全面检查;妥善保存测试计划、测试用例、出错统计和最终分析报告,为软件维护提供方便。软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。需求分析、概要设计、详细设计,以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明,以及源程序,都应成为软件测试的对象。软件质量保证关注的是过程中的活动,软件测试关注的是过程的产物。软件测试是软件质量保证的重要手段。
5、黑盒测试把测试对象看做一个空盒子,不考虑程序的内部逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,又称为功能测试或数据驱动测试。黑盒测试方法主要是在程序的接口上进行测试。黑盒测试的测试用例设计方法主要有:等价类划分、边界值分析、错误推测法、因果图。
6、白盒测试把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构和有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致,又称为结构测试或逻辑驱动测试。α测试(内测)是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。α测试可以从软件产品编码结束之时开始,或者在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。β测试(公测)是由软件的多个用户在实际使用环境下进行的测试。这些用户返回有关错误信息给开发者。
7、软件维护,从性质上分为:纠错型维护、适应型维护、预防型维护和完善型维护。(就是鱼丸)纠错型维护纠正在开发阶段产生而在测试和验收过程没有发现的错误。其主要内容包括:设计错误;程序错误;数据错误;文档错误。适应型维护为适应软件运行环境改变而作的修改。环境改变的主要内容包括:(1)影响系统的规则或规律的变化;(2)硬件配置的变化,如机型、终端、外部设备的改变等;(3)数据格式或文件结构的改变;(4)软件支持环境的改变,如操作系统、编译器或实用程序的变化等。完善型维护为扩充功能或改善性能而进行的修改。修改方式有插入、删除、扩充和增强等。主要内容包括:(1)为扩充和增强功能而做的修改,如扩充解题范围和算法优化等;(2)为改善性能而作的修改,如提高运行速度、节省存储空间等;(3)为便于维护而做的修改,如为了改进易读性而增加一些注释等。预防型维护是将潜在的漏洞在实际发生之前进行修复。以上四种维护都是在产品交付之后进行的。回归测试:测试的过程中发现问题经过修改后再进行测试。
8、一般认为,构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统。结构上,它是语义描述、通讯接口和实现代码的复合体。国际上常用的构件标准主要有三大流派,分别是COM/DCOM/COM+、CORBA和EJB。软件复用是指将已有的软件及其有效成分用于构造新的软件或系统。构件技术是软件重用的关键。为了使构件系统更切合实际、更有效的被复用,构件应当具备可变性,以提高其通用性。可复用的构件有较高的质量保证的原因是“可复用的构件在不断复用过程中,其中的错误和缺陷会被陆续发现,并得到及时排除”。CORBA(接口定义语言、接口池、动态调用接口、对象适配器)——CORBA标准主要分为三个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB;最上是公共设施;其核心部分是对象请求代理ORB。
9、中间件位于客户机服务器的操作系统之上,管理计算机资源和网络通讯。(中间件是为了解决
异构平台兼容问题)(1)中间件是一类软件,而非一种软件;(2)中间件不仅仅实现互连,还要实现应用之间的互操作;(3)中间件是基于分布式处理的软件,最突出的特点是其网络通讯功能。中间件分类:(1)数据库访问中间件:通过一个抽象层访问数据库,从而允许使用相同或相似的代码访问不同的数据库资源。典型的技术如Windows平台的ODBC和java平台的JDBC等。(2)远程过程调用(RPC):是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间内的过程,从效果上看和执行本地调用相同。
(3)面向消息中间件(MOM):利用高效可靠的消息传递机制进行平台无关的数据交流,并可基于数据通讯进行分布系统的集成。通过提供消息传递和消息排队模型,可在分布环境下扩展进程间的通讯,并支持各种通讯协议、语言、应用程序、硬件和软件平台。典型的产品如IBM的MQScrics。客户程序不直接与其他程序通信,避免了网络通讯的复杂性。消息队列和网络通讯的维护工作由MOM完成。(4)分布式对象中间件(5)事务中间件。10、面向对象=对象(Objects)+类(Classes)+继承(Inheritance)+消息通信(Communication with messages)。对象:是系统中用来描述客观事务的一个实体,是构成系统的一个基本单位。三个要素:对象标志(供系统内部唯一的识别对象);属性(状态、数据、用来描述对象的静态特征);服务(操作、行为或方法,用来描述对象的动态特征)。封装:是对象的一个重要原则。有两层含义:对象是全部属性和全部服务紧结合而形成的一个不可分隔的整体;对象是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码都被封装在黑盒子里面。抽象:是通过特定的实例抽取共同特征以后形成概念的过程。它强调主要特征,忽略次要特征。一个对象是现实世界中一个实体的抽象,一个类是一组对象的抽象。类和类库:类是对象的抽象定义,对象是类的实例,是一组具有相同数据结构和相同操作的对象的集合。继承:使用已存在的定义作为基础建立新定义的技术。多态性:可以分为四类:过载多态(重载多态)、强制多态、包含多态、参数多态。前两种统称为专用多态(特定多态),后两种称为通用多态。类之间的关系:(1)依赖关系——如果元素A的变化会引起B的变化,则B依赖于A。(2)泛化关系——继承的反义词;(3)关联关系——聚合关系、组合关系表示两个类的实例之间存在的某种语义上的联系。例如一个老师在某学校工作,一个学校有多间教室。那么,教室和学校,学校和老师之间存在着关联关系;(4)实现关系——用来规定接口和实现接口的类或组件之间的关系,接口是操作的集合,这些操作用于规定类或组件的服务。11、统一建模语言UML:是用于系统的可视化建模语言。(1)UML是一种语言;(2)UML是一种可视化语言;(3)UML是一种可用于详细描述的语言;(4)UML是一种构造语言;(5)UML是一种文档化语言。UML对系统构架的定义是:系统的组织结构,包括系统分解的组成部分、它们的关联性、交互机制和指导原则,这些提供系统设计的信息。具体来说,是指五个视图:(1)逻辑视图:以问题域的语汇组成的类和对象集合。(2)进程视图:可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例。(3)实现视图:对组成基于系统的物理代码的文件和组件进行建模。(4)部署视图:把组件物理地部署到一组物理的、可计算节点上。(5)用例视图:最基本的需求分析模型。UML的图:很重要。UML2.0支持13种图,它们可以分为两大类:结构图和行为图。结构图包括类图、组合结构图、构件图、部署图、对象图和包图;行为图包括活动图、交互图、用例图和状态机图,其中交互图是顺序图、通信图、交互概览图和时序图的统称。