文档库 最新最全的文档下载
当前位置:文档库 › 软件工程开发方法或技巧

软件工程开发方法或技巧

软件工程开发方法或技巧
软件工程开发方法或技巧

软件工程开发方法或技巧

来源:考试吧(https://www.wendangku.net/doc/b318388600.html,)2009-1-26【考试吧:中国教育培训第一门户】模拟考场

日韩法德西!旭博性价比更高!https://www.wendangku.net/doc/b318388600.html,

800元1年内免费学所有课程! 北大食宿,考试通过率95%!

北京同能阳光云呼叫中心https://www.wendangku.net/doc/b318388600.html,

专业托管型与呼叫中心业务联系电话4006129068

百度推广

1、结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto 语句。结构化程序设计主要强调的是程序的易读性。三种逻辑结构为顺序、选择和重复(或循环)

2、面向对象方法的主要优点:与人类习惯的思维方法一致;稳定性好;可重用性好;易于开发大型软件产品;可维护性好。

3、对象是面向对象方法中最基本的概念,它的基本特点有:标识惟一性、分类性、多态性、封装性、模块独立性好。

4、类是具有共同属性、共同方法的对象的集合。类是对象的抽象;对象则是类的实例。

5、对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息”。消息是一个实例与另一个实例之间传递的信息。

6、在面向对象方法中,类之间共享属性和操作的机制称为继承。已有的类可当作基类来引用,则新类相应地可当作派生类来引用。继承具有传递性。可分为单继承(一个继承只允许有一个父类,即类等级为树形结构)与多重继承(一个类允许有多个父类)。

7、源程序文档化要求程序应加注释。注释一般分为序言性注释和功能性注释。

8、在面向对象方法中,信息隐蔽是通过对象的封装性来实现的。

软件工程基础

1、软件是程序、数据及文档的集合。

2、软件按功能可分为:应用软件、系统软件、支撑软件(或工具软件)。

3、软件工程包括三个要素:方法、工具和过程。

4、软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。

5、软件工程研究的内容主要包括:软件开发技术和软件工程管理(软件管理学、软件工程经济学、软

件心理学等)。

6、软件工程的原则包括:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。

7、计算机辅助软件工程(CASE)是当前软件开发环境中富有特色的研究工作和发展方向。

8、需求分析将创建所需的数据模型、功能模型和控制模型。

9、需求分析的工作概括为:需求获取、需求分析、编写需求规格说明书和需求评审。

10、结构化分析的常用工具:数据流图(DFD)、数据字典(DD)、判定树和判定表。

11、建立数据流图的步骤是由外向里、自顶向下、逐层分解。数据流图中的主要图形元素有:加工、数据流、存储文件、源和潭。

12、数据字典是结构化分析方法(SA方法)的核心。它通常包括五个部分,即数据项、数据结构、数据流、数据存储、处理过程。

13、软件需求规格说明书(SRS)是需求分析阶段的最后成果。

14、软件设计包括软件结构设计、数据设计、接口设计、过程设计。分两步完成:概要设计和详细设计。

15、软件设计的基本原理:抽象、模块化、信息隐蔽、模块独立性(内聚性和耦合性)。

16、结构化设计方法的基本思想是将软件设计成由相应独立、单一功能的模块组成的结构。

17、常用的软件结构设计工具是结构图(SC),也称程序结构图。它是描述软件结构的图形工具。经常使用的结构图有四种模块类型:传入模块、传出模块、变换模块和协调模块。

18、典型的数据流的类型有变换型和事务型。

19、常用的过程设计工具有:图形工具(程序流程图PFD、N-S、问题分析图PAD、HIPO),表格工具(判定表),语言工具(PDL过程设计语言伪码)。其中程序流程图PFD中,箭头代表的是控制流,方框代表的是加工步骤,菱形代表的是逻辑条件。

20、软件测试的目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

21、若从是否需要执行被测软件的角度,可以分为静态测试和动态测试方法。若按照功能划分可以分为白盒测试(结构测试)和黑盒测试(功能测试)。

22、软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试。

23、软件调试方法有:强行排错法、回溯法、原因排除法。

24、软件开发环境是全面支持软件开发全过程的软件工具的集合。

25、Jackson方法是一种面向数据流的结构化方法。

软件开发管理办法

软件开发管理办法 1 软件开发 1.1软件开发流程 1.2项目策划 根据年度软件开发计划确定的项目或用户提出的需求变更项目,组织进行项目前期策划,确定项目实现目标、内容、质量要求、工期,下达《软件开发任务书》或对用户《需求变更申请》进行审核和任务安排,项目组接到任务后组织实施。项目组根据任务安排,编制《软件开发计划》。 1.3系统需求分析 项目组根据项目内容和目标,编制《需求调研计划》和《需求调查表》,组织用户参加的项目启动会,讨论通过《需求调研计划》,用户按《需求调查表》的内容准备调研材料。开发项目组和用户组成联合项目组,共同推进项目的实施。 调研阶段完成后形成《软件需求规格说明书》,重点明确以下内容:组织机构、岗位职责、业务流程、所需的业务功能,业务功能和岗位的对应关系,业务功能处理的数据项,业务功能的详细描述。 需求分析完成后,由内部组织进行阶段评审,填写《阶段评审记录》。

组织召开需求确认会,《软件需求规格说明书》由用户审查通过后,填写《用户需求确认单》。 依据《软件需求规格说明书》,编制《系统测试计划》初稿。1.4系统设计 依据《软件需求规格说明书》进行系统设计,形成《软件设计说明书》,主要内容包括软件功能设计说明、数据库设计说明、功能的数据处理说明(功能-数据关联矩阵)、程序模块设计说明(后期完善)等。 系统设计完成后,由内部组织进行阶段评审,填写《阶段评审记录》。 依据《软件设计说明书》,补充完善《软件测试计划》。 1.5编码 依据《软件设计说明书》,遵守有关技术规范,在开发平台上进行编码,实现软件功能。 编码完成后,编写《用户操作手册》,补充完善和修改《软件设计说明书》,把编程过程中数据设计、功能设计的变动进行文档修正,补充程序模块设计说明,编制《软件组件清单》、《数据对象清单》,修改完善《系统测试计划》。 1.6测试 项目组内部组织完成单元测试。 编码完成后,由内部组织进行阶段评审,填写《阶段评审记录》。

客户开发流程与技巧

一、客户开发流程与技巧 (1)准备工作 A、选定预备开发的客户名单; B、准备所需要的文稿商品介绍,交易知识; C、排定访谈时间和开发方式; D、建立自我的肯定和信心; E、修饰自我形象和仪容; F、演练各种谈话技巧; G、收集各客户(个人或公司)基本资料。 (2)电话访谈客户 A、以社会调查为借口,向客户探询兴趣度; B、用专家的口吻,诚挚难以抗拒的方法约定正式会晤的机会; C、电话客户访谈在于主动约定会晤的机会,内容不宜过长,时间不宜过久; D、切记电话礼貌。 (3)亲访客户 A、出发前,须检视所需的文件和仪容外表; B、出发前,先行去电话通知客户,告知现准备出发,去拜访他,预计于何时到达; C、晤面时,立即双手送上名片,并简单自我介绍; D、送上预先准备好的资料; E、以轻松的方式对谈; F、邀请客户至公司参观; G、握手告别并表示谢意; H、访谈客户。 (4)追踪了解客户归类 A、返回公司后立即将访谈内容和客户提出的意见或问题详实记录; B、将客户依自由意愿和个性分类,并拟订格式对策; C、做好客户追踪的工作,资料开发和时间的安排; D、积极约定赴公司参观的时间或再次见面的时间。 (5)工作守则 A、将开发客户的工作习惯化,养成"天天打电话给客户,天天约见客户"的工作时间; B、放弃"钟爱一人"的观念,千万别"为一棵树而放弃了整个森林"; C、别怕"碰钉子"(遇挫折),要有愈挫愈勇"屡败屡战"的精神; D、知己知彼,百战百胜; E、事前多一分钟准备,事后少十秒弥补。 (6)公司配合活动(自选) A、每周举办投资说明会; B、每月举办一期客户技术研习班; C、定期和新闻媒体发布专搞;

客户开发与客户管理

?当前文档修改密码:8362839 ?当前文档修改密码:8362839?更多资料请访问.(.....)

《销售经理》第七章:客户治理(上) 客户是企业利润的源泉。在现代市场经济条件下,客户及其需要是企业建立和进展的基础。如何更好的满足客户的需求,是企业成功的关键。现在,“使顾客中意”已成为现代企业的经营哲学,以客户为中心的新的经营方式正在得到广泛的认同。在现代激烈竞争的环境下,适应客户的需求,给客户自己选择产品的权利,让客户得到自己真正想要的东西,是竞争的关键需要。 学习完本章,你应该了解以下内容: 1.客户开发的差不多步骤; 2.客户治理的内容; 3.了解客户中意度; 4.客户服务的要紧内容; 销售过程治理

1.销售目标实现的关键 企业在制定了销售目标(包括销售额目标、毛利目标、增加销售网点目标、货款完全回收目标等)后,那么实现这一目标的关键在两方面。 ·目标分解 销售经理要具体细致地将上述各项目标分解给销售员、经销商,再配合各项销售与推广打算,来协助销售员、经销商完成月不、季不、年度不或产品不、地区不的销售目标。 ·过程进行追踪与操纵 销售经理要对销售过程进行追踪与操纵,了解日常销售工作的动态、进度,及早发觉销售活动中所出现的异常现象及问题,立即解决。也确实是讲,销售过程治理的要紧目的,确实是要重视目标与实绩之间的关系,通过对销售过程的追踪与监控,确保销售目标的实现。 2.时刻治理 销售过程治理的一大关键,确实是要把过程治理当中的时刻治理,从过去的年度追踪细化到每月、每周甚至每日追踪。 销售过程治理分为: 销售员与办事处主任要进行每日追踪(也可讲是自我治理);

软件、软件工程的基本概念和特点

2017-2018 学年第一学期第四次作业 专业:计算机科学与技术班级:17级3班学号:1701110140姓名:任亚磊 作业内容: 简述软件、软件工程的基本概念和特点 软件: 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操作信息的数据结构;文档是与程序开发,维护和使用有关的图文资料。 软件的特点: 1.软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性 2.软件的生产和硬件不同,在它的开发过程中没有明显的制造过程、没有磨损 3.在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。 4.软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同的依懒性 5.软件的开发至今尚未完成摆脱手工艺的开发方式,没有实现自动化 6.软件本身是复杂的、实际问题的复杂性、程序逻辑结构的复杂性 7.软件的成本相当昂贵。 8.相当多的软件工作涉及社会因素。 软件的分类: 1.系统软件:操作系统、数据库管理系统、设备驱动程序、通信处理程序 2.应用软件:商业数据处理软件、工程和科学计算软件、系统仿真软件 软件的其他角度分类: a.按规模划分:微型软件、小型、中型、大型、甚大型、极大型 b.按工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件

c.按软件服务对象的范围划分:项目软件、产品软件 软件生产的发展: 1 程序设计时代:这个阶段生产方式是个体劳动,生产工具是机器语言,汇编语言。(1946-1956年) 2 程序系统时代:这个阶段生产方式是小集团合作生产,生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。(1956-1968年) 3 软件工程时代:这个阶段生产方式是工程化的生产,使用数据库,开发工具,开发环境,网络,分布式面向对象技术来开发软件。(1968年至今) 软件工程: 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。主要包括三个方面的内容:软件开发方法,软件过程和软件工具。 软件工程的原则: 1.抽象2.信息隐蔽3.模块化4.局部化5.确定性6.一致性7.完备性8.可验证性。

软件工程实践者的研究方法(中文版第七版)课后习题答案

作业答案。 2.1 a.设计者对于用户要问的问题: 项目的目标是什么?做到什么程度就成功了?谁会对项目的成功做最后的评判?项目的使用者包括那些? b. 用户对设计者应该问的问题: 目前问题有哪些解决方案,项目完成有哪些难点,在时间范围内能否完成? c. 软件问题用户自问? 还有其他解决方案吗?哪些功能是必须的?乙方资质和能力够吗? d. 软件过程问题自问? 用敏捷还是用瀑布?质量检查点分别有哪些?有几个MileStone? 2.2 为沟通活动设计一系列动作,选定其一并设计任务集。 (批作业的时候,以合理为目标,不一定要一样) 需求获取、需求规范说明(建模)、需求协商、需求确认等。 例如,书上page 23。 2.7 详细描述三个适合用于瀑布模型的软件项目。 (要求学生不仅仅列出项目的名称,而要说明为什么适合) 瀑布模型适合于项目开发而不是产品开发。信息管理系统一般适合于用瀑布模型。因为这类系统业务功能较为明确,架构比较单一,技术难点较少。图书馆系统、销售管理系统都是。 3.11 重构:已经写好的正确的代码,不断修正,使得代码更加精简并易读。 结对编程:两个人同时编写一段代码,一般一个人负责实现,一个人负责检查代码质量。 3.16 利用FDD,为“Web浏览器”定义一系列特征集合与特征。 特征集合模板: an 如:出售一件商品 特征定义模板: the a(n) 特征集合:展示Web页面内容。 特征: 1)本地解析HTML页面 2)展示HTML页面 3)从网络上下载页面相关图片 4)在浏览器上展示图片 附加:统一过程模型的图。 (要求有图有说明)

