搜档网
当前位置:搜档网 › 软件工程9种图

软件工程9种图

软件工程9种图
软件工程9种图

UML的9种图

上文我们介绍了,UML的视图,在每一种视图中都包含一个或多种图。本文我们重点讲解UML每种图的细节问题:

1、用例图(use case diagrams)

【概念】描述用户需求,从用户的角度描述系统的功能

【描述方式】椭圆表示某个用例;人形符号表示角色

【目的】帮组开发团队以一种可视化的方式理解系统的功能需求

【用例图】

2、静态图(Static diagram)

(1)类图(class diagrams)

【概念】显示系统的静态结构,表示不同的实体是如何相关联的

【描述方式】三个矩形

【目的】表示一个逻辑类或实现类,逻辑类通常是用户的业务所涉及的事物;实现类是程序员处理的实体

【类图】

(2)对象图(object diagrams)

【概念】类图的一个实例,描述系统在具体时间点上所包含的对象以及各个对象的关系

【对象图】

3、交互图(Interaction Diagram)

用来描述对象之间的交互关系

(1)序列图(顺序图)(Sequence Diagram)

【概念】描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序

【描述方式】横跨图的顶部,每个框表示每个类的实例或对象;类实例名称和类名称使用冒号分开

【目的】显示流程中不同对象之间的调用关系,还可以显示不同对

象的不同调用。

【序列图】

(2)协作图(Collaboration diagrams)

【概念】描述对象之间的合作关系,侧重对象之间的消息传递

4、行为图:描述系统的动态模型和对象之间的交互关系(1).状态图(Statechart diagrams)

【概念】描述对象的所有状态以及事件发生而引起的状态之间的转移

【描述方式】

起始点:实心圆

1状态之间的转换:使用开箭头的线段

2状态:圆角矩形

3判断点:空心圆

4一个或多个终止点:内部包含实心圆的圆

【目的】表示某个类所处的不同状态以及该类在这些状态中的转换过程

(2).活动图(Activity diagrams)

【概念】描述满足用例要求所要进行的活动以及活动时间的约束关系

【描述方式】

2起始点:实心圆

5活动:圆角矩形

1终止点:内部包含实心圆的圆

1泳道:实际执行活动的对象

【目的】表示两个或多个对象之间在处理某个活动时的过程控制流程

【活动图】

活动图和状态图区别:

5、实现图Implementation diagram (1)构件图(Component diagrams)

【概念】描述代码构件的物理结构以及各构件之间的依赖关系【描述方式】构件

【目的】提供系统的物理视图,根据系统的代码构件显示系统代码的整个物理结构

【构架图】

(2)部署图(Deployment diagrams)

【概念】系统中硬件的物理体系结构

【描述方式】

1三维立方体表示部件

2节点名称位于立方体上部

【目的】显示系统的硬件和软件的物理结构

【部署图】

九种UML图详解到此为止,下篇文章专门给大家讲解UML中类间的关系,感谢您的访问。

UML中类间的关系

类与类之间的关系通常有4种,即依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)、实现关系(Realization)

1,依赖关系(Dependency)

【概念】表示两个或多个模型元素之间语义上的连接关系

【绘图方式】虚线箭头,箭头指向被使用者

【依赖图】

2,泛化关系(继承)(Generalization)

【概念】描述类的一般和具体之间的关系,描述的“is a kind of ”的关系

【绘图方式】实线空心三角箭头,箭头指向父类

【继承方式】

1单继承

一个类只有一个父类

3多继承

一个类可以有多个父类,可以从每一个父类中获得允许继承的信息

【泛化图】

3.关联关系(Association)

【概念】表示一个事物的对象与另一个事物的对象之间的语义上连接,简单的理解为两个类或类与接口之间的强依赖关系

【绘图方式】实线箭头,双向箭头或无箭头

【包括】

1 聚集

【概念】描述的是部分与整体关系,描述了“has a”的关系,部分离开整体可以单独存在

【绘图方式】空菱形的实线,头部指向整体

【聚集关系图】

2,组成

【概念】一种更强形式的关联,在整体中拥有管理部分特有的职责,也被称为强聚合关系,部分不能脱离整体存在

【绘图方式】实菱形的实线,头部指向整体

【组成关系图】

4.实现关系(Realization)

【概念】将一种模型关系与另一种模型关系连接起来,从而说明和其实

现之间的关系,简单的理解为一个类或多个类实现一个接口

【绘图方式】封闭空箭头的虚线,箭头指向接口

【实现关系图】

泛化和实现关系的区别:

泛化关系是指同一语义层的元素连接起来,通常在同一模型内;实现关系将不同语义层内的元素连接起来,通常在不同模型内。

UML的视图

相信大家都知道UML的全称,统一建模语言(UML是Unified Modeling Language的缩写)是用来对软件系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。

我想问大家两个问题:

一、什么是模型?模型是对现实世界的形状或状态的抽象模拟和简

化。

二、为什么要建模?最简单的理由:为了能够更好地理解正在开发

的系统。通过建模,可以达到四个目的:

1、有助于按照需求对系统进行可视化的分析

2、能够系统的结构或行为

3、给出了知道构造系统的模板

4、对做出的决策进行文档化

