《(网络工程师培训)主题02系统开发和运行基础知识(2006-.ppt》由会员分享,可在线阅读,更多相关《(网络工程师培训)主题02系统开发和运行基础知识(2006-.ppt(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、系统开发和运行基础知识系统开发和运行基础知识主题五主题五 5.1 主要知识点1 系统开发基础知识2 系统运行和维护知识3 典型试题分析5.2 系统开发基础知识5.2.1 需求分析和设计方案5.2.2 开发环境5.2.3 测试评审方法5.2.4 项目管理基础知识5.2.5 系统可审计性5.2.1 需求分析和设计方案软件工程概述结构化分析设计 面向对象分析设计 模块设计、I/O设计、人工界面设计软件工程概述软件:程序、软件与软件产品独唱-小合唱-合唱-万人大合唱|简单程序 较复杂程序 软件 软件包括程序:按事先设计的功能和性能需求执行的指令序列数据:是程序能正常操纵信息的数据结构文档:与程序开发、
2、维护和使用有关的图文材料软件工程概述软件工程:定义 指导计算机软件开发和维护的工程学科 工程方法+管理技术+技术方法 B.W.Boehm七条基本原理 确保软件质量和开发效率 具较低的维护费用和较高的可靠性软件工程概述B.W.Boehm七条基本原理:n用分阶段的生命周期计划严格管理n坚持进行阶段评审n实行严格的产品控制n采纳现代程序设计技术n结果应能清楚地审查n开发小组的人员应少而精n承认不断改进软件工程实践的必要性软件工程概述软件危机:定义计算机软件的开发和维护过程所遇到的一系列严重问题 表现n对软件开发成本和进度的估算很不准确n用户很不满意n质量很不可靠n没有适当的文档n软件成本比重上升n供
3、不应求:软件开发生产率跟不上计算机应用迅速深入的趋势 软件工程概述软件危机原因:客观:软件本身特点n逻辑部件n规模庞大 主观:不正确的开发方法n忽视需求分析n软件开发=程序编写n轻视软件维护软件工程概述软件危机解决途径:组织管理n工程项目管理方法 技术措施n软件开发技术与方法n软件工具结构化程序设计程序=数据结构+算法传统软件工程方法n软件分析 总体设计 详细设计 面向过程的编码 测试 结构化分析模型加工说明数据对象说明STD图DFD图E-R图DD控制说明快速原型程序设计程序=原型+需求分析快速原型软件工程方法n快速分析 构造原型 运行、评价 修改 产品结构化分析模型构造快速分析修改原型运行评
4、价方向面向对象程序设计程序=对象+消息面向对象软件工程方法n软件分析与对象抽取 对象详细设计 面向对象的编码 测试面向对象分析模型属性、操作、协作者对象-行为模型对象-关系模型类/对象模型使用实例面向对象的基本概念对象Object类Class继承Inheritance消息Message 面向对象对象+类+继承+消息通信对象Object客观世界中的实体n状态(静态属性 Attributes)n操作(动态行为 Mehtods)对象:=nIdentifiernMethod SetnData StructurenMessage Interface对象的特点以数据为中心 对象是主动的实现数据封装 本质上
5、有并行性模块独立性好类Class和实例Instance类n相同属性和行为的对象的抽象实例n特定类所描述的一个具体对象继承(Inheritance)子类直接继承父类的数据和操作继承的传递性,单继承、多重继承家具桌子椅子衣柜床椅子的实例多态性Polymorphism概念不同类层次共享一个方法名相同的参数特征和返回值类型多种不同实现C+中虚函数实现动态联编重载Overloading函数重载n同一作用域n多个名字相同的函数n参数特征不同n静态联编运算符重载消息Message对象间的交互手段形式:nMessage:dest,op,paranDestination ObjectnOperationnPar
6、ameters模块设计模块:n以单独命名和可编址的构件被集合,以满足问题的需求。模块属性:n接口功能逻辑状态模块设计:n以指解决一个复杂问题是自顶向下独层 把软件系统划分成若干模块,一个模块完成一个子功能,所有模块按某种方法组装起来,成为一个整体,完成整个系统所有的功能。作用:n使一个软件易于为人们理解、设计、测试和维护。I/O设计面向批处理:逻辑的组织输入 有效的出错检查 好的I/O出错恢复 合理的输出格式面向互交:简单而带提示性的输入方式 完备的出错检查和出错恢复 人机工程的输出 I/O格式一致性人工界面设计基本原则:n一般可交互性n信息显示n数据输入注意问题:n系统响应时间n用户帮助设施
7、n出错信息处理n命令互交人工界面设计界面形式:n问答式n菜单n图符n表格n命令语言人工界面设计5.2.2 开发环境开发工具集成开发环境开发工具设计工具 编程工具测试工具 CASE(维护、管理)n用来辅助软件开发、运行、维护、管理、支持等过程中的活动软件集成开发环境 各种类型的软件工具通常集中于某个软件环境中,此类环境称为集成开发环境。集成开发环境按解决问题分类:n程序设计环境n系统合成环境n项目管理环境按现有软件开发环境的演变趋向分类:n以语言为中心的环境n面向结构的环境n工具箱环境n基于方法的环境按集成化程度分类5.2.3 测试评审方法软件测试概述软件评审测试设计和管理方法 (注入故障、系统
8、测试)软件测试概述测试目的:n测试是一个为了发现错误而执行程序的过程n好的测试用例是很可能找到尚未发现的错误n成功的测试是指发现了尚未发现的错误测试原则:n所有的测试都要追溯到用户需求n应该尽早制定测试计划n应该由第三方进行测试工作n穷举测试是不可能的n充分注意到错误的群集现象n测试应该从“小规模”到“大规模”软件测试概述测试方法:n白盒子测试n黑盒子测试测试类型:n恢复测试n安全性测试n强度测试软件测试概述测试步骤:软件测试概述测试用例设计:n逻辑覆盖n等价划分n边界值分析n图形技术纠错技术:n蛮干n消去原因n回溯软件评审 评审的目的是检验工作产品是否正确的满足了以往的工作产品中建立的规范,
9、如需求或设计文档,识别工作产品相对于标准的偏差,包括可能影响软件可维护性的问题,提出改进建议。审评 对象包括所有中间和最终的开发工作产品。审评分两步,首先从管理的角度进行审查,然后 对系统元素和功能进行技术评估。软件评审项目评审需求规范的评审设计的评审编码检验测试评审测试设计和管理方法注入故障系统测试5.2.4 项目管理基础知识制定项目计划 质量管理与评估过程管理(PERT图、甘特图、工作分解结构、进度控制、关键路径)配置管理 人员计划和管理 文档管理(文档规范、变更手续)开发组织和作用(开发组成员、项目经理)成本组织和风险管理制定项目计划确定软件范围:n项目目标、功能、性能与约束n系统接口估
10、计项目:n估计项目规模n估计工作量和成本n估计资源编写项目进度表制定项目计划项目组成员责任表:成员1成员2成员3成员4成员5成员6成员7系统分析PSS系统设计SSPSS编程实现SSPSS系统测试PSS设备采购SSPP表示负责人,S表示辅助者质量管理与评估n如果在软件开发生命周期后期才发现的缺陷将会大大增加成本,因此,我们想尽可能早地找出缺陷,最好在缺陷的产生阶段就把它找出来,这就涉及到建立一个软件质量的基础设施来帮助在缺陷产生阶段进行错误探测了。n为了开发高质量的软件,必须进行有系统、有计划的软件质量保证(SQA)活动。质量管理保证活动 在需求分析阶段对软件质量提出要求,并自顶向下逐步分解为可
11、以亮度、可以控制的质量要素,为软件开发、维护各个阶段的软件测量、定量和定性打下基础;研究并选用软件开发方法和工具;对软件工程各个阶段进行正式技术审查(FTR);制定并执行软件测试策略和测试计划;生成软件文档并对文档的改变进行控制;保证软件开发过程与选用软件开发标准相一致;建立软件质量要素的测量机制;记录SQA活动并生成各种SQA报告。过程管理PERT图甘特图工作分解结构进度控制关键路径过程管理PERT图制定项目计划甘特图:配置管理关键要素:配置管理以结构为中心,软件配置管理主要关心:n软件产品的个组成单元n软件产品结构n软件产品的构造n软件开发项目组以开发过程为中心,软件配置管理则主要管理:n
12、审核处理n统计处理n控制处理n工程管理人员计划和管理成员1成员2成员3成员4成员5成员6成员7系统分析PSS系统设计SSPSS编程实现SSPSS系统测试PSS设备采购SSPP表示负责人,S表示辅助者文档管理项目任务书可行性研究报告软件需求说明书数据要求说明书概要设计说明书数据库设计说明书测试计划编码与单元功能模块程序文件说明书用户手册项目开发总结报告开发组织和作用项目经理n监控开发过程,确保软件在一定时间内开发配置管理者n确保代码的创建、变更和测试等活动都执行响应的程序和方针,并使有关工程的信息都是可以访问的系统分析员n负责软件需求规格说明的开发,并参与整个评审系统设计员(美工程序员)n有效的
13、创建和维护软件。(界面的设计和代码的编写)测试员n找出系统的所有错误和漏洞,确保软件经过测试并且结果符合要求质量保证经理n确保产品的高质量成本组织和风险管理软件库存情况更新 开发者 W.Ward 日期2/8/2005阶段项目任务工作量分布小计计划和需求制定软件需求定义56开发计划1系统设计产品设计610初步的用户手册3测试计划1详细设计详细PDL描述412数据定义4测试数据及过程设计2正式的用户手册2编码与单元测试编码616单元测试结果10组装与联合测试按实际情况编写文档49组装与测试5总计53软件开发各阶段工作量分配表风险管理风险识别:n指系统化地确定对软件项目计划(估计、进度、资源分配)构
14、成威胁的因素。n通过风险识别,项目管理者可以对潜在的风险做到心中有数、并估算风险带来的影响,从而要效地避免或控制风险。风险估计n又称风险预测,指软件项目管理人员从风险发生的可能性或概率,以及风险发生后带来的影响两个方面对风险做出的评价。n通常包括四种活动:n建立风险度量指标体系,以反映风险发生的可能性;n指明风险发生后的损失;n估算风险发生后对软件项目及软件产品的影响;n标注风险估算的整体精确度,以免产生错误。风险管理风险评价n通过风险的数量、风险出现的概率、风险的影响来对风险进行分析评价。n做风险评价步骤:n为项目定义风险参照水准;n尝试找出在每个风险和每个参照水准之间的关系。n预测参照点组
15、以定义一个终止区域,用一条曲线或一些易变动区域来界定。n预测什么样的风险组合会影响参照水准。风险管理风险驾驭和监控(RMMP):n指利用某些技术,如原型化、软件自动化、软件心理学、可靠性工程学和某些项目管理方法对风险进行缓解、监控和管理。n一个有效的风险驾驭的策略必须考虑:n风险避免n风险监控n风险应急计划5.2.5 系统可审计性审计方法和跟踪在系统中纳入可审计性n在系统开发过程中,审计工作伴随着进行,随时监控系统质量。审计方法和跟踪审计方法n指系统管理人员为了达到系统审查和监管目的,完成审计任务所采用的各种具体方法的总称。常见方法:n日志审计n安全审计n信息完整性审计n代码审计系统审计人员应
16、可以通过检测信息系统的可用性、安全性和过程的完整性来确定其是否可信。5.3 系统运行和维护知识5.3.1 系统运行5.3.2 系统维护5.3.1 系统运行 系统运行管理的常规目标就是对系统的运行进行实时控制,记录其运行状态,进行必要的修改和扩充,以便使软件系统真正的符合设计的需要,为用户系统。首先,系统需要一套管理制度,以确保信息系统的正常运行。其次,信息系统的日常运行管理是为了保证系统能长期、有效的正常运转,具体包括系统运行情况的记录、系统运行的日常维护等工作。最后,对系统软件及文档进行管理。5.3.1 系统运行系统运行环境管理(计算机系统、网络)系统成本管理系统运行(作业调度、数据I/O管
17、理、操作手册)用户管理(ID注册和管理)设备和设施管理(电源、空调设备、设备管理、设施安全管理)系统故障管理(处理手续、监控、恢复过程、预防措施)安全管理性能管理系统运行工具(自动化操作工具、监控工具、诊断工具)系统转换(转入运行阶段、运行测试、版本控制)系统运行服务标准系统运行环境管理包括:n系统应用的算机系统n系统所在网络系统成本管理成本管理包括环节:n成本预测n成本决策n成本计划n成本控制n成本核算n成本分析n成本考核其中的两大核心内容是成本控制和成本核算。系统运行 对系统运行情况的记录应事先制定登记格式和登记要点,人工记录的系统运行情况和系统自动记录的运行信息,都应作为基本的系统文档按
18、照规定的期限保管。尤其要记录作业调度、数据I/O管理。用户管理系统IP地址分配用户资料库管理用户ID注册用户级别设置用户权限设置用户日志系统工作状态监控设备和设施管理软件网络主机电源空调系统故障管理 故障管理主要对网络硬件、软件、电源的故障和信道进行管理。故障管理于预防措施为前提,对系统进行监控,在系统发生故障时按照处理手续进行恢复。安全管理 安全管理的目的是提供信息的隐蔽、认证和完整性保护机制,使网络中的服务、数据以及系统免受侵扰和破坏。性能管理性能管理的目的是维护网络服务质量(QoS)和网络运营效率。性能管理提供:n性能检测功能n性能分析功能n性能管理控制功能n数据库的维护的功能n在发现性
19、能严重下降时启动故障管理系统的功能系统运行工具 系统运行工具是为了解放人的劳动并解决一些人自身难以解决的问题而产生的自动化辅助工具。系统转换 在进行新老系统转换之前,首先要对新系统进行试运行。新系统试运行成功后,就可以在新系统和老系统之间互相转换。新旧系统之间的转换方式有直接转换、并行转换和分段转换。系统运行服务标准 确定优质服务标准的准则:具体化、简明、可测定,确定优质服务标准应建立在客户的要求之上,写进工作说明和实施评价中5.3.2 系统维护软件维护过程模型5.3.2 系统维护 系统维护是保证信息系统稳定、安全运行的有效途径和手段。系统的可维护性可以定义为维护人员理解、改正、改动和改进这个
20、软件系统的难以程度。系统可维护性的评价指标:n可理解性n可测试性n可修改性5.3.2 系统维护维护的分类(完善性维护、纠错性维护、适应性维护、预防性维护)维护的实施(日常检查、定期维护、预防性维护、事后维护、远程维护)软/硬件维护,合同维护维护副作用维护的分类完善性维护:n增加或修改系统功能纠错性维护:n诊断和改正软件系统中潜伏下来的错误适应性维护:n是软件适应不同的操作环境预防性维护:n改善软件系统的可维护性和可靠性完善性维护50纠错性维护20适应性维护25其他5维护的实施日常检查、定期维护、预防性维护、事后维护、远程维护维护副作用 在进行系统维护的过程中,还需要注意维护的副作用,包括:n编码副作用n数据副作用n文档副作用5.4 典型试题分析