专业销售技巧(客户开发与维护)

客户开发与维护技巧 课程背景: 在电子商务崛起的背景下,产品和服务日趋同质化,我们的竞争优势是什么?价格竞争愈加激烈,利润已经薄如刀片,我们如何突破价格竞争?客户了解的信息不比我们少,我们还能带给客户什么? 本课程以西方著名销售咨询大师尼尔.雷克汉姆的研究成果为基础,提供了多种实用工具,帮助学员从客户需求中识别销售机会,在客户购买过程中通过销售对话为客户创造价值,从而与客户达成合作。 经过实践证明,该课程能够帮助学员在短时间内实现销售业绩的突破。 课程收益 了解客户购买的心理与购买流程 掌握客户分析工具识别销售机会 运用提问和倾听的工具挖掘客户需求 通过自我评估来了解自身优势以增加销售成功率 课程特点 在最短的时间内,使学员能初步掌握应用心理学的基本知识 提供丰富的案例,使学员感性地理解课程内容 安排身临其境的角色扮演,使学员能切身体会所学的技巧 通过精彩的视频短片,使学员加深对相关知识、技能和观念的理解 课程时长: 2 天 课程对象: 销售代表,销售主管及销售经理 课程内容 第一部分:成为值得信赖的客户顾问 视频:我们面临的挑战 讨论:一名成功销售人员的特质是什么? 分享:值得信赖的顾问公式 自我评估:客户眼里的我 第二部分:了解你的客户 客户为什么会购买 哈斯维特公司的发现:客户购买的不是价格,而是价值 价值公式 客户购买流程 活动:分享希望开拓的一个大客户