本文是我们主要介绍UML的七种视图,所谓一张图胜于千言万语,我们就用图来介绍UML的视图:

第一张图:总体的给大家一个影响,UML的七种视图。

第二章图;详细的讲解每个视图。

UML的七种视图各有各自的特点,各自有各自的作用。只有正确的认识七种视图才能对UML的九种图进行更加详细、深入的学习。UML的九种图是七种视图的具体表现形式。下一篇文章重点讲解UML

的九种图,感谢大家及时关注。

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

软件工程——软件开发过程中用到的各种图

软件工程——软件开发过程中用到的各种图 一、宏观导图 导图说明:我们的软件开发中用到的各种图型工具都是为了辅助我们更好的理解开发的阶段或者过程。上图是根据软件过程中各个阶段所需要用到的各种图的一个小结。下面是各种图的简介和示例。 二、谈细节: 1、问题定义阶段(规划阶段): UC图:( Use Creat 图)它是 BSP( business system planning )法中常用的子系统划分工具。

2、可行性分析 2.1系统流程图:是描述系统物理模型的一种传统工具。它是表达数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。系统流程图形象的呈现了软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。

3、需求分析: 3.1 DFD图(Data Flow Diagram):从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程.建立系统的功能模型。 3.2 ERD(Entity-Relationship Diagram)图:当数据量很大并且数据间关系复杂时对于数据的分析就得用到它来刻画系统数据模型

3.3 IPO(input process output)图描述了输入数据、处理数据、输出数据之间的关系。 3.4 STD(State Transition Diagram)图:刻画系统响应外部事件的过程。为系统的行为建模。

面向数据结构的几个图形工具: 3.5 层次方框图:用来展示数据的层次结构 3.6 warnier图:和层次方框图一个意思,不过她能描述的手段比层次图更加丰富。

软件工程作业用例图,状态图类图

软件工程作业用例图,状态 图类图 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

软件工程设计方案 学院计算机学院 专业软件工程 班级 2012 级 4 班 学号 86 姓名黎伟杰 指导教师崔洪刚 ( 2015 年 1 月)

计算机学院软件工程专业12级4班班学号:86 姓名:黎伟杰协作者:________ 教师评定: 问题定义:为实现一个功能强大的学生宿舍管理信息系统,它主要实现对入住人员的管理及对宿舍的其它管理,如新生、老生的基本信息处理,毕业生退宿,水、电费的超额处理。该系统功能齐全,操作简便,实用性强,主要包括三个模块:资料管理模块、宿舍管理模块、收费管理模块最后还给出实现的设计思想和关键技术。 系统名称:学生宿舍管理系统 作者名称:广东工业大学计算机学院软件工程12(4)班86 黎伟杰 系统功能描述:随着计算机的应用与普及,现在越来越多的学校学生宿舍都是利用计算机来控制和管理的,学校的不断发展,人数的不断增长,生活水平的提高,要求也越来越高。为了改善学校的宿舍管理,为此开发了学生宿舍管理信息系统软件。本系统要学生用户对它进行查询,管理员有效地对它进行管理用户,即随时可以对它进行添加与删除,在没有旁人指导的情况下,用户也可以进入这个系统并且知道该如何使用它,比如,用户点击进入后就会出现一个系统登陆对话框,根据用户的用户名和密码,点击“登陆”按钮,就可进入系统。这个系统可以适用于各大院校,具有管理权限的用户可以对系统进行修改,没有此权限的用户只能对系统进行查询。 用例图:

数据流图:

软件工程试题与答案-(27)

一.单项选择题(每题1分,20题共20分) 1.计算机系统可以划分为软件系统和硬件系统,软件是一种 A.逻辑产品 B.文档资料 C.程序代码D.物理装置 2.可行性分析研究的主要目的是 A.定义项目 B. 项目是否值得开发 C.开发项目 D.规划项目 3.在下列四种模块的耦合性中,信息隐蔽性能最好的是() A.控制耦合 B.内容耦合 C. 数据耦合 D. 特征耦合 4.需求分析是回答系统必须()的问题。 A. 为谁做 B.怎么做 C.何时做 D.做什么 5.在UML中,类是用()表示的 A 矩形框 B 椭圆 C 箭头 D 菱形框 6.编码阶段是位于哪个阶段之后 A. 详细设计 B. 可行性研究 C. 总体设计 D. 需求分析 7.在数据流图中,圆圈符号表示的是 A. 数据源点或终点 B.数据处理 C. 数据存储 D. 数据流 8.内聚是衡量模块内部聚合能力的量度。内聚越高,说明模块内各成分彼此联系的程度 A.越松散B.彼此相等C.越紧密D.没有联系 9.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于() A、维护时期 B、开发时期 C、运行时期 D、计划时期 10.软件维护有四种,下面哪一个不是的 A. 完善性维护 B. 测试性维护 C. 预防性维护 D. 适应性维护 11.结构化程序设计采用的三种基本控制结构是() A.顺序、选择、重复 B.选择、循环、重复 C.顺序、分支、选择 D.输入、变换、输出 12.软件测试的目的是() A. 为了表明程序没有错误 B.为了发现程序中的错误 C. 为了说明程序能正确地执行 D.为了评价程序的质量 13.在UML的用例图中,人形符号表示的是 A 关联 B 用例C角色 D 系统 14.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试() A、结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑 15.下面哪些测试属于黑盒测试()。 A、路径测试 B、循环测试 C、等价类划分 D、条件判断 16.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A封装 B 继承 C 多态性 D 消息 17.在UML中,协作图反映收发消息的对象的结构组织,它与()是同构的 A 用例图B时序图 C 活动图 D 类图 18.需求分析是软件生存周期中的一个重要阶段,它的应该是在()进行。 A、维护阶段 B、软件开发全过程 C、软件定义阶段 D、软件运行阶段

