熟悉软件设计师的状态转换设计

合集下载

状态转换图 ppt课件

状态转换图 ppt课件
Software Requirement Specification
通常用自然语言+模型,完整、准确、 具体地描述系统的数据要求、功能需求、 性能需求、可靠性和可用性要求、出错 处理需求、接口需求、约束、逆向需求 以及将来可能提出的要求。
软件需求规格说明书,是需求分析阶段 得出的最主要的文档。
软件需求说明书的编写提示 (GB856T—88)
• 需求分析的任务就是借助于当前系统的逻辑模 型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。
3.1 需求分析的具体任务
1 确定对系统的综合要求
---功能需求、性能需求、可靠性和可用性 需求、出错处理需求、接口需求、约束、 逆向需求、将来可能提出的要求。
2 分析系统的数据要求
3 导出系统的逻辑模型
• 为表示实体型之间的联系,又建立两个 关系:
选课 (学号,课程号,听课出勤率, 作业完成率,分数)
教课 (职工号,课程号,授课效果) • 这五个关系,组成了数据库的模型。 • 在每个关系中,属性名下加下划线)指
明关键字。并规定关键字能唯一地标识 一个元组。
• 通常用“范式(Normal Forms)”定义消除数据冗余的 程度。第一范式(1 NF)数据冗余程度最大,第五范 式(5 NF)数据冗余程度最小。但是:

状态转换图
规范化的目的是: • 消除数据冗余,即消除表格中数据的重复; • 消除多义性,使关系中的属性含义清楚、
单一;
• 使关系的“概念”单一化,让每个数据项 只是一个简单的数或字符串,而不是一个 组项或重复组;
• 方便操作。使数据的插入、删除与修改操 作可行并方便;
• 使关系模式更灵活,易于实现接近自然语 言的查询方式。

软件设计师结构化方法、原型化方法

软件设计师结构化方法、原型化方法

软件设计师结构化方法、原型化方法1. 结构化方法是一种系统性的方法论,用于分析、设计和开发软件系统。

2. 结构化方法强调将软件系统分解为小的、可管理的模块,以便于理解和维护。

3. 结构化方法将软件系统的功能和数据定义分离,使得系统更具灵活性和可扩展性。

4. 结构化方法提供了一种规范化的设计和开发过程,使得团队成员可以更加协作和高效地工作。

5. 结构化方法通常包括需求分析、系统设计、模块设计和编码等阶段。

6. 需求分析阶段是结构化方法的起点,用于确定软件系统的功能和性能需求。

7. 系统设计阶段将需求分析结果转化为系统结构和模块之间的关系,通常使用流程图、数据流图和状态转换图等工具进行描述。

8. 模块设计阶段将系统设计结果继续细化,确定模块内部的数据结构、算法和接口规范。

9. 编码阶段是将模块设计结果转化为真正的代码实现,通常使用结构化编程语言和软件开发工具进行。

10. 结构化方法还包括整体测试和维护阶段,用于验证系统的正确性和完整性,并修复已发现的错误。

11. 结构化方法的优势是提供了一种基于模块化的开发框架,使得软件系统更易于理解、修改和扩展。

12. 结构化方法强调抽象和信息隐藏的原则,可以减少复杂系统的复杂性,提高代码的可读性和可维护性。

13. 结构化方法可以提高软件开发的生产效率和质量,降低项目风险和成本。

14. 结构化方法适用于中小型软件开发项目,特别是那些要求较高灵活性和可扩展性的项目。

15. 结构化方法常用的工具包括数据流图工具、流程图工具、结构化编程语言和软件开发环境等。

关于软件设计师原型化方法:16. 原型化方法是一种迭代的、快速开发的方法论,用于验证和优化软件系统的设计和界面。

17. 原型化方法强调通过创建原型来探索用户需求和验证设计思路,以提高系统的用户体验和性能。

18. 原型化方法可以减少需求分歧和风险,加快软件开发的速度和质量。

19. 原型化方法通常包括需求收集、原型设计、验证和修订等阶段。

软件设计师考试题型

软件设计师考试题型