第三部分:在客户购买流程中创造价值 需求了解 ?销售机会分析与识别 ?销售机会分析工具 ?客户需求分析表 ?自我能力分析表 ?机会匹配 ?实战练习 ?接待中心 ?接待中心:验证机会,约见不满中心 ?接待中心不愿意见面的原因分析 ?不同场景下,接待中心与销售见面概率表 ?讨论:与接待中心碰面应该做什么,不应该做什么? ?不满中心 ?不满中心:唤起痛感,激发行动 ?不满中心的四个层次需求分析(个人需求与组织需求) ?讨论:与不满中心碰面应该做什么,不应该做什么? ?工具:不满中心沟通技巧SPIN ●背景问题 ●机会问题 ●后果问题 ●回报问题 ?视频:《非诚勿扰》片段 ?案例演练:如何把价格3倍的产品卖给客户?决策中心 ?决策中心:证明价值,决定购买 ?工具方案 ?价值提案制作练习 方案评估 ?客户评估标准 ?工具:价值四分图 ?练习: ?制作价值地图 ●价值优胜点 ●价值杀手 ●价值沉睡点 ?实战练习 风险控制 ?四个层次的风险解读

软件开发方法与过程

(1)软件开发过程是什么? 软件开发过程是按照软件工业化的标准定义的心之所向,所向披靡 ?在软件开发中必须具有的一系列过程规范; ?软件开发过程是定义在软件中的软件需求、软件设计、软件编码、软件测试、软件部署的实现目标和规范化的管理方法论; ?软件开发过程是保证软件工业化生产的法典;?软件开发过程做的是:定义标准和为了达到标准的路; ?软件开发过程要改善的是:软件开发的效率和质量; ?软件开发过程的实现最重要的是:人。 (2)大多数软件项目失败的原因: a)不完整、不现实的项目需求 b)对需求的变更束手无策 c)脆弱的架构 d)采用不成熟的技术 e)测试的不充分性 f)拙劣的进度计划和评估 g)缺乏资源 h)不具备项目管理方法 i)缺少管理层的支持 (3)软件工程的三个要素:方法、工具和过程(4)A software project failed if It is delivered late It is runs over the budget It does not satisfy the customer’s need It is of poor quality Classical software development methods have not solved software crisis.传统的软件开发方法没有能够解决软件危机。 (5)A software engineer’s job: a)Make a working plan.制定工作计划 b)Carry out it.(Do their work according to this plan)按照此计划工作 c)Try his/her best to produce high-quality products.尽最大努力生产 出高质量产品 (6)3 Key aspects a)Quality products 高质量产品 b)Expected costs c)On agreed schedule (7)Summary of PSP PSP is a framework designed to teach software engineers to do better work Estimate and plan →track →improve quality Quality methods take time to learn and practice,but it will help you in you engineering career Establish goals →measure quality → understand the process → change and reure process → measure & analyze the results → recycle improving Identify the tasks you do (8)敏捷软件开发宣言 个体和交互胜过过程和工具 可以做到工具的软件胜过面面俱到的文档 客户合作胜过合同谈判 响应变化胜过遵循计划 敏捷开发的原则: 1、我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 尽早交付具有部分功能的系统和质量系统之间具有很强的相关性 2、即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。 关于态度的声明,敏捷过程的参与者不惧怕变化,努力保持软件结构的灵活性。 3、经常性地交付可以工作的软件,交付的间隔可以从几周到几个月,交付的时间越短越好。 关注的目标是交付满足客户需要的东西。它们是敏捷实践区别其他过程的特征所在。 4、在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 有意义的、频繁的交互,必须对软件项目进行持续不断地引导。 5、围绕被激励起来的个人来构建项目。给他们提供所需要的环境和支持,并且信任他们能够完成工作。 人被认为是项目取得成功的最重要的因素。 6、在团队内部,最具有效果并且富有效率的传递信息的方法就是面对面的交谈。首要的、默认的沟通方式。 7、工作的软件是首要的进度度量标准。 敏捷项目通过度量当前软件满足客户需求的数量来度量开发速度。 8、敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期、恒定的开发速度。不是 50米短跑,而是马拉松。以快速但是可持续的速度行进。 9、不断关注优秀的技能和好的设计会增强敏捷能力。