软件工程复习资料-完整版

一、选择题: 1、用例图中,用来表示用例的符号为(B)。 A B. C. D. 2、协作图中包含的元素包括(A)。 A. 对象 B. 链 C. 激活 D. 消息 3、在类图中,哪种关系表达整体与部分的关系(D)。 A.泛化 B. 实现 C. 依赖 D. 聚合 4、下列各种图形符号中,用来表示组成关系的符号为(B)。 A. B. C. D. 5、(A)工具在软件的详细设计中不能使用。 A.DFD B. N-S图 C. 流程图 D. PDL 6、“软件危机”是指(C)。 A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。

A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。 A. 对象 B. 参与者 C. 消息 D. 激活 9、下列UML图形中,(ABCD)属于UML的动态视图。 A. 协作图 B. 状态图 C. 活动图 D. 顺序图 10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。 A. 数据库设计 B. 数据通信 C. 数据关系描述 D. 数据定义 11、详细设计与概要设计衔接的图形工具是(D)。 A. DFD图 B. 程序图 C. PAD图 D. SC图 12、UML中,大多数建模者把节点分为(AC) A. 设备 B. 构件 C. 处理器 D. 显示器 13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。 A.时间图 B. 流程图 C. 活动图 D. 状态图 14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。 A. 状态图 B. 序列图 C. 协作图 D. 活动图 15、下列特点属于描述用例的特点的是(D)。 A. 相对独立:不需要与其他用例交互,即功能是完备的

软件工程各种图的画法考试必备

1.完成患者监护系统功能级的数据流图、实体联系图、软件结构图。 2.网上书店系统,其外部用户主要有游客、会员和管理员。其中,游客进行注册后,可以成为系统的会员,会员享有订购图书及订单和书籍等信息查询的功能,管理员可对系统的各种信息进行管理和维护。根据上述描述,请画出网上书店系统的:①基本系统模型(第0层);②功能级的数据流图(第1层);③底层的订购图书数据流图。 1.把如下统计空格程序的Jackson图改画为等价的程序流程图和盒图。 2、用Jackson图描述下述的一列火车的构成: 一列火车最多有两个火车头。只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车的最后面。火车头既可以是内燃机车也可以是电气机车。车厢分为硬座车厢、硬卧车厢和软卧车厢等3种。硬座车厢在所有车厢的前面部分,软卧车厢在所有车厢的后面部 分。此外,在硬卧车厢和软卧车厢之间还有一节餐车。 1.饮用水自动销售系统的工作过程大致如下:如果投入1元硬币,则自动放水5升;如果投入5角硬币,放水2.5升;如果选择1元,投入2个伍角的硬币,也可放水5升。如果饮用水来不及生成,系统会把硬币退出来并亮红灯。收到的硬币由收银员定时回收。试画出该系统的用例图。 2.某寄宿学校需要开发一个信息管理系统,通过该管理系统对学生的日常事务进行管理: 校长助理:管理学生的档案,进行新增、删除、查询、修改等操作;对学生班级进行管理(新增、删除等),进行新学生的编班工作和调班工作,查询班级名册等情况。 财务人员:进行每月的收费和退费工作,每个学生的每月费用包括住宿费,伙食费220,在6-8 月收取空调费20,在11-2 月收取取暖费20,每个学期的开学初(3 月、9 月)收取书本费(不定)。住宿费分三种情况:双职工的子女为60,单职工的子女80 元,父母均不在本单位工作为100 元。每个班的老师在每天要申报本班学生的出勤表,由校长助理完成各班的考勤录入,考勤情况决定上月的伙食退费,以每天10 元计算。 学生家长:在对退费有疑问时,可以查询学生的出勤情况。请画出本系统用例图。 1、汽车和自行车都是交通工具。一辆自行车只能归一个人拥有,但一辆汽车可归一个人或者两个人拥有。一个人可能没有自行车或汽车.也可能拥有多辆自行车或汽车。人分男人和女人两类,每个人都具有年龄和名字。在任何时候,一辆汽车上可能载有0个多个乘客。每辆汽车都有自己的颜色和商标。特别地,每辆汽车都只有两个前灯和一台发动机。请画出类图。 2、用聚集关联表示家用计算机系统的组成。家用计算机系统是由主机箱、键盘、鼠标、显示器、CD—ROM驱动器、一个或多个硬盘驱动器、调制解调器、软盘驱动器、打印机组成,还可能包括几个音箱。而主机箱内除CPU外带着一些驱动设备,例如显示卡、声卡等。 3、建立一个能够反映咨询公司日常业务的类图。为每一个关联起一个名字,并写上重数。该类图可能包括下列的类:顾问、客户、项目、提案、数据和报告。 4、画出打电话操作过程的事件跟踪图(即序列图)。 5、活动图是状态图的一种特殊情况。用于简化描述一个过程或者操作的工作步骤。活动用圆角矩形表示——比状态图更窄,更接近椭圆。一个活动中的处理一旦完成,则自动引起下一个活动的发生。箭头表示从一个活动转移到下一个活动。和状态图类似,活动图中的起点用一个实心圆表示,终点用一个同心圆(内圆为实心圆)表示。在活动图中可以带判定点,即一组条件引发一条执行路径,另一组条件则引发另一条执行路径,并且这两条执行路径是互斥的。判定点常用小的菱形图标表示,同时在相关路径的附近指明引起这条路径被执行的条件,条件用方括号括起来。请用活动图描述打电话过程。