软件设计师考试题型一、在软件设计过程中,以下哪个阶段主要负责确定系统的功能及性能需求?A. 需求分析B. 系统设计C. 编码实现D. 测试与维护(答案:A)二、以下哪种设计模式主要用于创建一个对象的唯一实例,并确保整个系统中只有一个该对象的实例?A. 工厂模式B. 单例模式C. 观察者模式D. 策略模式(答案:B)三、在数据库设计中,用于描述数据实体及其之间关系的是?A. 数据流图B. E-R图(实体-关系图)C. 状态转换图D. 用例图(答案:B)四、关于软件测试,下列哪一项描述是不正确的?A. 单元测试是对单个模块或组件进行的测试B. 集成测试是在单元测试之后,对多个模块组合进行测试C. 系统测试是验证整个系统是否满足用户需求D. 验收测试由开发团队内部完成,以确保软件质量(答案:D)五、在面向对象编程中,继承机制的主要作用是?A. 实现代码复用和多态性B. 提高程序的执行效率C. 简化数据结构的定义D. 增强程序的安全性(答案:A)六、下列哪一项不是敏捷开发宣言中强调的价值?A. 个体与交互重于流程和工具B. 可以工作的软件重于详尽的文档C. 客户合作重于合同谈判D. 严格遵循计划重于响应变化(答案:D)七、在软件项目管理中,用于估算项目成本、时间和资源的一种常用技术是?A. PERT图B. 甘特图C. 功能点分析D. 用例点分析(答案:C)(注:虽然用例点分析也是估算方法,但功能点分析更为常用作为此题答案)八、关于软件架构风格,以下哪种风格最适合需要高度可扩展性和灵活性的系统?A. 分层架构B. 微服务架构C. 客户端-服务器架构D. 管道-过滤器架构(答案:B)。

UML的状态转换图

UML的状态转换图

UML的状态转换图UML(Unified Modeling Language),即统一建模语言,是一种软件设计标准化语言。

它以图形形式描述了软件系统模型,包括系统的用例、类结构、对象行为、组件、部署等。

其中,状态转换图是UML中的一种图表,用于描述系统中对象的状态转换情况,因此具有极高的重要性。

一、什么是状态转换图状态转换图是一种UML中的行为图表,它用于描述一个对象在不同状态下所做出的决策以及所进行的状态转换。

它的主要目的是为软件开发人员提供一个描述系统对象行为的可视化方式。

状态转换图中的状态(State)指的是对象在不同时间下所处的状态,状态之间的转换(Transition)则表示对象从一个状态转换到另一个状态,转换需要满足一定的条件和事件(Event)。

图中还可以包含其他元素,如伴生(Companion)、活动(Activity)等。

二、状态转换图的元素状态转换图一般包含以下几个元素:1. 状态(State):指对象在不同时刻下所处的状态。

状态有两种类型:简单状态(Simple State)和复合状态(Composite State)。

2. 转换(Transition):指对象从一个状态转变为另一个状态的行为。

转换可以分为外部转换(External Transition)和内部转换(Internal Transition)。

3. 事件(Event):指触发对象状态转换的事件。

事件有三种类型:信号(Signal)、操作(Operation)、时间(Time)。

4. 条件(Guard Condition):指转换发生的条件,即满足条件才能进行状态转换。

5. 动作(Action):指转换完成后要执行的一些操作。

6. 伴生(Companion):指与状态转换图关联的动态行为的其他图表。

7. 活动(Activity):指状态转换图详细描述每个状态下处理逻辑的图表。

三、状态转换图的应用1. 需求分析:状态转换图可以帮助分析人员分析系统的状态,找出不同状态下的行为要素,并描述状态转换的规则。

软件资格考试软件设计师(基础知识、应用技术)合卷(中级)试题及解答参考(2025年)

软件资格考试软件设计师(基础知识、应用技术)合卷(中级)试题及解答参考(2025年)

2025年软件资格考试软件设计师(基础知识、应用技术)合卷(中级)自测试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、关于软件生命周期模型,下列说法错误的是:A. 瀑布模型适用于需求明确且开发过程中变化较小的项目。

B. 迭代模型通过反复循环过程来细化产品的开发。

C. 敏捷开发模型强调快速交付产品并持续改进。