(知识点快速复习)软件工程方法与实践

lei xiao

1.软件工程的定义:软件工程是一门研究如何用系统化、规范化、数量化等工程化思 想和方法去进行软件开发、维护和管理的学科。 2.软件危机的定义:软件开发和维护过程中所遇到的如软件规模越来越大,复杂度不 断增加,软件的需求量日益增大等的严重问题我们称之为软件危机。 3.软件工程有哪些基本的思想:a.推迟实现的观点b.逐步求精的观点c.分解与抽象的 观点d.信息隐蔽的观点e.质量保证的观点。 4.CMM(Capability Maturity Model)能力成熟度模型,是对于软件组织在定义、实施、 度量、控制和改善其软件过程的实践中各个发展阶段的描述。 5.极限编程(Extreme Programming , XP)是一种软件工程方法学是敏捷软件开发中最 富有成效的几种方法学之一。它的的核心有四个要点:交流、简单、反馈、勇气。 6.软件生命周期模型:通常把软件生命周期中各项开发活动的流程用一个合理的框架 ——开发模型来规范描述,这就是软件过程模型,或者称为软件生命周期模型。 7.软件需求分类:功能需求、非功能需求和领域需求。 8.结构化分析(Structured Analysis, SA) 结构图(Structure Chart ,SC)。 9.面向对象的一些概念:类是具有相同或相似性质的对象的抽象。实例是类的具体化。 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。消息是指对象间相互联系和相互作用的方式。 10.数据流类型:变换型数据流、事务型数据流、混合型数据流 11.Jackson图:Jackson图是Jackson方法分析和设计最有效的表达手段,用它既可 以描述问题的数据结构,也可以描述软件的程序结构。Jackson图的优点是便于表示层次结构,利于结构自顶向下分解,形象直观,可读性好。Jackson方法用某种形式的伪码给出程序的过程性描述。伪码一般采用结构化形式的英语描述,例如,