软件工程各种图的画法(考试必备)

1.完成患者监护系统功能级得数据流图、实体联系图、软件结构图。 2.网上书店系统,其外部用户主要有游客、会员与管理员。其中,游客进行注册后,可以成为系统得会员,会员享有订购图书及订单与书籍等信息查询得功能,管理员可对系统得各种信息进行管理与维护。根据上述描述,请画出网上书店系统

得:①基本系统模型(第0层);②功能级得数据流图(第1层);③底层得订购图书数据流图。

1.把如下统计空格程序得Jackson图改画为等价得程序流程图与盒图。 2、用Jackson图描述下述得一列火车得构成: 一列火车最多有两个火车头。只有一个火车头时则位于列车最前面,若还有第二个火车头时,则第二个火车头位于列车得最后面。火车头既可以就是内燃机车也可以就是电气机车。车厢分为硬座车厢、硬卧车厢与软卧车厢等3种。硬座车厢在所有车厢得前面部分,软卧车厢在所有车厢得后面部分。此外,在硬卧车厢

与软卧车厢之间还有一节餐车。 1.饮用水自动销售系统得工作过程大致如下:如果投入1元硬币,则自动放水5升;如果投入5角硬币,放水2、5升;如果选择1元,投入2个伍角得硬币,也可放水5升。如果饮用水来不及生成,系统会把硬币退出来并亮红灯。收到得硬币由收银员定时回收。试画出该系统得用例图。 2、某寄宿学校需要开发一个信息管理系统,通过该管理系统对学生得日常事务进行管理: 校长助理:管理学生得档案,进行新增、删除、查询、修改等操作;对学生班级进行管理(新增、删除等),进行新学生得编班工作与调班工作,查询班级名册等情况。 财务人员:进行每月得收费与退费工作,每个学生得每月费用包括住宿费,伙食费220,在6-8月收取空调费20,在11-2 月收取取暖费20,每个学期得开

软件工程各章重点

软件工程各章重点 第1章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么? 答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义? 答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 3. 软件工程研究的主要内容是什么? 答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。 4. 软件工程的7条基本原理是什么? 答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期? 答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?

答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗? 答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些? 答:结构化方法和面向对象方法。 9. 软件标准的层次是如何划分的? 为了提高软件开发的效率,保障软件产品的质量,软件工程领域中公布了许多国际标准、国家标准、行业标准、企业标准、项目规范,通常由低级到高级使用。软件工程的标准关系到许多方面,有规范开发过程的标准,有定义产品的标准,还有管理标准和记法符号的标准等等。 10. 软件工程师职业道德规范的8组关键词是什么? 答:1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 11. 职业化软件工程师要注意的十大问题是什么? 答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第2章本章的题型主要是选择题。

软件工程试题及答案53581

软件工程 一、填空题(每题2分,共20分) 1、系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种 元素之间的( )情况。 2、成本效益分析的目的是从( )角度评价开发一个项目是否可行。 3、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( ) 。 4、在JSP方法中解决结构冲突的具体办法是( )。 5、详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。 6、所有软件维护申请报告要按规定方式提出,该报告也称( )报告。 7、独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路 径是至少包含有一条( )的边的路径。 8、设计任何一个人机界面,一般必须考虑()四个方面。 9、在软件测试中,已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明 的规定正常进行的方法称为()测试法。 10、()是对软件结构中模快间关联程度的一种度量。 三、判断题(每题2分,共20分) 1. 缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。 () 2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。() 3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手 资料,并从中提取出有价值的需求。() 4. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些 复杂的算法等场合。() 5. 流程图也称为程序框图是最常用的一种表示法。 6. 面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基 本形式表示数据等步骤。() 7. 理想的人机界面应针对具有典型个性的特定的一类用户设计。() 8. 数据输入的一般准则中包括尽量增加用户输入的动作。() 9. 用穷举测试是较现实的测试方法。() 10、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动。() 四、论述题(共40分) 1、软件维护是软件生命周期的重要组成,而影响维护的因素较多,除了人员因素、技术因素和 管理因素外,还有程序自身的因素,具体影响因素可归纳为:a) 软件系统的规模;b) 软件系统的年龄;c) 软件系统的结构。 试回答以下问题: 1) 给出上述三项因素的解释,阐述“规模”、“年龄”和“结构”的具体含义。(6分) 2) 扼要分析影响维护工作量的因素,即分析可能增加维护工作量的因素和可能减少维护工作 量的因素。(8分) 3) 简单传述软件可维护性度量的含义。(8分) 2、可行性研究报告的主要内容有哪些?(8分) 3、系统设计的内容是什么?(10分) 五、综合题(20分)某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一 个计算机辅助企业管理系统,其中:

软件工程各阶段的工作内容及特征

软件工程各阶段的工作内容及特征 软件工程的目标是提高软件质量,质量因素有正确性、性能、可靠性、容错性、易用性、灵活性、可扩充性、可理解性、可维护性等等。开发常用模型有:线性模型、渐增式模型、螺旋模型、快速原型模型、形式化描述模型等等。“套用固定的模型不是程序员的聪明之举”。比如“程序设计”与“测试”之间的关系,习惯上总以为程序设计在先,测试在后,而对于一些复杂的程序,将测试分为同步测试与总测试更有效。软件开发中的三种基本策略:“复用”“分而治之”“优化—折衷”。软件复用是将具有一定集成度并可以重复使用的软件组成单元,称为软构件。分而治之是指把一个复杂的问题分解成若干个简单的问题,然后逐个解决。软件的优化是指优化软件的各个质量因素,如提高运行速度,提高对内存资源的利用率,使用户界面更加友好等等。优化工作的复杂之处是很多目标之间存在千丝万缕的关系,当不能够使所有的目标都得到优化时,就需要“折衷”策略。软件中的折衷策略是指通过协调各个质量因素,实现整体质量的最优。软件折衷的重要原则是不能使某一方损失关键的职能,更不可以像“舍鱼而取熊掌”那样抛弃一方。下面从需求分析、系统分析、系统实现、测试与改错、维护与再生这五个方面逐一阐述。 2.1 需求分析阶段 需求分析是项目成败与否的第一步,对需求把握得越准确,软件的修修补补就越少。有些需求在一开始时很难确定,在开发过程中要不断地加以改正。软件修改越早代价越少,修改越晚代价越大。需求

分析要关注到每一个最终使用者,避免遗漏使用方的需求。需求分析尽量从多个角度进行。需求分析需要与使用者进行多次反复沟通,开发者做到真正领会使用者的需求。做可行性分析不能以偏盖全,也不可以什么鸡毛蒜皮的细节都加以权衡。可行性分析必须为决策提供有价值的证据。需要分析的工作要点有:1)完成问题整理、收集;2)走访使用部门,进行询问、沟通;3)交流中的心态定位是我们在为编辑、为业务工作;4)我们要为用户考虑。让用户意识到我们的每一句话都是在为他们考虑;5)采用适当的交流语言。勾画出思路清晰用户易懂的流程图,清晰明了的表格,形象美观的图形,必不可少的文字;6)保留交流的记录和整理汇总的文档;7)技术人员自己要提出用户易用性需求、系统功能需求、系统维护需求;8)响应变更需求,拒绝不合理要求;9)业务建模。通过UML绘制的模型来完整、适当地对需求进行描述;10)分析绘制业务流程图和数据流程图,总结出各级操作人员,识别系统中的所有用例和角色;分析各角色和用例之间的联系,使用UML建模工具画出系统的用例图;最后勾画系统的概念层模型,借助UML建模工具描述概念层的类图和活动图。 2.2 系统设计阶段 系统设计阶段完成系统设计。系统设计是把需求转化为软件系统的最重要的环节,决定一套软件系统的健壮性、可扩展性、易开发性等。系统设计的优劣在根本上决定了软件系统的质量。这个阶段要确定系统结构,系统结构的稳定性决定应用软件的使用寿命。有了上一阶段需求的把控和需求建模,系统分析阶段就要完成结构设计、模块

软件工程(本)阶段练习三

华东理工大学网络教育学院 《软件工程(本)》阶段练习三 一、判断题(每题1分,共10分;正确打“√”,错误打“×”) 1、Jackson结构图只能描述数据结构,不能描述程序结构。( ×) 2、HIPO图是由一张层次图和一组IPO图组成的。( √) 3、源程序的文档化就是软件的文档化。( ×) 4、问题分析图(PAD)是一种常用的详细设计描述工具。( √) 5、Jackson方法是一种面向对象的软件设计方法。( ×) 6、把一个软件系统划分成多个模块的目的是为了降低软件系统的复杂性。( √) 7、耦合性是一个用来衡量模块内部各个元素彼此结合紧密程度的度量指标。( ×) 8、将软件系统划分为模块时,应尽量做到高内聚低耦合,提高模块的独立性。( √) 9、面向数据流的设计以需求分析阶段产生的数据流图为基础,按一定的步骤将其映射为软件结构。( √) 10、软件结构图是软件系统的模块层次图,它反映了整个系统的功能实现。( √) 二、单项选择题(每空1分,本大题共30分) 1、在模块化软件设计中,划分程序模块通常遵循的基本原则是:使各模块间的耦合性 ①;使各模块内部的内聚度②。 A、尽可能强 B、尽可能弱 C、适中 D、视情况而定 2、面向数据流的设计方法把数据流图(DFD)划分为变换型和③两大类,并提出了对应于这两类结构的分解方法。 A、控制型 B、处理型 C、事务型 D、功能型 3、模块化的目的是为了④。 A、增加内聚性 B、提高易读性 C、降低复杂性 D、减少耦合性 4、三种可能的模块耦合是: ⑤:例如一个模块直接引用另一个模块中的数据。 ⑥:例如一个模块把控制另一个模块执行流程的逻辑量作为参数传递给另一个模块。 ⑦:例如一个模块把一个数据量传递给另一个模块。 其中⑧的耦合性最强。