D. 原型模型主要用于解决开发团队成员之间沟通不畅的问题。

2、在面向对象编程中,关于继承的描述正确的是:A. 继承是一种允许创建多个通用类的方法。

B. 子类可以访问父类的所有属性和方法,包括私有成员。

C. 继承关系支持多层继承,即一个子类可以继承另一个已经继承了其他类的类。

D. 使用继承不会影响程序的可扩展性和可维护性。

3、在面向对象的设计中,以下哪个概念描述了将数据与操作数据的方法捆绑在一起,形成一个封装的单元?A. 继承B. 封装C. 多态D. 抽象4、以下哪项是软件生命周期中的一个阶段,该阶段主要负责将需求转化为软件架构和设计?A. 软件需求分析B. 软件设计C. 软件实现D. 软件测试5、以下哪个不是计算机网络的拓扑结构?A)星型B)环型C)树型D)流线型6、在数据库设计中,将E-R图转换为关系数据模型的过程属于哪个设计阶段?A)需求分析B)概念结构设计C)逻辑结构设计D)物理结构设计7、在软件生命周期模型中,强调风险分析,并且每一阶段都有明确的目标和评估标准的是哪种模型?A. 瀑布模型B. 增量模型C. 螺旋模型D. 喷泉模型8、下列哪一项不属于软件需求规格说明书的内容?A. 功能需求B. 性能需求C. 编码规范D. 运行环境9、在面向对象的设计中,以下哪一种不是封装的基本原则?A. 将内部实现细节隐藏B. 提供公共接口C. 允许外部直接访问对象的私有变量D. 保持对象行为的不可预测性 10、在UML(统一建模语言)中,以下哪一种图用于表示系统中的类与类之间的关系?A. 状态图B. 类图C. 时序图D. 交互图11、下列选项中,不属于软件生命周期模型的是:A. 瀑布模型B. 螺旋模型C. 增量模型D. 演化模型12、在面向对象编程中,封装的主要目的是:A. 提高程序运行效率B. 实现数据隐藏C. 便于代码移植D. 支持代码复用13、在面向对象程序设计中,封装是指什么?14、下列关于UML(统一建模语言)的描述,错误的是:A. UML是一种可视化建模语言,用于软件系统分析和设计。

职场发展的四个阶段

职场发展的四个阶段

职场发展的四个阶段一、职场新人期(生存期)1. 特点- 对工作环境和业务流程陌生。

刚进入职场,如同进入一个全新的世界,不知道公司的各种规章制度、工作流程以及企业文化等。

例如,新入职一家互联网公司的员工,可能不了解公司内部的项目管理软件如何使用,也不清楚公司的请假流程。

- 技能和经验不足。

在这个阶段,往往缺乏与工作相关的专业技能和实际工作经验。

一个刚毕业从事市场营销工作的大学生,可能只在学校学过理论知识,对于如何策划一场成功的市场推广活动没有实际操作经验。

- 依赖他人指导。

需要经常向同事和上级请教问题,在工作任务的执行上依赖他人的指导。

例如,新入职的会计可能需要老会计指导如何处理复杂的财务账目。

2. 发展重点- 快速学习基础知识和技能。

积极参加公司的入职培训,利用业余时间学习与工作相关的知识。

例如,从事软件开发工作的新人要学习编程语言、开发工具等。

- 建立良好的人际关系。

与同事、上级建立积极的关系,这有助于在工作中获得更多的支持和指导。

主动与同事交流,参加团队活动,融入团队氛围。

- 适应职场规则。

了解公司的各项规章制度,如考勤制度、绩效评估制度等,遵守职场礼仪,学会在职场中恰当的沟通方式。

1. 特点- 开始掌握工作技能。

经过一段时间的学习和实践,已经熟练掌握了工作所需的基本技能,能够独立完成一些常规任务。

例如,一位文案策划人员已经能够独立撰写一些简单的宣传文案。

- 寻求更多挑战和机会。

不满足于现有的工作内容,渴望承担更多的责任和具有挑战性的任务,希望在工作中证明自己的能力。

例如,市场专员希望能够负责一个小型的市场调研项目。

- 开始建立个人职业形象。