软件开发报价的计算方法(完整版)

软件开发报价的计算方法(完整版) 1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 1.1开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关:软件开发工作量=估算工作量经验值×风险系数×复用系数 1.1.1估算工作量经验值(以A来表示) 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 1.1.2风险系数(以σ来表示) 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l ≤风险系数≤ 1.5 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“1.5”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。1.1.3复用系数(以τ来表示)

软件工程实践者的研究方法-背诵知识点

软件的定义:软件是:1)指令的集合,通过执行这些指令可以满足预期的特征、功能和性能需求;2)数据结构,使得程序可以充分利用信息;3)软件描述信息,以硬拷贝和虚拟形式存在,描述程序操作和使用。 软件与硬件的区别:软件是设计开发的;软件不会磨损;大多数软件是按需求定制的。 IEEE定义:(1)将系统化、规范化、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件;(2) 在(1)中所述方法的研究。 软件工程的层次:软件工程的根基在于质量关注点。软件工程的基础是过程层。过程将各个技术层次结合在一起,使得合理地、及时地开发计算机软件成为可能。方法为构建软件提供技术上的解决方法("如何做")。工具为过程和方法提供自动化或半自动化的支持。 通用过程模型的5种框架活动:沟通、策划、建模、构建、部署 8个典型的普适性活动:软件项目跟踪与控制;风险管理;软件质量保证;技术评审;测量;软件配置管理;可复用管理;工作产品的准备和生产 软件神化:关于软件及其开发过程被人们盲目相信的一些说法,它实际上误导了人们对软件开发的态度。 螺旋模型:?一种风险驱动型的过程模型,一种演进式软件过程模型。它结合了原型的迭代性质和瀑布模型的系统性和可控性特点。具有快速开发越来越完善软件版本的潜力。 统一过程(UP):以用例为驱动、以系统架构为核心,迭代式增量式开发过程。RUP包括起始、细化、构建、转换和生产5个阶段。五个UP阶段并不是顺序地进行,而是阶段性地并发进行。 成熟度级别:第0级:不完全级、1已执行级、2已管理级、3已定义级、4已定量管理级、5优化级软件生命周期:软件计划与可行性研究、需求分析、软件设计、编码、软件测试、运行与维护 瀑布模型:一个系统的、顺序的软件开发方法。缺点:实际项目开发中很少遵守瀑布模型提出的顺序;客户难以清楚的描述所有的需求;客户要等到开发周期的晚期才能得到可执行的程序;在线性过程的开始和结束,容易发生“阻塞状态”。 敏捷团队成员特点:基本能力、共同目标、精诚合作、决策能力、模糊问题解决能力、相互信任和尊重、自我组织 极限编程过程包含4个框架活动:策划、设计、编码、测试设计原则:KIS 重构:以不改变代码外部行为而改进其内部结构的方式来修改软件系统的过程 结对编程:两个人面对同一台计算机共同为一个故事开发代码。 优点:结对的两人完成其工作,他们所开的代码将与其他人的工作集成。这种集成作为集成团队的日常工作实施。还有一些情况下,结对者自己负责集成,这种“连续集成”策略有助于避免兼容

软件开发方法

软件开发方法 软件开发方法是指使用预先定义的技术集合与符号来表达软件生产过程,包括系统分析方法、系统设计方法与程序编制方法。使用合适的软件开发方法,可以在规定的投资费用和时间内开发出符合用户需求、高质量的软件。 常用的5种软件开发方法包括: 1. 结构化方法 结构化方法是由 E.Yourdon 和 L.L.Constantine 提出的,是为面向功能的软件开发方法或面向数据流的软件开发方法,也称为SASD方法。结构化方法是20世纪80年代使用最广泛的软件开发方法。使用结构化方法开发软件的基本过程是:①使用结构化分析方法(Structure Analysis,SA)对软件进行需求分析。②使用结构化设计方法(Structure Design,SD)进行总体设计。③进行结构化编程(Structure Programming,SP)。结构化方法给出了变换型和事务型2类典型的软件结构,使软件开发的成功率得到大大地提高。 2. 面向对象方法 面向对象方法是一种自底向上和自顶向下相结合的软件开发方法。面向对象方法以对象建模为基础,不仅考虑了输入和输出的数据结构,而且还包含了所有对象的数据结构。面向对象技术在需求分析这个软件开发的关键环节以及软件可维护性、可靠性等质量指标上均有实质性的突破,基本解决在这些方面存在的严重问题。 3. 面向数据结构方法 面向数据结构方法是以数据结构作为程序设计基础的软件开发方法,Jackson方法是一种典型的面向数据结构方法。Jackson方法把问题分解为可由3种基本结构形式表示的层次结构。这3种基本的结构形式就是顺序、选择和循环结构,将3种数据结构进行组合就可以形成复杂的结构体系。Jackson方法从目标系统的输入、输出数据结构入手,导出程序框架结构,然后补充其它细节,最后给出完整的程序结构图。面向数据结构方法对于具有清晰输入、输出数据结构的中小型系统特别有效,如商业应用中的文件表格处理。面

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

