关键词:
一、前言
初步设计评审(PDR)会话帮助您确保鲁棒图,领域模型和用例文本都相互匹配。针对每个用例来说, 这个评审是初步设计和详细设计阶段之间的“门户”(桥梁)。在本章中,我们提供了PDR的概述,然后我们将展示Internet Bookstore的示例。初步设计评审理论,在本节中,我们将介绍PDR的关键要素,包括我们的前10名PDR指南。
二、为什么选择PDR?
为什么要在鲁棒性分析后重新评审你的模型? 这是一个假想的的对话,我们希望能够对这个话题有所了解:
1、 问:我为每个用例都绘制了一个鲁棒性图表,结果我认为用例模型很好。可以开始设计吗?
答:首先有一个快速评审步骤:初步设计评审(PDR)。 此评审会话帮助您确保鲁棒性图表,领域模型和用例文本都相互匹配。
2、 问:谁应该参与PDR会议(阶段)?
答:和参加需求评审的是同一群人:客户代表,开发团队以及密切参与项目的一些管理人员。 客户将密切参与和涉及这个会议(阶段),但这次评审是客户直接参与的最后阶段。 之后,它是详细的设计 - -这是高级开发人员的工作。
(注意:当然,客户可能仍然对正在进行的工作,截图等进行评论,但是您不希望非技术性(或更糟糕的是,客观上)客户去进行评论或推动未来的设计)
3、 问:但是如果客户想要在以后添加新的需求呢?
答:这是一个不同的问题。 我们所说的只是客户没有介入到设计和编码(即PDR之后的剩余步骤,直到交货)。
4、 问:如果客户确实想添加新的要求,这会对流程有什么影响?
答:对于新的需求,那么至少要回到过程的第1步(根据需要修改用例和领域模型)。处理分析和在不断改变需求的海洋里进行设计工作是一个复杂的难题,并且在这个过程中伴随着陷阱(Handling the analysis and design effort in a sea of changing requirements is a complex subject with many pitfalls)。所以我们写了一个关于这个问题的另一本书。
5、 问:在PDR期间还需要实现什么?
答:这是一个很好的机会来确保您的实体类已经填充了属性,在你的系统中的屏幕(screen)都有名称,并且可以跟踪屏幕(screen)和实体类之间的数据流。
6、 问:如果我们正在做一个详细的设计,我们还不应该考虑技术架构(TA)?
答:是的,在这个会议(阶段)进行的期间,TA也应该被评审。 您需要确保新兴的设计将与您选择的架构配合使用。
三、十大PDR指南
本章讨论的原则(principles)可以概括为一个准则清单。 我们的前10名列表如下:
hibernate--crud初体验
hibernate的crud操作初体验。看具体实例packagecom.fuwh.model;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.Id;importorg.hibernate.annot 查看详情
maven初体验
第一次用maven生成ssh工程发现一个警告:“DescriptionResourcePathLocationTypeBuildpathspecifiesexecutionenvironmentJ2SE-1.5.TherearenoJREsinstalledintheworkspacethatarestrictlycompatiblewiththisenvironment. ssh 查看详情
拆分订单===初
1、根据---这是看别人的一个====》就是把每个商品根据公司 用户用户真实名称进行一个分组排序 返回json格式 查看详情
applewatchseos8初体验辅助触控
applewatchseos8初体验辅助触控 查看详情
servlet一初体验
通过一个简单表单了解servlet 和asp.net差不多 查看详情
通讯录管理初表格
学号姓名性别年龄电话QQ宿舍号备注stringstringcharintstringstringstringstring 查看详情
线程池初体验
/***线程任务*/publicclassTaskServiceimplementsRunnable{@Overridepublicvoidrun(){System.out.println(Thread.currentThread().getName()+"TaskServicestart...");}}ExecutorServiceexecutorPool=Executors.newFixedT 查看详情
线程初偿
#-*-coding:utf-8-*-#Author:Brownyangyangimportthreadingimporttimedefsayhi(num):print("runningonnumber:%s"%num,threading.current_thread(),threading.active_count())##打印线程#threading.current_thread()当前县称号 查看详情
jdbc初体验
...句的对象 ResultSet:结果集或一张虚拟表一、代码初体验:(首先数据库中存在相应的数据库,服务开启)1importjava.sql.Connection;2importjava.sql.DriverManag 查看详情
svg初尝试之path
命令汇总命令基本规律移动和直线命令弧线命令 查看详情
windows初体验
#include<windows.h>LRESULTCALLBACKwndProc(HWND,UINT,WPARAM,LPARAM); intWINAPIWinMain1(HINSTANCEhInst,HINSTANCE,LPSTRszCmd,intnShow) WNDCLASSwndClass; TCHAR*ClassName=TEXT("MyClass"); 查看详情
初接触劫持,请教下各位
voidhook(){DetourRestoreAfterWith();DetourTransactionBegin();DetourUpdateThread(GetCurrentThread());DetourAttach((void**)&oldsystem,newsystem);DetourTransactionCommit();}voidunhook(){DetourTransac 查看详情
html标签初知
Html标签初知什么是Html标签 超文本标记语言(外国语简称:HTML)标记标签通常被称为HTML标签,HTML标签是HTML语言中最基本的单位,HTML标签是HTML(标准通用标记语言下的一个应用)最重要的组成部分。两个括号有开头结尾中... 查看详情
json初体验
在学校的呆了一段时间,马上又要回去工作了,不说了,我现在介绍一下json相关的内容1.JSON数据格式(总的来说,json就是一个字符串) 1.整体结构 Stringjson1="{"id":12,"name":"Tom"}"; Stringjson2="[{"id":12,"name":"Tom"},{"... 查看详情
csdn云ide初体验-有些惊艳
...ff1a;点击【云IDE】,即可开始创建工作空间啦~CSDN云IDE初体验-有些惊艳本文关键字:CSDN、云IDE、GitHub、开发云、初体验文章目录CSDN云IDE初体验-有些惊艳一、开发云1.访问地址2.密钥管理二、云IDE1.Fork一个开源项目2.自动创... 查看详情
scalajs_初体验
scalajs是将scala编译成js的编译器,目的在于使用scala的众多类库和强类型特征构建出稳定可扩展的js应用。build.sbt构建文件如下:enablePlugins(ScalaJSPlugin)name:="""scalajs"""version:="1.0"scalaVersion:="2.12.1"libraryDependencies+="org.scala-js"%%%"sc 查看详情
递归初体验
publicclassRecursionTry01{ publicintf(intn){//一个简单的递归函数 if(n>=0){//我们只限定输入n为非负整数 if(n==0){ return0;//基准情况 }else{ return2*f(n-1)+n*n;//递归实现 ... 查看详情
avfoundation框架初探究
...篇总结 系列第一篇地址:AVFoundation框架初探究(一) 在第一篇的文章中,我们总结了主要有下面几个点的知识: 1、对AVFoundation框架整体的一个认识 2、AVSpeechSynthesizer这个... 查看详情