软件工程课自测题及答案2

一、填空题 1. 软件是计算机程序及其说明程序的各种文档。程序是计算机任务的处理对象和处理规则的描述;文档是有关计算机程序功能、设计、编制、使用的文字或图形资料。 2. 软件生产的发展,到现在为止,经过三个阶段, 即程序设计时代,程序系统时代,软件工程时代。 3. 软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。 4. 结构化方法由结构化分析, 结构化设计, 结构化程序设计构成。它是一种面向数据流的开发方法。 5. Jackson方法是一种面向数据结构的开发方法。 6. 软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 7. 可行性研究需要从以下三个方面分析研究每种解决方法的可行性:技术可行性, 经济可行性,操作可行性。 8. 效益分析有形效益和无形效益两种。有形效益可以用 货币的时间价格, 投资回收期, 纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。 9. 结构化分析方法是面向数据流进行需求分析的方法。 10. 在SA方法的需求描述工具中,数据流图描述系统的分解,即描述系统由哪几部分组成,各部分之间有什么联系等等。数据字典定义了数据流图中每一个图形元素。结构化语言、判定表或判定树则详细描述数据流图中不能被再分解为每一个加工。 11. 数据流图有四种基本成分:数据流、数据处理、文件、数据的源点或终点。 12. 数据字典有以下四类条目:数据流、数据项、文件、基本加工。数据项是组成数据流和数据存储的最小元素。 13. 数据字典中的加工逻辑主要描述该加工做什么,即实现加工的策略,而不是实现加工的细节,它描述如何把输入数据流变换为输出数据流的加工规则。 14. 加工逻辑也称为“小说明”,常用的加工逻辑的描述工具有:结构化语言、判定表、判定数。

软件工程生命周期各阶段中的图示例

. 软件工程中的图 软件工程导论中一般把软件的开发分为八个阶段:1.问题定义2 .可行性研究 需求分析3.总体设计(概要设计)4.5.详细设计编码和单元测试6.综合测试7. .软件维护8 下面我们就说说各个阶段中与图的难解难分。. 问题定义1 问题定义阶段主要是根据用户的需求来定义用户需要解决的问题,用户要实现哪些功 能。可行性研究2. 利益最大化的情况下尽可能短的时间内,可行性研究阶段就是看是否有一种使其在最小的代价, 解决问题的方案。这个阶段的分析主要涉及以下几个图形工具。系统流程图 2.1 系统流程图是描述系统物理模型的一种传统工具。它是表达数据在系统各部件之间流动的情况, 系统流程图形象的呈现了而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。. . 软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。

2.2 数据流图 数据流图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。如果说系统流程图能让用户更好的明白系统的功能,那么数据流图则让用户更加明白系统的工作原理。 数据流图的基本符号: . .

数据流图的使用例子: 2.3 数据字典 数据字典就是数据的信息的集合,也可以说就是对上面提到的数据流图中的所有元素的定义的集合。数

据字典的主要作用就是在软件的分析与设计阶段方便我们查阅不甚了解的数据的描述信息。 . . . 3需求分析 需求分析阶段主要确定系统必须做什么。比如用户对系统的要求,确定目标系统所有的功能,确 定系统运行的硬件和软件环境,系统性能要求,出错处理要求,接口需求,验证软件需求等等。图3.1 E-R 图的主要作用就是把用户的数据要求用可视化的图形呈现出来。E-r

软件工程各阶段各图

我们通常都是对图形化的东西情有独钟,我们小时候的启蒙教育基本上也都是从图形化开始的,我们曾经看过的连环画、漫画、看图识字等等。因为图形能将一个抽象的东西具体化、形象化,图形化的表述能将一个用文字语言无法表达清楚或很难表达的观点、事物、科学概念等清晰的呈现出来。这就是为什么我们相比晦涩难懂文字更喜欢形象生动的图形的原因。 软件工程导论作为软件工程中非常重要的一门课程,通常因为其偏文科性、理论性、概念性而得不到人们的重视,但幸运的是在软件工程导论中有我们非常易于接受、理解的东西——图,否则我们自己会把自己害得很惨(软件工程导论真的很重要哦!)。 软件工程导论中一般把软件的开发分为八个阶段:1.问题定义2.可行性研究3.需求分析4.总体设计(概要设计)5.详细设计6.编码和单元测试7.综合测试8.软件维护。下面我们就说说各个阶段中与图的难解难分。 1. 问题定义 问题定义阶段主要是根据用户的需求来定义用户需要解决的问题,用户要实现哪些功能。

2. 可行性研究 可行性研究阶段就是看是否有一种使其在最小的代价,尽可能短的时间内,利益最大化的情况下解决问题的方案。这个阶段的分析主要涉及以下几个图形工具。 2.1 系统流程图 系统流程图是描述系统物理模型的一种传统工具。它是表达数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。系统流程图形象的呈现了软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。 2.2 数据流图 数据流图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。如果说系统流程图能让用户更好的明白系统的功能,那么数据流图则让用户更加明白系统的工作原理。