几种常见软件开发方法的研究与比较

几种常见软件开发方法的研究与比较 摘要:本文介绍四种常见软件开发方法的过程、特点、优缺点及如何对软件开发方法进行评价与选择。 关键词:软件软件开发 1 引言 在软件开发的过程中,软件开发方法是关系到软件开发成败的重要因素。软件开发方法就是软件开发所遵循的办法和步骤,以保证所得到的运行系统和支持的文档满足质量要求。在软件开发实践中,有很多方法可供软件开发人员选择。 2 常见的软件开发方法 2.1 结构化开发方法 结构指系统内各组成要素之间的相互联系、相互作用的框架。结构化开发方法强调系统结构的合理性以及所开发的软件的结构的合理性,主要是面向数据流的,因此也被称为面向功能的软件开发方法或面向数据流的软件开发方法。结构化技术包括结构化分析、结构化设计和结构化程序设计三方面内容。 2.1.1 结构化分析的步骤 结构化分析是一种模型的确立活动,就是使用独有的符号,来确立描绘信息(数据和控制)流和内容的模型,划分系统的功能和行为,以及其他为确立模型不可缺少的描述。其基本步骤是:(1)构造数据流模型:根据用户当前需求,在创建实体—关系图的基础上,依据数据流图构造数据流模型。(2)构建控制流模型:一些应用系统除了要求用数据流建模外,通过构造控制流图(CFD),构建控制流模型。(3)生成数据字典:对所有数据元素的输入、输出、存储结构,甚至是中间计算结果进行有组织的列表。目前一般采用CASE的“结构化分析和设计工具”来完成。(4)生成可选方案,建立需求规约:确定各种方案的成本和风险等级,据此对各种方案进行分析,然后从中选择一种方案,建立完整的需求规约。 2.1.2 结构化设计步骤 结构化设计是采用最佳的可能方法设计系统的各个组成部分以及各成分之间的内部联系的技术,目的在于提出满足系统需求的最佳软件的结构,完成软件层次图或软件结构图。其基本步骤如下:

销售人员如何开发客户

销售人员如何开发客户 销售人员开发客户的方法一、每天安排一小时。 销售,就象任何其它事情一样,需要纪律的约束。销售总是可以被推迟的,你总在等待一个环境更有利的日子。其实,销售的时机永远都不会有最为合适的时候。 销售人员开发客户的方法二、尽可能多地打电话。 在寻找客户之前,永远不要忘记花时间准确地定义你的目标市场。如此一来,在电话中与之交流的,就会是市场中最有可能成为你客户的人。如果你仅给最有可能成为客户的人打电话,那么你联系到了最有可能大量购买你产品或服务的准客房户。在这一小时中尽可能多打电话。由于每一个电话都是高质量的,多打总比小打好。 销售人员开发客户的方法三、电话要简短。 打电话做销售拜访的目标是获得一个约会。你不可能在电话上销售一种复杂的产品或服务,而且你当然也不希望在电话中讨价还价。电话做销售应该持续大约 3 分钟,而且应该专注于介绍你自已,你的产品,大概了解一下对方的需求,以便你给出一个很好的理由让对方愿意花费宝贵的时间和你交谈。最重要的别忘了约定与对方见面。 销售人员开发客户的方法四、在打电话前准备一个名单。 如果不事先准备名单的话,你的大部分销售时间将不得不用

来寻找所需要的名字。你会一直忙个不停,总是感觉工作很努力,却没有打上几个电话。因此,在手头上要随时准备个可以供一个月使用的人员名单。 销售人员开发客户的方法五、专注工作。 在销售时间里不要接电话或者接待客人。充分利用营销经验曲线。正象任何重复性工作一样,在相邻的时间片段里重复该项工作的次数越多,就会变得越优秀。推销也不例外。你的第二个电话会比第一个好,第三个会比第二个好,依次类推。在体育运动里,我们称其为“渐入最佳状态”。你将会发现,你的销售技巧实际不随着销售时间的增加而不断改进。 销售人员开发客户的方法六、如果利用传统的销售时段并不奏效的话,就要避开电话高峰时间进行销售。 通常来说,人们拨打销售电话的时间是在早上 9 点到下午 5 点之间。所以,你每天也可以在这个时段腾出一小时来作推销。如果这种传统销售时段对你不奏效,就应将销售时间改到非电话高峰时间,或在非高峰时间增加销售时间。你最好安排在上午8:00-9:00,中午 12:00-13:00 和 17:00-18:30 之间销售。 销售人员开发客户的方法七、变换致电时间。 我们都有一种习惯性行为,你的客户也一样。很可能你们在每周一的 10 点钟都要参加会议,如果你不能够在这个时间接通他们,从中就要汲取教训,在该日其它的时间或改在别的日子给他电话。你会得到出乎预料的成果。 销售人员开发客户的方法八、客户的资料必须整整有条。使用电脑化系统。