在团队和公司内部逐渐形成自己的职业形象,同事和上级开始关注到自己的工作能力和表现。

2. 发展重点- 提升专业技能深度和广度。

深入学习本专业领域的高级知识和技能,同时拓宽相关领域的知识。

一名平面设计师在熟练掌握设计软件操作后,开始学习用户体验设计知识,以提升设计作品的商业价值。

软件设计师必背知识点

软件设计师必背知识点一、计算机组成与体系结构。

1. 数据的表示。

- 进制转换:- 二进制、八进制、十进制、十六进制之间的相互转换。

例如,十进制转二进制可以采用除2取余法,将十进制数不断除以2,取余数,直到商为0,然后将余数从右到左排列得到二进制数。

- 二进制数的运算,包括算术运算(加、减、乘、除)和逻辑运算(与、或、非、异或)。

- 原码、反码、补码:- 原码:最高位为符号位,0表示正数,1表示负数,其余位表示数值的绝对值。

- 反码:正数的反码与原码相同,负数的反码是在原码的基础上,符号位不变,其余位取反。

- 补码:正数的补码与原码相同,负数的补码是其反码加1。

计算机中通常采用补码来表示和运算数据,因为补码可以简化减法运算,将减法转换为加法。

2. 计算机的基本组成。

- 冯·诺依曼结构:由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

- 运算器:进行算术和逻辑运算的部件,如加法器、乘法器等。

- 控制器:指挥计算机各部件协调工作的部件,它从存储器中取出指令,分析指令并产生相应的控制信号,控制计算机各部件执行指令。

- 存储器:用于存储程序和数据。

分为内存储器(主存)和外存储器(辅存)。

内存储器包括随机存取存储器(RAM)和只读存储器(ROM)。

RAM是可读可写的存储器,断电后数据丢失;ROM是只读存储器,断电后数据不丢失,常用于存储BIOS等基本系统程序。

- 输入设备:如键盘、鼠标等,用于向计算机输入数据和指令。

- 输出设备:如显示器、打印机等,用于将计算机处理的结果输出。

3. 指令系统。

- 指令的格式:一般包括操作码和操作数两部分。

操作码表示指令要执行的操作,操作数表示操作的对象。

- 指令的寻址方式:- 立即寻址:操作数直接包含在指令中。

- 直接寻址:操作数的地址直接包含在指令中。

- 间接寻址:指令中给出的是操作数地址的地址。

- 寄存器寻址:操作数存放在寄存器中,指令中给出寄存器编号。

软件评测状态转换测试

软件评测状态转换测试软件评测:状态转换测试一、概述软件评测是测试软件的功能、性能和可靠性的过程。

其中,状态转换测试是一种重要的测试方法,旨在验证软件在不同状态之间的正确转换和响应能力。

本文将详细介绍状态转换测试的概念、目的、步骤和注意事项。

二、状态转换测试的概念状态转换测试是一种黑盒测试技术,主要用于测试基于状态机模型开发的软件系统。

它通过识别软件系统的各种状态和状态之间的转换关系,对软件进行全面的功能测试。

三、状态转换测试的目的状态转换测试的主要目的是验证软件系统在不同状态下的各项功能是否正常,并检测系统是否能够正确地响应状态转换的触发条件和动作。

通过这种测试方法,可以发现软件中的逻辑错误、边界条件错误以及潜在的死锁和活锁等问题。

四、状态转换测试的步骤1. 状态识别:首先,需要仔细分析软件系统的功能需求和设计文档,确定系统中的各个状态,并标识出状态之间的转换关系。

2. 组合识别:根据软件系统的状态转换图,确定需要组合测试的状态转换路径。

例如,研究系统在某个特定状态下的各种可能转换路径。

3. 设计测试用例:根据系统状态转换图和状态转换路径,设计测试用例,包括输入数据和预期输出结果。

测试用例应该覆盖所有重要的状态和状态转换。

4. 执行测试用例:根据设计的测试用例,使用合适的测试工具和环境执行测试。

5. 检查结果:对测试执行的结果进行检查和分析,验证软件系统在不同的状态转换下的行为是否符合预期。