最新软件工程的6个阶段

软件工程的6个阶段 1 一,项目计划阶段。(也可以说是可行性分析阶段) 2 确定了一个软件以目前的条件可以完成,主要是经济,技术和社3 会条件,撰写可行性分析报告。需求方和开发方共同探讨项目中的问题的解决4 方案;需要的资金,人力,物力;社会方面的影响,例如是否符合法律等;对5 项目的进度和预期效益进行估计。 6 二,项目需求分析阶段。 7 对用户需求进行分析。将用户的需求用逻辑的软件工程语言表达8 出来,设计好功能和数据库模型,编写成软件需求设计书。这个阶段要注意的9 是行业的术语以及行业规则,开发的软件难免遇到不同行业,我们不是那个行10 业里面的人,所以对用户所在行业的需求分析的时候要正确理解他们的术语和11 规则。当需求得到用户确认后记得让用户签字。最后提醒一点,需求的变更在12 项目中很频繁,必须做好需求变更计划用以项目正常进行。 13 三,项目设计阶段。 14 概要设计就是设计软件的结构,包括组成模块,模块的层次结构,15 模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的16 总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样17 的结构,它们之间有什么关系。 18 详细设计阶段就是为每个模块完成的功能进行具体的描述,要把19 功能描述转变为精确的、结构化的过程描述。 20 概要设计阶段通常得到软件结构图。 21

详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代22 码等。 23 四,编码阶段。 24 为程序员分配好编码任务,将软件的设计具体为软件代码。这里25 注意的是编码语言,工具,环境和编码规范。统一,标准的编码规范可让程序26 可读和易维护。 27 五,软件测试阶段。 28 软件测试就是利用测试工具按照测试方案和流程对产品进行功能29 和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测30 试方案可能出 31 现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发32 的产品适合需求。 33 测试,目的是以较小的代价发现尽可能多的错误。要实现这个目34 标的关键在于设计一套出色的测试用例。如何才能设计出一套出色的测试用例,35 关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常36 用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来37 发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初38 始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结39 果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、40 功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系41 统错误。 42 六,维护阶段。 43

软件工程生命周期各阶段中的图示例

软件工程中的图 软件工程导论中一般把软件的开发分为八个阶段: 1.问题定义 2.可行性研究 3.需求分析 4.总体设计(概要设计) 5.详细设计 6.编码和单元测试 7.综合测试 8.软件维护 下面我们就说说各个阶段中与图的难解难分。 1. 问题定义 问题定义阶段主要是根据用户的需求来定义用户需要解决的问题,用户要实现哪些功 能。 2. 可行性研究 可行性研究阶段就是看是否有一种使其在最小的代价,尽可能短的时间内,利益最大化的情况下解决问题的方案。这个阶段的分析主要涉及以下几个图形工具。 2.1 系统流程图 系统流程图是描述系统物理模型的一种传统工具。它是表达数据在系统各部件之间流动的情况,而不是对数据加工处理的控制过程,它是物理数据流图而不是程序流程图。系统流程图形象的呈现了软件的功能,即使不懂软件的人也可以轻松的看懂,可以说它是软件设计师与用户之间沟通、交流的有效工具。

2.2 数据流图 数据流图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。如果说系统流程图能让用户更好的明白系统的功能,那么数据流图则让用户更加明白系统的工作原理。 数据流图的基本符号: 数据流图的使用例子:

2.3 数据字典 数据字典就是数据的信息的集合,也可以说就是对上面提到的数据流图中的所有元素的定义的集合。数据字典的主要作用就是在软件的分析与设计阶段方便我们查阅不甚了解的数据的描述信息。 3. 需求分析 需求分析阶段主要确定系统必须做什么。比如用户对系统的要求,确定目标系统所有的功能,确定系统运行的硬件和软件环境,系统性能要求,出错处理要求,接口需求,验证软件需求等等。 3.1 E-R图 E-r图的主要作用就是把用户的数据要求用可视化的图形呈现出来。

软件工程的6个阶段

软件工程的6个阶段 一,项目计划阶段。(也可以说是可行性分析阶段) 确定了一个软件以目前的条件可以完成,主要是经济,技术和社会条件,撰写可行性分析报告。需求方和开发方共同探讨项目中的问题的解决方案;需要的资金,人力,物力;社会方面的影响,例如是否符合法律等;对项目的进度和预期效益进行估计。 二,项目需求分析阶段。 对用户需求进行分析。将用户的需求用逻辑的软件工程语言表达出来,设计好功能和数据库模型,编写成软件需求设计书。这个阶段要注意的是行业的术语以及行业规则,开发的软件难免遇到不同行业,我们不是那个行业里面的人,所以对用户所在行业的需求分析的时候要正确理解他们的术语和规则。当需求得到用户确认后记得让用户签字。最后提醒一点,需求的变更在项目中很频繁,必须做好需求变更计划用以项目正常进行。 三,项目设计阶段。 概要设计就是设计软件的结构,包括组成模块,模块的层次结构,模块的调用关系,每个模块的功能等等。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。 详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 概要设计阶段通常得到软件结构图。 详细设计阶段常用的描述方式有:流程图、 图、 图、伪代码等。 四,编码阶段。 为程序员分配好编码任务,将软件的设计具体为软件代码。这里注意的是编码语言,工具,环境和编码规范。统一,标准的编码规范可让程序可读和易维护。 五,软件测试阶段。 软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出