4.2软件开发管理办法

软件开发管理办法 修订记录 版本编号修订日期主要修订摘要 审核记录 审核人员属于部门审核日期 第一章总则 第一条为规范公司的开发管理流程,使各开发项目的管理进行标准化管理,特制定本管理办法。 第二条本管理办法详细规定软件开发程的各个阶段及每一阶段的任务、要求、交付文件,使整个软件开发过程阶段清晰、要求明确、任务具体,实现软件开发过程的标准化。 第三条本管理办法适用于计算机的自主软件开发项目。适用对象:软件开发管理人员,软件开发人员,软件维护人员,系统管理人员。 第二章组织机构与职责 第四条软件开发管理人员职责: 第五条软件开发人员职责: 第六条软件维护人员职责: 第七条系统管理人员职责: 第三章软件开发环境管理 第八条软件建设环境根据项目不同的时期,需要搭建生产运行环境、系统测试环境、系统开发环境三种不同的软硬件网络环境,便于生产、开发、测试等工作的安全、顺畅的进行。 第九条生产环境为系统维护管理人间管理的范畴,是系统正式运行,提交给各业务科室的正式环境,包括系统运行的硬件、网络等设备和进行集群处理的软件系统。 第十条测试环境为测试人员提供功能测试、性能测试的运行环境,包括运行环境模拟、测试工具服务器、测试工具客户端。 第十一条开发环境为系统开发人员提供系统开发需要的软件硬件环境,包括数据库服务器、应用服务器、开发工具客户端。 第十二条生产环境、测试环境、开发环境都存在自己独立的数据库服务器、应用服务器、客户端。在开发环境完成内部测试后,提交发布版本到测试环境中,由专门的测试人

员进行集成测试和功能测试。并进行一定的压力性能测试。在测试环境通过的版本在发布到生产环境。 第十三条生产环境与测试环境、开发环境需要物理隔离,保障生产环境的安全。 第四章开发过程管理 第十四条项目开发流程根据软件工程的流程,分为可行性研究与计划、需求分析、总计设计、详细设计、代码开发、系统测试五个阶段。 第十五条可行性研究与计划 1实施要求 1.软件开发部分析人员进行市场调查与分析,确认软件的市场需求 2.在调查研究的基础上进行可行性研究,写出可行性报告 3.评审和审批,决定项目取消或继续 4.若项目可行,制订初步的软件开发计划,建立项目日志 5.根据市场环境、公司软硬件情况预测十大风险因素 2交付文档 1.可行性研究报告* 2.初步的软件开发计划 3.十大风险列表* 4.软件项目日志* 第十六条需求分析 1实施要求 1.调查被开发软件的环境 2.软件开发提出的需求进行分析并给出详细的功能定义 3.做出简单的用户原型,与用户共同研究,直到用户满意 4.对可利用的资源(计算机硬件、软件、人力等)进行估计,制定项目进度计划(可 有相应的缓冲时间) 5.制定详细的软件开发计划 6.测试人员制订质量控制计划和测试计划 7.编写初步的用户手册 8.进行需求方案评审 2交付文档 1.软件需求说明书 2.更新后的软件开发计划 3.项目进度计划 4.计划

软件工程(第二版)课后习题