6. 缺陷追踪和修复:发现问题后,应当及时记录并报告给开发团队,待修复后再进行二次测试。

五、状态转换测试的注意事项1. 边界条件:对于状态转换测试来说,边界条件非常重要。

要特别关注状态转换的边界,包括边界值、极端状态和异常处理等。

2. 等价类:在设计测试用例时,要根据等价类划分的原则,选择一些有代表性的测试用例进行测试。

避免重复测试相似的用例。

3. 错误处理:测试时需考虑各种错误场景,例如输入无效数据、系统资源不足等,以验证软件系统在异常情况下的处理能力。

软件设计师中的软件需求分析与建模方法

软件设计师中的软件需求分析与建模方法在软件开发过程中,软件需求分析与建模是至关重要的环节,它们帮助软件设计师深入了解客户需求,并将其转化为可行的软件方案。

本文将介绍软件设计师中常用的软件需求分析与建模方法,包括面向对象分析与设计(OOAD)、UML建模语言以及用户故事。

一、面向对象分析与设计(OOAD)面向对象分析与设计(Object-Oriented Analysis and Design,OOAD)是一种常见的软件需求分析与建模方法。

它以对象为中心,将系统建模为一系列相互关联的对象,并通过定义对象的属性和行为来描述系统。

OOAD方法有助于设计师理清系统的功能、对象之间的关系以及交互方式。

在OOAD中,常用的建模方法包括用例图、类图、时序图和活动图等。

用例图用于描述系统的功能需求,通过显示系统与外部实体(用户、其他系统等)之间的交互来展示系统的行为。

类图展示了系统中各个类的属性、方法和关系,帮助设计师理解系统的结构和组成。

时序图用于描述对象之间的交互顺序和消息传递过程,便于分析系统中的时序逻辑。

活动图则展示了系统中的业务流程和操作行为,有助于设计师理解系统的业务逻辑。

二、UML建模语言统一建模语言(Unified Modeling Language,UML)是一种常用的软件需求分析与建模工具,它提供了丰富的图表和符号,方便设计师进行系统建模和描述。

UML中常用的图表包括用例图、活动图、类图、时序图、状态图等。

用例图用于描述系统的功能需求和行为,展示了各个参与者(角色)与系统之间的交互。

活动图描述了系统的业务流程和操作行为,有助于设计师理解系统的工作流程。

类图描述了系统的结构和组成,展示了类之间的关系和属性。

时序图用于描述对象之间的交互顺序和消息传递过程,方便设计师分析系统的时序逻辑。

状态图描述了对象在系统中的状态转换和行为变化,帮助设计师分析系统的状态变化。

UML作为一种标准化的建模语言,广泛应用于软件开发过程中,通过图表和符号的方式,使得需求分析和建模更加直观、易于理解。

软件设计师上午基础知识考试选择题专项强化真题试卷9(题后含答案及解析)

软件设计师上午基础知识考试选择题专项强化真题试卷9(题后含答案及解析)题型有:1.1.某确定性有限自动机(DFA)的状态转换图如下图所示,令d=0|1|2|…|9,则以下字符串中,能被该DFA接受的是(49)。

A.3857B.120000C.-123.67D.5760000000正确答案:C解析:本题程序语言翻译基础知识。

翻译高级语言源程序的第一步工作是进行词法分析,即将源程序中的单词(记号)识别出来,该过程可用有限自动机描述。

自动机M识别一个字符串的过程是从开始状态出发,根据字符串中的字符依次进行状态转移,若能到达终态且字符串结束,则该字符串可被自动机M识别。

考查题目中的选项,3857的识别过程是状态0→状态1→状态1→状态1,状态1不是终态;字符串 1.2E+5中的“+”不能识别;字符串0.576E10的识别过程是状态0→状态1→状态5→状态6→状态6,在状态6下不能识别E。

字符串-123.67的识别过程是状态0→状态4→状态1→状态1→状态5→状态6→状态6,因此该字符串可被题中的自动机识别。

2.一个算法是对某类给定问题求解过程的精确描述,算法中描述的操作都可以通过将已经实现的基本操作执行有限次来实现,这句话说明算法具有(62)特性。