软件工程题库及答案.doc

一、选择题 软件(2) 1.在软件开发的各种资源中,( D )是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 2.软件的复杂性是( A ),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 3.3:软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。 A.程序、数据 B.程序、文档 C.程序D. 程序、数据、文档 4.软件是一种( B )产品。 A、有形 B、逻辑 C、物质 D、消耗 软件危机(1) 5.1:开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生 6.2:在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( A ) A.软件危机B.软件工程C.程序设计革命D.结构化程序设计 7.3:以下哪一项不是软件危机的表现形式( C ) (A)成本高(B)生产率低 (C) 技术发展快(D)质量得不到保证 8.4:“软件危机”产生的主要原因是( A )。 A.软件日益庞大 B.开发方法不当 C.开发人员编写程序能力差 D.没有维护好软件 9.5:软件危机是指在软件开发和( C )过程中遇到的一系列严重问题。 A 开发 B 使用C维护D更新 软件工程(2) 10.1:为了解决软件危机人们提出了用(B )的原理来设计软件,这就是软件工程诞生的基础。 (A) 运筹学(B) 工程学(C) 软件学(D) 数学 11.2.在软件工程时期,决定软件质量的主要因素是( A ) A.管理水平 B.个人程序技术C.小组技术水平 D.硬件的发展 12. 3. 软件管理工作涉及到的直接对象不包括( B )。 A.软件开发人员 B.硬件设备 C.项目经费 D.软件项目 13. 4. 软件工程方法学有三个要素,它们是( A ) A.方法、工具和过程 B.质量、进度和成本 C.顺序、分支和循环 D.入口、过程、出口 生命周期及模型(5) 14.1:软件工程中描述生命周期的瀑布模型一般包括计划、( A )、设计、编码、测试、维护等几个阶段。 A.需求分析 B.需求调查 C.可行性分析 D.问题定义 15. 2.瀑布模型把软件生存周期划分为软件计划、软件开发与( C )三个阶段,而每一阶段又可分为若干更小的阶段。 A. 详细设计 B. 可行性分析 C. 运行与维护 D. 测试与排错 16.3:下列哪个模型没有采用迭代的思想( A ) A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型 17.4:下列关于瀑布模型的描述正确的是( D )。 A.利用瀑布模型,如果发现问题修改的代价很低 B.瀑布模型的核心是按照软件开发的时间顺序将问题简化 C.瀑布模型具有良好的灵活性 D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开

软件工程习题解答

期考试题题型构成:选择题20道40分 填空题10道20分 应用题5道40分 软件工程习题解答 一、软件生存周期各阶段的基本任务??1. 问题定义: (1)回答要解决的问题是什么。?(2)系统分析员应该提出关于问题性质、工程目标和规模的书面报告。 (3)经过和用户讨论,澄清含糊不清的地方,改正理解不正确的地方,得出一份双方都满意的文档。?(4)问题定义是软件生命周期中最简短的阶段。 2.可行性研究:?(1)前一阶段定义的问题有可行的解决办法吗? (2)系统分析员要进行一次大大压缩和简化了的系统分析和设计。导出高层逻辑模型(用数据流图表示)。确定工程规模和目标,准确估计系统的成本和效益。 (3)使用部门的负责人根据可行性研究的结果决定是否继续进行该工程的开发工作。 3.需求分析: (1)主要确定目标系统必须具备哪些功能。?(2)系统分析员和用户密切配合,充分交流,得出经用户确认的系统逻辑模型(数据流图、数据字典、算法描述)。 4.总体设计: ?(1)回答如何解决问题。?(2)系统分析员 应使用系统流程图或其他工具描述每种可能系统;?估计每种方案的成本和效益。 推荐一较好的系统──有其详细计划。 设计软件的结构(用层次图或结构图描述)。 5.详细设计: (1)回答应该怎样具体地实现这个系统。 (2)设计出程序的详细规格说明(用HIPO层次图加输入/处理/输出图)或PDL语言(过程设计语言)。?6.编码和单元测试: ?(1)写出正确的容易理解,容易维护的程序模块。?(2)程序员:?选取一种适当的用高级语言书写程序(或汇编语言)。?仔细测试编写出的每一个模块。 7.综合测试: (1)通过各种类型的测试,使软件达到预定的要求。 (2)最基本的测试是集成测试和验收测试方法。?集成测试是根据设计的软件结构,把经过单元测试检验的模块按某种选定的策略装配起来,在装配的过程中对程序进行必要的测试。?验收测试是按照需求规格说明书的规定,由用户对目标系统进行验收。 (3)用正式文档将测试计划、详细测试方案以及实际测试结果保存。?(4)以正式或非正式的方式对用户进行培训。?8.软件维护: (1)使系统持久地满足用户的需要。?(2)四类维护:?改正性维护:诊断和改正使用过程中发现的软件错误。适应性维护:修改软件以适应环境变化。 完善性维护:根据用户要求,改进或扩充软件。 预防性维护:修改软件为将来的维护预先准备。?

相关主题