第一d ìy ī章zhāng 1.什么s h ?n m e 是s h ì软件ru ǎnji àn 危机w ēi j ī?为什么w ai s h ?n m e 会h u ì产生ch ǎnsh ēng 软件ru ǎnji àn 危机w ēi j ī? 答d á:软件ru ǎnji àn 危机w ēi j ī是s h ì指z h ǐ在z ài 计算机j ìs u àn j ī软件ru ǎnji àn 的d e 开发k āi f ā和h ?维护w ?i h ù过程gu òch ?ng 中zh ōng 遇到y ùd ào 的一系列严重问题。 (1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方 式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时 间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济 地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产 方法。 3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方 法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。 (2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良 好的效益。 软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。 所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在 计 算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发 现错误,就 重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧 所有通过了 编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运 行的可执行 软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统, 都属于软 件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效, 甚至不能 运行。

软件工程传统软件工程方法学

浅识传统软件工程方法学 传统方法学又称生命周期方法学或者结构化范型。它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。一个软件从开始计划到废止不用称为软件的生命周期。在传统的软件工程方法中,软件的生存期分为定义时期、开发时期、使用和维护时期这几个阶段。 定义时期包括:问题定义、可行性研究、需求分析,定义时期的任务是确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并制定工程进度表。 开发时期包括:总体设计、详细设计、编程和测试,其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。 使用和维护时期包括:维护,维护时期主要的任务是使软件持久地满足用户的需求。 定义时期在可行性研究时系统流程图作为描绘物理系统的传统工具。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程。不过在目前实际的软件开发中,通常不使用流程图,而直接通过编程完成详细设计。 传统软件工程方法的前期工作主要集中在分析和设计阶段,在需求分析过程中实体一关系图(ERD),数据流图(DFD)和状态转换图(STD)用于建立3种模型。其中实体一关系图(ERD)用于建立数据模型的图形,数据流图(DFD)是建立功能模块的基础,状态转换图(STD)是行为建模的基础。 在开发时期设计过程中各个阶段运用不同的工具。过程设计的工具有程序流程图、盒图、PAD图、判定表、判定树,接口设计和体系结构设计的工具都是数据流图,数据设计工具则有数据字典、实体-关系图。总体设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计中程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。然后把设计结果转换为可执行的程序代码,实现完成后的确认,保证最终产品满足用户的要求。 维护过程包括使用过程中的扩充、修改与完善,用于改正错误或满足新的需要。 传统软件工程方法,即结构化方法面向的是过程,它按照数据变换的过程寻找问题的结点,对问题进行分解。传统软件工程方法的功能,基于模块化,自顶向下,逐步求精设计、结构化程序设计技术基础上发展起来,系统是实现模块功能的函数和过程的集合,用启发式规则对结构进行细化。 传统软件工程的优点,把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度;在软件生命周期的每个阶段都采用科学的管理技术和良好的技术方法,而且在每个阶段结之前都从技术和管理两个角度进行严格的审查,合格之后才开始下一阶段的工作,这就使软件开发工程的全过程一种有条不紊的方式进行,保证了软件的质量,特别是提高了软件的可维护性。

软件开发方法的特点与选择

软件开发方法的特点与选择 软件开发 软件开发是根据用户要求建造出软件系统或者系统中部分软件的过程。它是一项包括需求捕捉,需求分析,需求设计,实现、测试和维护的系统工程。 常见的软件开发方法有 1 结构化开发方法 结构指系统内各组成要素之间的相互联系、相互作用的框架。结构化开发方法强调系统结构的合理性以及所开发的软件的结构的合理性,主要是面向数据流的,因此也被称为面向功能的软件开发方法或面向数据流的软件开发方法。结构化技术包括结构化分析、结构化设计和结构化程序设计三方面内容。 1.1 结构化分析的步骤 结构化分析是一种模型的确立活动,就是使用独有的符号,来确立描绘信息(数据和控制)流和内容的模型,划分系统的功能和行为,以及其他为确立模型不可缺少的描述。其基本步骤是:(1)构造数据流模型:根据用户当前需求,在创建实体—关系图的基础上,依据数据流图构造数据流模型。(2)构建控制流模型:一些应用系统除了要求用数据流建模外,通过构造控制流图(CFD),构建控制流模型。(3)生成数据字典:对所有数据元素的输入、输出、存储结构,甚至是中

间计算结果进行有组织的列表。目前一般采用CASE的“结构化分析和设计工具”来完成。(4)生成可选方案,建立需求规约:确定各种方案的成本和风险等级,据此对各种方案进行分析,然后从中选择一种方案,建立完整的需求规约。 1.2 结构化设计步骤 结构化设计是采用最佳的可能方法设计系统的各个组成部分以及各成分之间的内部联系的技术,目的在于提出满足系统需求的最佳软件的结构,完成软件层次图或软件结构图。其基本步骤如下: (1)研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程。 (2)然后根据数据流图决定问题的类型。数据处理问题有两种典型的类型:变换型和事务型。针对两种不同的类型分别进行分析处理。 (3)由数据流图推导出系统的初始结构图。也就是把数据流图映射到软件模块结构,设计出模块结构的上层。 (4)利用一些试探性原则来改进系统的初始结构图,直到得到符合要求的结构图为止。即在数据流图的基础上逐步分解高层模块,设计中下层模块,并对软件模块结构进行优化,最终得到更为合理的软件结构。 (5)描述模块接口。 (6)修改和补充数据词典。 (7)制定测试计划。 结构化设计可以将用数据流图表示的信息转换成程序结构的设计描述。2模块化开发方法

软件工程开发学考题(带答案)

一.选择题: 1.软件危机出现于___,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。(C、B ) A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作__B_。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了___D__。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是__B_。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.一个软件项目是否进行开发的结论是在___B__文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 6 .变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于_A__。 A.变换型 B 事务型 7 .需求分析说明书不能作为___A__。 A、可行性研究的依据 B、用户和开发人员之间的合同 C、系统概要设计的依据 D、软件验收测试的依据 8 .结构化分析方法以数据流图、_D__和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。 A.DFD图B.PAD图C.IPO图D.数据字典 9 .系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在____B_阶段进行的。 A、需求分析 B、总体设计 C、详细设计 D、编码阶段 10.下列___D不是模块化设计的目的。 A、可采用结构化设计方法 B、降低复杂度 C、有利于信息隐蔽 D、描述系统的功能与性能 11.某个模块的作用域是指___D__。 A、被该模块调用的所用模块 B、调用该模块的所有模块 C、与该模块相关联的所有模块 D、受该模块内的判定影响的所有模块 12.下列耦合度表示中,最弱的耦合形式是__C___。 A、特征耦合 B、公共耦合 C、数据耦合 D、数据结构 13.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于__A___耦合。 A、数据型 B、复合型 C、内容型 D、公共型 14.下列系统设计工具中,___B__不属于详细设计工具。 A、N—S图 B、数据流图 C、程序流程图 D、PAD