A.有穷性B.可行性C.确定性D.健壮性正确答案:B解析:本题考查算法基本概念。

一个算法是对某类给定问题求解过程的精确描述,算法有5个基本特性:有穷性、确定性、可行性、有输入和输出。

其中,有穷性是指对于任意一组合法输入值,在执行有穷步骤之后一定能结束,即算法中的每个步骤都能在有限时间内完成。

确定性是指对于每种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或阅读者都能明确其含义及如何执行,并且在任何条件下,算法都只有一条执行路径。

可行性是指算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之。

题目中的描述说明的是算法的可行性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

熟悉软件设计师的状态转换设计在软件设计领域中,状态转换是一项非常重要的设计技术,它能够
帮助软件设计师准确描述软件系统中各个状态之间的转换关系,从而
实现系统的逻辑控制。

本文将介绍软件设计师在状态转换设计中所需
熟悉的几个方面。

一、状态转换的基本概念
状态转换是指软件系统在不同状态之间切换的过程。

在软件开发中,通过状态转换可以控制系统的行为,使其能够按照预期的方式执行。

状态转换可以是用户触发的,也可以是系统自动触发的,它可以发生
在不同的时间点和条件下。

在进行状态转换设计时,首先需要明确系统中的各个状态,然后确
定状态之间的转换条件和触发事件。

针对每个状态,还需要定义相应
的操作或行为,以满足系统的需求。

二、状态转换图的绘制
状态转换图是一种常用的工具,用于表示系统中各个状态之间的转
换关系。

通过使用状态转换图,软件设计师可以清晰地展示整个系统
的状态及其转换规则。

在绘制状态转换图时,可以使用不同的图形符号来表示状态和转换
条件。

常用的图形符号包括圆圈表示状态,箭头表示状态之间的转换,标签表示触发事件或转换条件。

设计师可以根据系统的实际情况选择
适合的符号。

三、状态转换设计的步骤
状态转换设计通常包括以下几个步骤:
1. 确定系统的状态:首先需要梳理系统中的各个状态,并给每个状态命名,确保明确且具有描述性。

2. 确定状态之间的转换条件:根据系统的需求,确定状态之间的转换条件和触发事件。

这些条件可以是用户的操作、外部事件或系统内部的条件。

3. 绘制状态转换图:根据系统的状态和转换条件,使用合适的符号绘制状态转换图。

确保图形清晰、易于理解。

4. 定义状态转换的操作或行为:对每个状态转换,需要定义相应的操作或行为,确保系统在状态转换时能够正确执行。

5. 验证和优化状态转换设计:设计师需要对状态转换设计进行验证和优化,确保系统的状态转换能够满足需求,并且没有冗余或不必要的转换。

四、常见的状态转换设计模式
在软件设计中,存在一些常见的状态转换设计模式,设计师可以根据实际情况选择合适的模式来进行状态转换设计。

以下是其中几种常见的模式:
1. 有限状态机(FSM)模式:FSM是一种常见的状态转换模型,它
将系统的状态和转换规则抽象成状态表和状态转换表。

设计师可以根
据表的内容来进行状态转换的设计和实现。

2. 观察者模式:观察者模式可以用于在状态转换发生时通知其他对象。

当一个对象的状态发生变化时,观察者模式可以将状态转换的信
息传递给观察者,以触发相应的行为。

3. 策略模式:策略模式可以用于根据不同的状态选择不同的策略或
行为。

设计师可以根据系统的状态来选择合适的策略进行处理。

五、总结
通过本文的介绍,我们了解到了软件设计师在状态转换设计中所需
熟悉的几个方面。

熟练掌握状态转换的基本概念和绘图方法,能够帮
助设计师准确描述系统的状态和转换关系,从而实现系统的逻辑控制。

同时,设计师还可以根据实际情况选择合适的状态转换设计模式,以
提高系统的可维护性和灵活性。

参考文献:
[1] Avgeriou, P., Papasalouros, A., Retalis, S., & Skordalakis, M. (2003). Statechart Diagram Editor for Real-Time Systems. Journal of Systems and Software, 67(1-2), 121-132.
[2] Larman, C. (2005). Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd ed.). Prentice Hall.。

相关文档
最新文档