ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>一区二区三区亚洲,亚洲最大无码中文字幕,最新国产AV无码专区亚洲http://m.tkk7.com/wufang5/认识自己åQŒé™ä¼è‡ªå·±ï¼Œæ”¹å˜è‡ªå·±åQŒæ‰èƒ½æ”¹å˜åˆ«äººã€?/description>zh-cnMon, 12 May 2025 07:07:25 GMTMon, 12 May 2025 07:07:25 GMT60è½?myeclipse7.5注册ç ?http://m.tkk7.com/wufang5/archive/2009/11/30/304274.html懒虫懒虫Mon, 30 Nov 2009 08:18:00 GMThttp://m.tkk7.com/wufang5/archive/2009/11/30/304274.htmlhttp://m.tkk7.com/wufang5/comments/304274.htmlhttp://m.tkk7.com/wufang5/archive/2009/11/30/304274.html#Feedback0http://m.tkk7.com/wufang5/comments/commentRss/304274.htmlhttp://m.tkk7.com/wufang5/services/trackbacks/304274.htmlå‰å‡ å¤©è£…了一个myeclipse7.5,æ¯å¤©å¼¹è¦æ³¨å†Œ,于是在网上æœäº†ä¸€ŒDµä»£ç ?一˜q行,åœ¨æŽ§åˆ¶å°æ•²å…¥ä½ çš„æ³¨å†Œå?回èžR,ž®×ƒ¼šå‡ºæ¥æ³¨å†Œç ?输进åŽ?å“?ä¸é”™,ä¸å¾€å‡ºå¼¹äº?

import java.io.BufferedReader;  
import java.io.IOException;  
import java.io.InputStreamReader;  
public class MyEclipseGen {  
private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";  
public String getSerial(String userId, String licenseNum) {  
   java.util.Calendar cal = java.util.Calendar.getInstance();  
   cal.add(1, 3);  
   cal.add(6, -1);  
   java.text.NumberFormat nf = new java.text.DecimalFormat("000");  
   licenseNum = nf.format(Integer.valueOf(licenseNum));  
   String verTime = new StringBuilder("-").append(  
     new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime()))  
     .append("0").toString();  
   String type = "YE3MP-";  
   String need = new StringBuilder(userId.substring(0, 1)).append(type)  
     .append("300").append(licenseNum).append(verTime).toString();  
   String dx = new StringBuilder(need).append(LL).append(userId)  
     .toString();  
   int suf = this.decode(dx);  
   String code = new StringBuilder(need).append(String.valueOf(suf))  
     .toString();  
   return this.change(code);  
}  
private int decode(String s) {  
   int i;  
   char[] ac;  
   int j;  
   int k;  
   i = 0;  
   ac = s.toCharArray();  
   j = 0;  
   k = ac.length;  
   while (j < k) {  
    i = (31 * i) + ac[j];  
    j++;  
   }  
   return Math.abs(i);  
}  
private String change(String s) {  
   byte[] abyte0;  
   char[] ac;  
   int i;  
   int k;  
   int j;  
   abyte0 = s.getBytes();  
   ac = new char[s.length()];  
   i = 0;  
   k = abyte0.length;  
   while (i < k) {  
    j = abyte0[i];  
    if ((j >= 48) && (j <= 57)) {  
     j = (((j - 48) + 5) % 10) + 48;  
    } else if ((j >= 65) && (j <= 90)) {  
     j = (((j - 65) + 13) % 26) + 65;  
    } else if ((j >= 97) && (j <= 122)) {  
     j = (((j - 97) + 13) % 26) + 97;  
    }  
    ac[i] = (char) j;  
    i++;  
   }  
   return String.valueOf(ac);  
}  
public MyEclipseGen() {  
   super();  
}  
public static void main(String[] args) {  
   try {  
    System.out.println("please input register name:");  
    BufferedReader reader = new BufferedReader(new InputStreamReader(  
      System.in));  
    String userId = null;  
    userId = reader.readLine();  
    MyEclipseGen myeclipsegen = new MyEclipseGen();  
    String res = myeclipsegen.getSerial(userId, "5");  
    System.out.println("Serial:" + res);  
    reader.readLine();  
   } catch (IOException ex) {  
   }  
}  
}  

 

本文æ¥è‡ªCSDNåšå®¢åQŒè{载请标明出处åQšhttp://blog.csdn.net/yaba213/archive/2009/10/15/4673974.aspx



]]>
软äšg需求文档格å¼çš„æ ‡å‡†å†™æ³•http://m.tkk7.com/wufang5/articles/259021.html懒虫懒虫Wed, 11 Mar 2009 02:21:00 GMThttp://m.tkk7.com/wufang5/articles/259021.htmlhttp://m.tkk7.com/wufang5/comments/259021.htmlhttp://m.tkk7.com/wufang5/articles/259021.html#Feedback0http://m.tkk7.com/wufang5/comments/commentRss/259021.htmlhttp://m.tkk7.com/wufang5/services/trackbacks/259021.html

1åQŽå¼•­a€

1åQ?  ¾~–写目的

· é˜æ˜Žå¼€å‘本软äšg的目的;

1åQ?  ™å¹ç›®èƒŒæ™¯

· 标识待开å‘èÊYä»¶äñ”å“çš„åç§°ã€ä»£ç ï¼›

· 列出本项目的ä»ÕdŠ¡æå‡ºè€…ã€é¡¹ç›®è´Ÿè´£ähã€ç³»¾lŸåˆ†æžå‘˜ã€ç³»¾lŸè®¾è®¡å‘˜ã€ç¨‹åºè®¾è®¡å‘˜ã€ç¨‹åºå‘˜ã€èµ„料员以åŠä¸Žæœ¬™å¹ç›®å¼€å±•å·¥ä½œç›´æŽ¥æœ‰å…³çš„äººå‘˜å’Œç”¨æˆøP¼›

· 说明该èÊYä»¶äñ”å“与其他有关软äšg产å“的相互关¾p…R€?/span>

1åQ?  æœ¯è¯­è¯´æ˜Ž

列出本文档中所用到的专门术语的定义和英文羃写è¯çš„原文ã€?/span>

1åQ?  å‚è€ƒèµ„æ–™ï¼ˆå¯æœ‰å¯æ— åQ?/span>

    åˆ—ä‹D¾~–写软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žæ—¶æ‰€å‚考的资料åQŒåŒ…æ‹¬é¡¹ç›®ç»æ ¸å‡†çš„计划ä“Q务书ã€åˆ

åŒã€å¼•用的标准和规范ã€é¡¹ç›®å¼€å‘计划ã€éœ€æ±‚è§„æ ÆD¯´æ˜Žã€ä‹É用实例文档,以åŠç›¸å…³äº§å“

çš„èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žã€?/span>

    åœ¨è¿™é‡Œåº”è¯¥ç»™å‡ø™¯¦¾l†çš„ä¿¡æ¯åQŒåŒ…括标题ã€ä½œè€…ã€ç‰ˆæœ¬å·ã€å‘表日期ã€å‡ºç‰ˆå•使ˆ–èµ?/span>

æ–™æ¥æºã€?/span>

2åQŽé¡¹ç›®æ¦‚˜q?/strong>

    2åQ?  å¾…å¼€å‘èÊY件的一般æ˜q?/span>

    æè¿°å¾…å¼€å‘èÊY件的背景åQŒæ‰€åº”达到的目标åQŒä»¥åŠå¸‚åœºå‰æ™¯ç­‰ã€?/span>

    2åQ?  å¾…å¼€å‘èÊY件的功能

    ½Ž€˜q°å¾…å¼€å‘èÊY件所å…ähœ‰çš„主è¦åŠŸèƒ½ã€‚äØ“äº†å¸®åŠ©æ¯ä¸ªè¯»è€…易于ç†è§£ï¼Œå¯ä»¥ä½¿ç”¨åˆ—表æˆ?/span>

囑ÖŞ的方法进行æ˜q°ã€‚ä‹É用图形表½Cºï¼Œå¯ä»¥é‡‡ç”¨åQ?/span>

    · ™å¶å±‚数残¹å›¾åQ?/span>

    · 用例UseCase图;

    · ¾pÈ»Ÿ‹¹ç¨‹å›¾ï¼›

    · 层次æ–ÒŽ¡†å›¾ã€?/span>

   2åQ?  ç”¨æˆ·ç‰¹å¾å’Œæ°´òq»I¼ˆæ˜¯å“ª¾cÖMh使用åQ?/span>

    æè¿°æœ€¾lˆç”¨æˆ·åº”å…ähœ‰çš„å—æ•™è‚²æ°´åã^ã€å·¥ä½œç»éªŒåŠæŠ€æœ¯ä¸“é•Ñ€?/span>

    2åQ?  ˜q行环境

    æè¿°è½¯äšgçš„è¿è¡ŒçŽ¯å¢ƒï¼ŒåŒ…æ‹¬¼‹¬äšgòq›_°ã€ç¡¬ä»¶è¦æ±‚ã€æ“作系¾lŸå’Œç‰ˆæœ¬åQŒä»¥åŠå…¶ä»–çš„è½?/span>

件或与其共存的应用程åºç­‰ã€?/span>

    2åQ?  æ¡äšg与é™åˆ?/span>

    ¾l™å‡ºå½±å“å¼€å‘äh员在设计软äšgæ—¶çš„¾U¦æŸæ¡æ¬¾åQŒä¾‹å¦‚:

    · 必须使用或é¿å…ä‹É用的特定技术ã€å·¥å…—÷€ç¼–½E‹è¯­­a€å’Œæ•°æ®åº“åQ?/span>

    · ¼‹¬äšgé™åˆ¶åQ?/span>

    · æ‰€è¦æ±‚的开å‘规范或标准ã€?/span>

3åQŽåŠŸèƒ½éœ€æ±?/strong>

    3åQ?  åŠŸèƒ½åˆ’åˆ†

    åˆ—ä‹D出所开å‘的软äšg能实现的全部功能åQŒå¯é‡‡ç”¨æ–‡å­—ã€å›¾è¡¨æˆ–数学公弽{‰å¤š¿Uæ–¹æ³?/span>

˜q›è¡Œæè¿°ã€?/span>

3åQ?  åŠŸèƒ½æè¿°

对å„个功能进行详¾l†çš„æè¿°ã€?/span>

4åQŽå¤–部接å£éœ€æ±?/strong>

4åQ?  ç”¨æˆ·ç•Œé¢

对用户希望该软äšg所å…ähœ‰çš„界é¢ç‰¹å¾è¿›è¡Œæ˜q°ã€‚以下是å¯èƒ½è¦åŒ…括的一些特å¾ï¼š

· ž®†è¦é‡‡ç”¨çš„图形用æˆïL•Œé¢æ ‡å‡†æˆ–产哾pÕdˆ—的风æ û|¼›

· å±å¹•布局åQ?/span>

· èœå•布局åQ?/span>

· 输入输出格å¼åQ?/span>

· é”™è¯¯ä¿¡æ¯æ˜„¡¤ºæ ¼å¼åQ?/span>

廸™®®é‡‡ç”¨RADå¼€å‘工典P¼Œ  æ¯”如VisioåQŒæž„造用æˆïL•Œé¢ã€?/span>

4åQ?  ¼‹¬äšg接å£

     æè¿°¾pÈ»Ÿä¸­èÊYä»¶äñ”å“å’Œ¼‹¬äšg讑֤‡æ¯ä¸€æŽ¥å£çš„特å¾ï¼Œä»¥å심äšgæŽ¥å£æ”¯æŒçš„设备ã€èÊY件与¼‹¬äšg接å£ä¹‹é—´åQŒä»¥åŠç¡¬ä»¶æŽ¥å£ä¸Žæ”¯æŒè®‘Ö¤‡ä¹‹é—´çš„约定,包括交æµçš„æ•°æ®å’ŒæŽ§åˆ¶ä¿¡æ¯çš„æ€§è´¨ä»¥åŠæ‰€ä½¿ç”¨çš„通信åè®®ã€?/span>

4åQ?  è½¯äšg接å£

    æè¿°è¯¥èÊYä»¶äñ”å“与其有兌™ÊY件的接å£å…³ç³»åQŒåƈ指出˜q™äº›å¤–部软äšg或组件的å字和版本å·ã€‚比如è¿è¡Œåœ¨ä»€ä¹ˆæ“作系¾lŸä¸ŠåQŒè®¿é—®ä½•¿U类型的数æ®åº“,使用什么数æ®åº“˜qžæŽ¥¾l„äšgåQŒå’Œä»€ä¹ˆå•†ä¸šèÊY件共享数æ®ç­‰ã€?/span>

4åQ?  é€šä¿¡æŽ¥å£

     æè¿°å’Œæœ¬è½¯äšg产å“相关的儿U通信需求,包括电å­é‚®äšgã€Web‹¹è§ˆå™¨ã€ç½‘¾lœé€šä¿¡åè®®½{‰ã€?/span>

4åQ?  æ•…障处ç†

    å¯¹å¯èƒ½çš„软äšgã€ç¡¬ä»¶æ•…障以åŠå¯¹å„é¡¹æ€§èƒ½è€Œè¨€æ‰€äº§ç”Ÿçš„åŽæžœè¿›è¡Œå¤„ç†ã€?/span>

5åQŽæ€§èƒ½éœ€æ±?/strong>

5åQ?  æ•°æ®¾_„¡¡®åº?/span>

输出¾l“果的精度ã€?/span>

    5åQ?  æ—‰™—´ç‰ÒŽ€?/span>

    æ—‰™—´ç‰ÒŽ€§å¯åŒ…括如下几方é?/span>

    ·å“应旉™—´åQ?/span>

    ·æ›´æ–°å¤„ç†æ—‰™—´åQ?/span>

    ·æ•°æ®è½¬æ¢ä¸Žä¼ è¾“æ—¶é—ß_¼›

     ·˜q行旉™—´½{‰ã€?/span>

    5åQ?  é€‚应æ€?/span>

     åœ¨æ“作方å¼ã€è¿è¡ŒçŽ¯å¢ƒã€ä¸Žå…¶ä»–软äšg的接å£ä»¥åŠå¼€å‘计划等å‘生å˜åŒ–æ—Óž¼Œè½¯äšg的适应能力ã€?/span>

6åQŽå…¶ä»–需æ±?/strong>

列出在本文的其他部分未出现的需求。如果ä¸éœ€è¦å¢žåŠ å…¶ä»–éœ€æ±‚ï¼Œå¯çœç•¥è¿™ä¸€éƒ¨åˆ†ã€?/span>

7åQŽæ•°æ®æ˜q?/strong>

   7åQ?  é™æ€æ•°æ?/span>

    7åQ?  åŠ¨æ€æ•°æ?/span>

包括输入数æ®å’Œè¾“出数æ®ã€?/span>

    7åQ?  æ•°æ®åº“æ˜q?/span>

    ¾l™å‡ºä½¿ç”¨æ•°æ®åº“çš„å称和类型ã€?/span>

     7åQ?  æ•°æ®å­—å…¸

对于数残¹å›¾ã€å±‚‹Æ¡æ–¹æ¡†å›¾ä¸­å‡ºçŽ°çš„æ‰€æœ‰å›¾å½¢å…ƒç´ åœ¨æ•°æ®å­—典中都è¦ä½œä¸ÞZ¸€ä¸ªè¯æ¡åŠ ä»¥å®šä¹‰ï¼Œä½¿å¾—æ¯ä¸€ä¸ªå›¾å½¢å…ƒç´ éƒ½æœ‰å”¯ä¸€çš„一个清晰明¼‹®çš„解释ã€?/span>

æ•°æ®å­—典中所有的定义必须是严密的ã€ç²¾¼‹®çš„åQŒä¸å¯æœ‰äºŒæ„性ã€?/span>

    7åQ?  æ•°æ®é‡‡é›†

    ·åˆ—出æä¾›è¾“入数æ®çš„æœºæž„ã€è®¾å¤‡å’Œäººå‘˜

    ·åˆ—出数æ®è¾“入的手ŒDüc€ä»‹è´¨å’Œè®‘Ö¤‡åQ?/span>

    ·åˆ—出数æ®ç”Ÿæˆçš„æ–¹æ³•ã€ä»‹è´¨å’Œè®‘Ö¤‡ã€?/span>

8åQŽé™„å½?/strong>

    åŒ…æ‹¬åˆ†æžæ¨¡åž‹åQŒå¾…定问题图表等ã€?/span>



]]>
如何˜q›è¡Œè½¯äšg需求分æž?/title><link>http://m.tkk7.com/wufang5/articles/259019.html</link><dc:creator>懒虫</dc:creator><author>懒虫</author><pubDate>Wed, 11 Mar 2009 02:20:00 GMT</pubDate><guid>http://m.tkk7.com/wufang5/articles/259019.html</guid><wfw:comment>http://m.tkk7.com/wufang5/comments/259019.html</wfw:comment><comments>http://m.tkk7.com/wufang5/articles/259019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/wufang5/comments/commentRss/259019.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/wufang5/services/trackbacks/259019.html</trackback:ping><description><![CDATA[<span style="color: #222222; font-family: 宋体; font-size: 14px; line-height: 22px; ">需求的定义包括从用戯‚§’度(¾pÈ»Ÿçš„外部行为)åQŒä»¥åŠä»Žå¼€å‘者角度(一些内部特性)æ¥é˜˜q°éœ€æ±‚ã€?br />     å…³é”®çš„问题是一定覾~–写需求文档。我曄¡»ç›®ç¹˜q‡ä¸€ä¸ªé¡¹ç›®ä¸­é€”æ›´æ¢äº†æ‰€æœ‰çš„å¼€å‘者,客户被迫与新的需求分æžè€…ååˆîC¸€èµ—÷€‚ç³»¾lŸçš„分æžäººå‘˜è¯ß_¼š“我们想与你谈谈你的需求ã€?#8221;客户的第一å应便是åQ?#8220;我已¾lå°†æˆ‘çš„è¦æ±‚都告诉你们å‰ä»ÖMº†åQŒçŽ°åœ¨æˆ‘è¦çš„ž®±æ˜¯¾l™æˆ‘¾~–一个系¾l?#8221;。而实际上åQŒéœ€æ±‚åÆˆæœªç¼–å†™æˆæ–‡æ¡£åQŒå› æ­¤æ–°çš„分æžäh员ä¸å¾—ä¸ä»Žå¤´åšè“vã€‚æ‰€ä»¥å¦‚æžœåªæœ‰ä¸€å †é‚®ä»¶ã€ä¼šè°ˆè®°å½•或一些零¼„Žçš„æœªæ•´ç†çš„对è¯åQŒä½ ž®Þq¡®ä¿¡ä½ å·²æ˜Žç™½ç”¨æˆïLš„需求,那完全是自欺‹ÆÞZhã€?br />     éœ€æ±‚çš„å¦å¤–一¿U定义认为需求是“用户所需è¦çš„òq¶èƒ½è§¦å‘ä¸€ä¸ªç¨‹åºæˆ–¾pÈ»Ÿå¼€å‘工作的说明”。有些需求分æžä¸“家拓展了˜q™ä¸ªæ¦‚念åQ?#8220;从系¾lŸå¤–部能å‘现¾pÈ»Ÿæ‰€å…ähœ‰çš„æ»¡­‘³äºŽç”¨æˆ·çš„特ç‚V€åŠŸèƒ½åŠå±žæ€§ç­‰”。这些定义强调的是äñ”哿˜¯ä»€ä¹ˆæ ·çš„ï¼Œè€ŒåÆˆéžäñ”哿˜¯æ€Žæ ·è®¾è®¡ã€æž„造的。而下é¢çš„定义则从用户需è¦è¿›ä¸€æ­¥è{¿UÕdˆ°äº†ç³»¾lŸç‰¹æ€§ï¼š<br /> 需求是指明必须实现什么的规格说明。它æè¿°äº†ç³»¾lŸçš„è¡ŒäØ“ã€ç‰¹æ€§æˆ–属性,是在开å‘过½E‹ä¸­å¯¹ç³»¾lŸçš„¾U¦æŸã€?br />     ä»Žä¸Šé¢è¿™äº›ä¸åŒåÅžå¼çš„定义ä¸éš¾å‘现åQšåÆˆæ²¡æœ‰ä¸€ä¸ªæ¸…æ™°ã€æ¯«æ— äºŒä¹‰æ€§çš„“需æ±?#8221;术语存在åQŒçœŸæ­£çš„“需æ±?#8221;实际上在äºÞZ»¬çš„è„‘‹¹·ä¸­åQŒè¿™ä¸ªähä»¬ä¸»è¦æ˜¯æŒ‡å®¢æˆøP¼Œä½†ä¸€èˆ¬æƒ…况下åQŒç”¨æˆ·åƈä¸èƒ½æè¿°è‡ªå·±çš„需è¦ï¼Œåªå°±éœ€è¦ç³»¾lŸåˆ†æžäh员根æ®ç”¨æˆïLš„自己语言的æ˜q°æ•´ç†å‡ºç›¸å…³çš„需è¦å†˜q›ä¸€æ­¥å’Œå®¢æˆ·æ ¸å¯¹ã€‚ç³»¾lŸåˆ†æžå‘˜å’Œå®¢æˆ·éœ€è¦ç¡®ä¿æ‰€æœ‰é¡¹ç›?a target="_blank" style="text-decoration: none; ">风险</a>承担者在æè¿°éœ€æ±‚的那些åè¯çš„ç†è§£ä¸ŠåŠ¡å¿…è¾¾æˆå…Þp¯†ã€?br /> ä»ÖM½•文档形å¼çš„需求(例如如下ž®†è¦æè¿°çš„éœ€æ±‚è§„æ ÆD¯´æ˜Žä¹¦åQ‰ä»…是一个模型,一¿Uæ˜q°ã€?br /> <center><strong>2åQŽéœ€æ±‚分æžçš„ä»ÕdŠ¡</strong></center><clk>å¼€å?nobr id="clickeyekey3" onclick="kwC(event,3,"")" oncontextmenu="return false" onmouseover="kwE(event,3, this)" onmouseout="kwL(event,this)" onmousemove="kwM(3)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">软äšg</nobr>¾pÈ»Ÿæœ€ä¸ºå›°éš„¡š„部分ž®±æ˜¯å‡†ç¡®è¯´æ˜Žå¼€å‘什么。最为困隄¡š„概念性工作便是编写出详细技术需求,˜q™åŒ…括所有é¢å‘用戗÷€é¢å‘机器和其它软äšg¾pÈ»Ÿçš„æŽ¥å£ã€‚åŒæ—¶è¿™ä¹Ÿæ˜¯ä¸€æ—¦åšé”™ï¼Œž®†æœ€¾lˆä¼š¾l™ç³»¾lŸå¸¦æ¥æžå¤§æŸå®³çš„部分åQŒåƈ且以åŽå†å¯¹å®ƒ˜q›è¡Œä¿®æ”¹ä¹Ÿæžä¸ºå›°éš¾ã€?/clk><br /> ç›®å‰åQŒå›½å†…äñ”å“的庞æ‚åQŒä¸€å®¶ä¼ä¸šå¯èƒ½æœ‰å‡ ä¸ª¾pÈ»Ÿòq¶ç«‹˜q行åQŒå®ƒä»¬ä¹‹é—´æŽ¥å£æ˜¯¾pÈ»Ÿå¼€å‘äh员最头痛的问题ã€?br /> 对于商业最¾lˆç”¨æˆ·åº”用程åºï¼Œä¼ä¸šä¿¡æ¯¾pÈ»Ÿå’ŒèÊY件作ä¸ÞZ¸€ä¸ªå¤§¾pÈ»Ÿçš„一部分的äñ”哿˜¯æ˜¾è€Œæ˜“è§çš„。但是对于我们开å‘äh员æ¥è¯ß_¼Œòq¶æ²¡æœ‰ç¼–写出客户认å¯çš„需求文档,我们如何知铙å¹ç›®äºŽä½•时结æŸï¼Ÿè€Œå¦‚果我们ä¸çŸ¥é“什么对客户æ¥è¯´æ˜¯é‡è¦çš„åQŒé‚£æˆ‘们åˆå¦‚何能使客æˆäh„Ÿåˆ°æ»¡æ„å‘¢åQ?br />     ç„¶è€Œï¼Œå³ä¾¿òq‰™žå‡ÞZºŽå•†ä¸šç›®çš„çš„èÊY仉™œ€æ±‚也是必™åÈš„。例如库ã€ç»„件和工具˜q™äº›ä¾›å¼€å‘å°¾l„内部ä‹É用的软äšg。当然你å¯èƒ½å¶å°”勉Kœ€æ–‡æ¡£è¯´æ˜Žž®Þpƒ½ä¸Žå…¶ä»–ähæ„è§è¾ƒäؓ一è‡ß_¼Œä½†æ›´å¸¸è§çš„æ˜¯å‡ºçްé‡å¤˜q”å·¥˜q™ç§ä¸å¯é¿å…çš„åŽæžœï¼Œè€Œé‡æ–°ç¼–制代ç çš„代ä­h˜qœè¿œ­‘…过é‡å†™ä¸€ä»½éœ€æ±‚文档的代ä­håQŒè¿™äº›è¡€çš„æ•™è®­æ­£åœ¨å›½å†…的软äšgå¼€å‘者èín上å‘生ã€?br />     ˜q‘æ¥åQŒæˆ‘é‡åˆ°ä¸€ä¸ªå¼€å‘å°¾l„å¼€å‘包括代ç ç¼–辑器在内的一套内部ä‹Éç”¨çš„è®¡ç®—æœø™¾…助èÊY件。ä¸òq¸çš„æ˜¯ï¼Œå½“他们开å‘完˜q™ä¸ªå·¥å…·åŽï¼Œå‘现˜q™ä¸ªå·¥å…·ä¸èƒ½æ‰“å°å‡ºæºä»£ç æ–‡äšgåQŒä‹É用者当然希望有˜q™ä¸ªåŠŸèƒ½ã€‚ç»“æžœè¿™ä¸ªå°¾l„åªå¥½æ‰‹å·¥æŠ„写æºä»£ç æ–‡æ¡£ä»¥ä¾›ä»£ç ‹‚€æŸ¥ã€‚这说明那怕需求明¼‹®æ— è¯¯åƈ构æ€å‡†¼‹®ï¼Œå¦‚果我们没有¾~–写文档åQŒèÊYä»¶è¾¾ä¸åˆ°æœŸæœ›ç›®æ ‡ä¹Ÿåªèƒ½æ˜¯å’Žç”±è‡ªå–了ã€?br />     ç›¸å的情况,我曾è§ä¸€ä¸ªè¦é›†æˆåˆ?#8220;错误跟踪¾pÈ»Ÿ”中的½Ž€å•界é¢å†™äº†ä¸€™åµéœ€æ±‚说明。è€?a target="_blank" style="text-decoration: none; ">æ“作¾pÈ»Ÿ</a><clk>¾pÈ»Ÿ<nobr id="clickeyekey6" onclick="kwC(event,6,"")" oncontextmenu="return false" onmouseover="kwE(event,6, this)" onmouseout="kwL(event,this)" onmousemove="kwM(6)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">½Ž¡ç†</nobr>员在为处ç†è„šæœ¬æ—¶å‘现½Ž€å•的一张需求清å•ç«Ÿæ˜¯å¦‚æ­¤æœ‰ç”¨ã€‚ä»–ä»¬ä¾æ®éœ€æ±‚对¾pÈ»Ÿ˜q›è¡Œ‹¹‹è¯•æ—Óž¼Œæ­¤ç³»¾lŸä¸ä»…éžå¸¸æ¸…晰地实现了所有必需功能åQŒè€Œä¸”未å‘çŽîC“Q何错误ã€?/clk><br />     äº‹å®žä¸Šï¼Œéœ€æ±‚文档在开å‘过½E‹ä¸­ä¸€ç›´è“v指导作用ã€?br /> <center><strong>3åQŽéœ€æ±‚分æžè¿‡½E?/strong></center>    å¯æŠŠæ•´ä¸ªè½¯äšg<a target="_blank" style="text-decoration: none; ">需求工½E?/a>研究领域划分为需求开å‘和需求管ç†ä¸¤éƒ¨åˆ†æ›´åˆé€‚,如图4-1所½Cºï¼š<br />     <img height="196" src="http://se.csai.cn/Requirement/Images/No0201.jpg" width="515" style="font-size: 12px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; color: #222222; " alt="" />å›?-1 需求工½E‹åŸŸçš„层‹Æ¡åˆ†è§£ç¤ºæ„图<br />     éœ€æ±‚å¼€å‘寘q›ä¸€æ­¥åˆ†ä¸ºï¼šé—®é¢˜èŽ·å–ã€åˆ†æžã€ç¼–å†™è§„æ ÆD¯´æ˜Žå’ŒéªŒè¯å››ä¸ªé˜¶æ®µã€‚这些孙å¹åŒ…括èÊY件类产å“中需求收集ã€è¯„ä»—÷€ç¼–å†™æ–‡æ¡£ç­‰æ‰€æœ‰æ´»åŠ¨ã€‚éœ€æ±‚å¼€å‘æ´»åŠ¨åŒ…æ‹¬ä»¥ä¸‹å‡ ä¸ªæ–¹é¢ï¼š<br />      ¼‹®å®šäº§å“所期望的用æˆïL±»åˆ«ã€?br />      èŽ·å–æ¯ä¸ªç”¨æˆ·¾cÈš„需求ã€?br />      了解实际用户ä»ÕdŠ¡å’Œç›®æ ‡ä»¥åŠè¿™äº›ä“Q务所支æŒçš„业务需求ã€?br />      åˆ†æžæºäºŽç”¨æˆ·çš„ä¿¡æ¯ä»¥åŒºåˆ«ç”¨æˆ·ä»ÕdŠ¡éœ€æ±‚ã€åŠŸèƒ½éœ€æ±‚ã€ä¸šåŠ¡è§„åˆ™ã€è´¨é‡å±žæ€§ã€å¾è®®è§£å†Ïx–¹æ³•和附加信æ¯ã€?br />      ž®†ç³»¾lŸçñ”的需求分为几个孾pÈ»ŸåQŒåƈž®†éœ€æ±‚中的一部䆾分酾l™èÊY件组件ã€?br />      了解相关质é‡å±žæ€§çš„é‡è¦æ€§ã€?br />      商讨实施优先¾U§çš„划分ã€?br />      ž®†æ‰€æ”‰™›†çš„ç”¨æˆ·éœ€æ±‚ç¼–å†™æˆæ–‡æ¡£å’Œæ¨¡åž‹ã€?br />      è¯„å®¡éœ€æ±‚è§„æ ÆD¯´æ˜Žï¼Œ¼‹®ä¿å¯¹ç”¨æˆ·éœ€æ±‚达到共åŒçš„ç†è§£ä¸Žè®¤è¯†ï¼Œòq¶åœ¨æ•´ä¸ªå¼€å‘å°¾l„接å—说明之å‰å°†é—®é¢˜éƒ½å¼„清楚ã€?br />     éœ€æ±‚管ç†éœ€è¦?#8220;建立òq¶ç»´æŠ¤åœ¨<a target="_blank" style="text-decoration: none; ">软äšg工程</a>中åŒå®¢æˆ·è¾¾æˆçš„åˆå?#8221; 。这¿UåˆåŒéƒ½åŒ…å«åœ¨ç¼–写的需求文档与模型中。客æˆïLš„æŽ¥å—仅是需求æˆåŠŸçš„ä¸€åŠï¼Œå¼€å‘äh员也必须能够接å—他们åQŒåƈ真正把需求应用到产å“ä¸­ã€‚é€šå¸¸çš„éœ€æ±‚ç®¡ç†æ´»åŠ¨åŒ…æ‹¬ï¼š<br />      定义需求基¾U¿ï¼ˆ˜q…速制定需求文档的ä¸ÖM½“åQ‰ã€?br />      评审æå‡ºçš„éœ€æ±‚å˜æ›´ã€è¯„估毙å¹å˜æ›´çš„å¯èƒ½å½±å“从而决定是å¦å®žæ–½å®ƒã€?br />      以一¿Uå¯æŽ§åˆ¶çš„æ–¹å¼å°†éœ€æ±‚å˜æ›´èžå…¥åˆ°™å¹ç›®ä¸­ã€?br />      使当å‰çš„™å¹ç›®è®¡åˆ’与需求一致ã€?br />      ä¼°è®¡å˜æ›´éœ€æ±‚所产生影å“òq¶åœ¨æ­¤åŸº¼‹€ä¸Šå商新的承诺,˜q™ç§æ‰¿è¯ºå…·ä½“体现在项目解å†Ïx–¹æ¡ˆä¸Šã€?br />      让毙åšwœ€æ±‚éƒ½èƒ½ä¸Žå…¶å¯¹åº”çš„è®¾è®¡ã€æºä»£ç å’Œæµ‹è¯•用例蔾p»è“væ¥ä»¥å®žçŽ°è·Ÿè¸ªã€?br />      在整个项目过½E‹ä¸­è·Ÿè¸ªéœ€æ±‚状æ€åŠå…¶å˜æ›´æƒ…å†üc€?br /> <clk>以上几点说明是我æ€È»“了æˆåŠŸå®žæ–½é¡¹ç›®åŽ¾pÈ»Ÿåˆ†æžäººå‘˜çš?nobr id="clickeyekey2" onclick="kwC(event,2,"")" oncontextmenu="return false" onmouseover="kwE(event,2, this)" onmouseout="kwL(event,this)" onmousemove="kwM(2)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">¾l验</nobr>åQŒåŒæ—¶ä¹Ÿæ ÒŽ®å›½å†…å¤–çš„å…¶ä»–¾pÈ»Ÿå®žæ–½çš„相å…ÏxˆåŠŸç»éªŒï¼Œ˜q›è¡Œäº†æ€È»“ã€?/clk><br /> <center><strong>4åQŽéœ€æ±‚çš„¾cÕdž‹</strong></center>    ä¸‹é¢˜q™äº›å®šä¹‰æ˜¯éœ€æ±‚å·¥½E‹é¢†åŸŸä¸­å¸¸è§æœ¯è¯­çš„定义ã€?br />     è½¯äšg需求包括三个ä¸åŒçš„层次åQšä¸šåŠ¡éœ€æ±‚ã€ç”¨æˆ·éœ€æ±‚和功能需求(也包括éžåŠŸèƒ½éœ€æ±‚ï¼‰ã€?br />     1åQŽä¸šåŠ¡éœ€æ±‚ï¼ˆbusiness requirementåQ‰å映了¾l„织机构或客户对¾pÈ»Ÿã€äñ”å“é«˜å±‚æ¬¡çš„ç›®æ ‡è¦æ±‚,它们在项目视图与范围文档中予以说明ã€?br />     2åQŽç”¨æˆ·éœ€æ±?user requirement) 文档æè¿°äº†ç”¨æˆ·ä‹É用äñ”å“å¿…™å»è¦å®Œæˆçš„ä“Q务,˜q™åœ¨ä½¿ç”¨å®žä¾‹åQˆuse caseåQ‰æ–‡æ¡£æˆ–æ–ÒŽ¡ˆè„šæœ¬è¯´æ˜Žä¸­äºˆä»¥è¯´æ˜Žã€?br />     3åQŽåŠŸèƒ½éœ€æ±?functional requirement)定义了开å‘äh员必™åÕd®žçŽ°çš„è½¯äšg功能åQŒä‹É得用戯‚ƒ½å®Œæˆä»–们的ä“Q务,从而满­‘³äº†ä¸šåŠ¡éœ€æ±‚ã€?br /> 在èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žä¹¦ åQˆSRSåQ‰ä¸­è¯´æ˜Žçš„功能需求充分æ˜qîCº†è½¯äšg¾pÈ»Ÿæ‰€åº”å…·æœ‰çš„å¤–éƒ¨è¡ŒäØ“ã€‚èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žåœ¨å¼€å‘ã€æµ‹è¯•ã€è´¨é‡ä¿è¯ã€é¡¹ç›®ç®¡ç†ä»¥åŠç›¸å…³é¡¹ç›®åŠŸèƒ½ä¸­éƒ½è“v了é‡è¦çš„作用。对一个大型系¾lŸæ¥è¯ß_¼Œè½¯äšgåŠŸèƒ½éœ€æ±‚ä¹Ÿè®¸åªæ˜¯ç³»¾lŸéœ€æ±‚的一个å­é›†ï¼Œå› äØ“å¦å¤–一些å¯èƒ½å±žäºŽå­¾pÈ»ŸåQˆæˆ–软äšg部äšgåQ‰ã€?br /> <clk>    ä½œäؓ功能需求的补充åQŒèÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žè¿˜åº”包括éžåŠŸèƒ½éœ€æ±‚ï¼Œå®ƒæ˜qîCº†¾pÈ»Ÿå±•现¾l™ç”¨æˆïLš„è¡ŒäØ“å’Œæ‰§è¡Œçš„<nobr id="clickeyekey0" onclick="kwC(event,0,"")" oncontextmenu="return false" onmouseover="kwE(event,0, this)" onmouseout="kwL(event,this)" onmousemove="kwM(0)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">æ“作</nobr>½{‰ã€‚它包括产å“å¿…é¡»éµä»Žçš?/clk><a target="_blank" style="text-decoration: none; ">标准</a>ã€è§„范和åˆçº¦åQ›å¤–部界é¢çš„具体¾l†èŠ‚åQ›æ€§èƒ½è¦æ±‚åQ›è®¾è®¡æˆ–å®žçŽ°çš„çº¦æŸæ¡ä»¶åŠè´¨é‡å±žæ€§ã€‚æ‰€è°“çº¦æŸæ˜¯æŒ‡å¯¹å¼€å‘äh员在软äšg产å“设计和构造上的é™åˆ¶ã€‚è´¨é‡å±žæ€§æ˜¯é€šè¿‡å¤šç§è§’度对äñ”å“的特点˜q›è¡Œæè¿°åQŒä»Žè€Œå映äñ”å“功能。多角度æè¿°äº§å“对用户和开å‘äh员都æžäØ“é‡è¦ã€?br />     ä¸‹é¢ä»¥ä¸€ä¸ªå­—处熽E‹åºä¸ÞZ¾‹æ¥è¯´æ˜Žéœ€æ±‚çš„ä¸åŒ¿U类。业务需求å¯èƒ½æ˜¯åQ?#8220;用户能有效地¾U æ­£æ–‡æ¡£ä¸­çš„æ‹¼å†™é”™è¯¯”åQŒè¯¥äº§å“的包装盒ž®é¢ä¸Šå¯èƒ½ä¼šæ ‡æ˜Ž˜q™æ˜¯ä¸ªæ»¡­‘³ä¸šåŠ¡éœ€æ±‚çš„æ‹¼å†™‹‚€æŸ¥å™¨ã€‚而对应的用户需求å¯èƒ½æ˜¯“扑ևºæ–‡æ¡£ä¸­çš„æ‹¼å†™é”™è¯¯òq‰™€šè¿‡ä¸€ä¸ªæä¾›çš„æ›¿æ¢™å¹åˆ—表æ¥ä¾›é€‰æ‹©æ›¿æ¢æ‹¼é”™çš„è¯”ã€‚åŒæ—Óž¼Œè¯¥æ‹¼å†™æ£€æŸ¥å™¨˜q˜æœ‰è®¸å¤šåŠŸèƒ½éœ€æ±‚ï¼Œå¦‚æ‰¾åˆ°åÆˆé«˜äº®åº¦æ½Cºé”™è¯çš„æ“ä½œåQ›æ˜¾½Cºæä¾›æ›¿æ¢è¯çš„å¯¹è¯æ¡†ä»¥åŠå®žçŽ°æ•´ä¸ªæ–‡æ¡£èŒƒå›´çš„æ›¿æ¢ã€?br />     ä»Žä»¥ä¸Šå®šä¹‰å¯ä»¥å‘玎ͼŒéœ€æ±‚åÆˆæœªåŒ…æ‹¬è®¾è®¡ç»†èŠ‚ã€å®žçŽ°ç»†èŠ‚ã€é¡¹ç›®è®¡åˆ’ä¿¡æ¯æˆ–‹¹‹è¯•ä¿¡æ¯ã€‚需求与˜q™äº›æ²¡æœ‰å…³ç³»åQŒå®ƒå…Ïx³¨çš„æ˜¯å……分说明你究竟想开å‘什么。项目也有其它方é¢çš„需求,如开å‘环境需求或å‘布产å“åŠç§»æ¤åˆ°æ”¯æ’‘环境的需求。尽½Ž¡è¿™äº›éœ€æ±‚对™å¹ç›®æˆåŠŸä¹Ÿè‡³å…³é‡è¦ï¼Œä½†å®ƒä»¬åÆˆéžæœ¬ä¹¦æ‰€è¦è®¨è®ºçš„ã€?br /> <center><strong>5åQŽéœ€æ±‚分æžçš„原则</strong></center>ä¸é‡è§†éœ€æ±‚过½E‹çš„™å¹ç›®é˜Ÿä¼ž®†è‡ªé£Ÿå…¶æžœã€‚需求工½E‹ä¸­çš„缺陷将¾l™é¡¹ç›®æˆåŠŸå¸¦æ¥æžå¤§é£Žé™©ï¼Œ˜q™é‡Œçš?#8220;æˆåŠŸ”是指推出的äñ”å“能以åˆç†çš„ä»äh ¼ã€åŠæ—¶åœ°åœ¨åŠŸèƒ½ã€è´¨é‡ä¸Šå®Œå…¨æ»¡èƒö用户的期望。下é¢å°†è®¨è®ºä¸€äº›éœ€æ±‚风险ã€?br />     ä¸é€‚当的需求过½E‹æ‰€å¼•è“v的一些风é™?<br />     1. æ— èƒö够用户å‚ä¸?br /> <clk>    å®¢æˆ·¾l叏䏿˜Žç™½äؓ什么收集需求和¼‹®ä¿éœ€æ±‚è´¨é‡éœ€èŠÞp´¹é‚£ä¹ˆå¤šåŠŸå¤«ï¼Œå¼€å‘äh员å¯èƒ½ä¹Ÿä¸é‡è§†ç”¨æˆïLš„å‚与。究其原因:一是因为开å‘äh员感觉与用户<nobr id="clickeyekey1" onclick="kwC(event,1,"")" oncontextmenu="return false" onmouseover="kwE(event,1, this)" onmouseout="kwL(event,this)" onmousemove="kwM(1)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">åˆä½œ</nobr>ä¸å¦‚¾~–å†™ä»£ç æœ‰æ„æ€ï¼›äºŒæ˜¯å› äؓ开å‘äh员觉得已¾l明白用æˆïLš„需求了。在æŸäº›æƒ…况下,与实际ä‹É用äñ”å“的用户直接接触很困难,而客户也ä¸å¤ªæ˜Žç™½è‡ªå·±çš„真正需求。但˜q˜æ˜¯åº”让å…ähœ‰ä»£è¡¨æ€§çš„用户在项目早期直接å‚与到开å‘队ä¼ä¸­åQŒåƈ一åŒç»åŽ†æ•´ä¸ªå¼€å‘过½E‹ã€?/clk><br />     ¾pÈ»Ÿäººå‘˜åœ¨å®žè·µè¿‡½E‹ä¸­åQŒä¹Ÿæœ‰äº›æ„Ÿè§‰åQŒåœ¨å®žæ–½ä¸€å®¶å…¬å¸çš„™å¹ç›®æ—Óž¼Œè‹¥æ— ­‘›_¤Ÿçš„用户å‚与,¾pÈ»Ÿäººå‘˜èŽ·å¾—çš„éœ€æ±‚æ˜¯ç‰‡é¢çš„,ä¸å®Œæ•´çš„åQŒè¿™æ ïL³»¾lŸåœ¨éœ€æ±‚之åˆå°±åŸ‹ä¸‹é£Žé™©ã€?br />     2. ç”¨æˆ·éœ€æ±‚çš„ä¸æ–­å¢žåŠ <br />     åœ¨å¼€å‘ä¸­è‹¥ä¸æ–­åœ°è¡¥å……需求,™å¹ç›®ž®Þp¶Šå˜è¶Šåºžå¤§ä»¥è‡´­‘…过其计划åŠé¢„ç®—èŒƒå›´ã€‚è®¡åˆ’åÆˆä¸æ€ÀL˜¯ä¸Žé¡¹ç›®éœ€æ±‚è§„æ¨¡ä¸Žå¤æ‚性ã€é£Žé™©ã€å¼€å‘生产率åŠéœ€æ±‚å˜æ›´å®žé™…情å†ëŠ›¸ä¸€è‡ß_¼Œ˜q™ä‹É得问题更难解冟뀂实际上åQŒé—®é¢˜æ ¹æºåœ¨äºŽç”¨æˆ·éœ€æ±‚的改å˜å’Œå¼€å‘者对新需求所作的修改ã€?br />     è¦æƒ³æŠŠéœ€æ±‚å˜æ›´èŒƒå›´æŽ§åˆ¶åˆ°æœ€ž®ï¼Œå¿…须一开始就寚w¡¹ç›®è§†å›¾ã€èŒƒå›´ã€ç›®æ ‡ã€çº¦æŸé™åˆ¶å’ŒæˆåŠŸæ ‡å‡†¾l™äºˆæ˜Žç¡®è¯´æ˜ŽåQŒåƈž®†æ­¤è¯´æ˜Žä½œäؓ评ä­héœ€æ±‚å˜æ›´å’Œæ–°ç‰¹æ€§çš„å‚照框架。说明中包括了对æ¯ç§å˜æ›´˜q›è¡Œå˜æ›´å½±å“因素分æžçš?a target="_blank" style="text-decoration: none; ">å˜æ›´æŽ§åˆ¶</a>˜q‡ç¨‹åQŒæœ‰åŠ©äºŽæ‰€æœ‰é£Žé™©æ‰¿æ‹…è€…æ˜Žç™½ä¸šåŠ¡å†³½{–çš„åˆç†æ€§ï¼Œå³äؓ何进行æŸäº›å˜æ›ß_¼Œç›¸åº”消耗的旉™—´ã€?a target="_blank" style="text-decoration: none; ">资æº</a>或特性上的折中ã€?br />     äº§å“å¼€å‘䏭䏿–­å»¶ç®‹çš„å˜æ›´ä¼šä½¿å…¶æ•´ä½“¾l“构日æ¸ç´ŠäØ•åQŒè¡¥ä¸ä»£ç ä¹Ÿä½¿å¾—整个½E‹åºéš¾ä»¥ç†è§£å’Œç»´æŠ¤ã€‚æ’入补ä¸ä»£ç ä‹É模嗘q背强内èšã€æ¾è€¦åˆçš„设计原则,特别是如果项ç›?a target="_blank" style="text-decoration: none; ">é…ç½®½Ž¡ç†</a>工作ä¸å®Œå–„çš„è¯ï¼Œæ”¶å›žå˜æ›´å’Œåˆ é™¤ç‰¹æ€§ä¼šå¸¦æ¥é—®é¢˜ã€‚如果你ž®½æ—©åœ°åŒºåˆ«è¿™äº›å¯èƒ½å¸¦æ¥å˜æ›´çš„ç‰ÒŽ€§ï¼Œä½ å°±èƒ½å¼€å‘一个更为å¥å£®çš„¾l“æž„åQŒåƈ能更好地适应它。这栯‚®¾è®¡é˜¶ŒDµéœ€æ±‚å˜æ›´ä¸ä¼šç›´æŽ¥å¯¼è‡´è¡¥ä¸ä»£ç ï¼ŒåŒæ—¶ä¹Ÿæœ‰åˆ©äºŽå‡å°‘å› å˜æ›´å¯¼è‡´è´¨é‡çš„下é™ã€?br />     3. 模棱两å¯çš„需æ±?br />     æ¨¡æ£±ä¸¤å¯æ˜¯éœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­æœ€ä¸ºå¯æ€•的问题。它的一层å«ä¹‰æ˜¯æŒ‡è¯¸å¤šè¯»è€…对需求说明äñ”生了ä¸åŒçš„ç†è§£ï¼›å¦ä¸€å±‚å«ä¹‰æ˜¯æŒ‡å•ä¸ªè¯»è€…èƒ½ç”¨ä¸æ­¢ä¸€ä¸ªæ–¹å¼æ¥è§£é‡ŠæŸä¸ªéœ€æ±‚说明ã€?br /> 模棱两å¯çš„需求会使ä¸åŒçš„风险承担者äñ”生ä¸åŒçš„æœŸæœ›åQŒå®ƒä¼šä‹Éå¼€å‘ähå‘˜äØ“é”™è¯¯é—®é¢˜è€Œæµªè´ÒŽ—¶é—ß_¼Œòq¶ä¸”使测试者与开å‘者所期望的ä¸ä¸€è‡´ã€‚一ä½ç³»¾lŸæµ‹è¯•äh员曾告诉我,å¥Òމ€åœ¨çš„‹¹‹è¯•¾l„ç»å¸¸å¯¹éœ€æ±‚ç†è§£æœ‰è¯¯ï¼Œä»¥è‡´ä¸å¾—ä¸é‡å†™è®¸å¤šæµ‹è¯•ç”¨ä¾‹åÆˆé‡åšè®¸å¤š‹¹‹è¯•ã€?br />     å¤„ç†æ¨¡æ£±ä¸¤å¯éœ€æ±‚的一¿U方法是¾l„织好负责从ä¸åŒè§’度审查需求的队ä¼ã€‚ä»…ä»…ç®€å•æµè§ˆä¸€ä¸‹éœ€æ±‚文档是ä¸èƒ½è§£å†³æ¨¡æ£±ä¸¤å¯é—®é¢˜çš„。如果ä¸åŒçš„评审者从ä¸åŒçš„角度对需求说明给予解释,但æ¯ä¸ªè¯„审äh员都真正了解需求文档,˜q™æ ·äºŒä¹‰æ€§å°±ä¸ä¼šç›´åˆ°™å¹ç›®åŽæœŸæ‰è¢«å‘现åQŒé‚£æ—¶å†å‘现的è¯ä¼šä‹É得更正代价很大ã€?br />     4. ä¸å¿…è¦çš„ç‰ÒŽ€?br /> <clk>    “画蛇添èƒö”是指开å‘äh员力囑֢žåР䏀äº?#8220;用户‹Æ£èµ”ä½†éœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­òq¶æœªæ¶‰åŠçš„æ–°åŠŸèƒ½ã€‚ç»å¸¸å‘ç”Ÿçš„æƒ…å†µæ˜¯ç”¨æˆ·åÆˆä¸è®¤ä¸ø™¿™äº›åŠŸèƒ½æ€§å¾ˆæœ‰ç”¨åQŒä»¥è‡´åœ¨å…¶ä¸Šè€—费的努åŠ?#8220;白歔了。开å‘ähå‘˜åº”å½“äØ“å®¢æˆ·æž„æ€æ–¹æ¡ˆåƈä¸ÞZ»–们æä¾›ä¸€äº›å…·æœ‰åˆ›æ–°æ„识的æ€èµ\åQŒå…·ä½“æä¾›å“ªäº›åŠŸèƒ½è¦åœ¨å®¢æˆäh‰€éœ€ä¸Žå¼€å‘äh员在å…许旉™™å†…çš„<nobr id="clickeyekey4" onclick="kwC(event,4,"")" oncontextmenu="return false" onmouseover="kwE(event,4, this)" onmouseout="kwL(event,this)" onmousemove="kwM(4)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">技æœ?/nobr>å¯è¡Œæ€§ä¹‹é—´æ±‚å¾—åã^衡,开å‘ähå‘˜åº”åŠªåŠ›ä½¿åŠŸèƒ½ç®€å•æ˜“用,而ä¸è¦æœª¾lå®¢æˆ·åŒæ„,擅自è„Þq¦»å®¢æˆ·è¦æ±‚åQŒè‡ªä½œä¸»å¼ ã€?/clk><br />     åŒæ ·åQŒå®¢æˆähœ‰æ—¶ä¹Ÿå¯èƒ½è¦æ±‚一些看上去å¾?#8220;é…?#8221;åQŒä½†¾~ÞZ¹å®žç”¨ä»·å€¼çš„功能åQŒè€Œå®žçŽ°è¿™äº›åŠŸèƒ½åªèƒ½å¾’è€—æ—¶é—´å’Œæˆæœ¬ã€‚äØ“äº†å°†“画蛇添èƒö”çš„å±å®›_°½é‡å‡ž®ï¼Œåº”ç¡®ä¿¡ï¼šä½ æ˜Žç™½äØ“ä»€ä¹ˆè¦åŒ…括˜q™äº›åŠŸèƒ½åQŒä»¥åŠè¿™äº›åŠŸèƒ½çš„“æ¥é¾™åŽ»è„‰”åQŒè¿™æ ·ä‹É得需求分æžè¿‡½E‹å§‹¾lˆæ˜¯æ³¨é‡é‚£äº›èƒ½ä‹É用户完æˆä»–们业务ä»ÕdŠ¡çš„æ ¸å¿ƒåŠŸèƒ½ã€?br />     5. ˜q‡äºŽ¾_„¡®€çš„è§„æ ÆD¯´æ˜?br />     æœ‰æ—¶åQŒå®¢æˆ·åÆˆä¸æ˜Žç™½éœ€æ±‚åˆ†æžæœ‰å¦‚æ­¤é‡è¦åQŒäºŽæ˜¯åªä½œä¸€ä»½ç®€ç•¥ä¹‹è‡³çš„规格说明åQŒä»…涉åŠäº†äñ”哿¦‚念上的内容,然åŽè®©å¼€å‘äh员在™å¹ç›®˜q›å±•中去完善åQŒç»“果很å¯èƒ½å‡ºçŽ°çš„æ˜¯å¼€å‘äh员先建立产å“的结构之åŽå†å®Œæˆéœ€æ±‚说明。这¿U方法å¯èƒ½é€‚åˆäºŽå°–端研½I¶æ€§çš„äº§å“æˆ–需求本íw«å°±å分ç‰|´»çš„æƒ…å†üc€‚但在大多数情况下,˜q™ä¼š¾l™å¼€å‘ähå‘˜å¸¦æ¥æŒ«æŠ˜ï¼ˆä½¿ä»–ä»¬åœ¨ä¸æ­£¼‹®çš„å‡è®¾å‰æå’Œæžå…¶æœ‰é™çš„æŒ‡å¯¼ä¸‹å·¥ä½œï¼‰åQŒä¹Ÿä¼šç»™å®¢æˆ·å¸¦æ¥çƒ¦æ¼åQˆä»–们无法得åˆîC»–们所设想的äñ”å“)ã€?br />     6. 忽略了用户分¾c?br />     å¤§å¤šæ•îCñ”哿˜¯ç”׃¸åŒçš„äºÞZ‹É用其ä¸åŒçš„特性,使用频繽E‹åº¦ä¹Ÿæœ‰æ‰€å·®å¼‚åQŒä‹É用者å—<a target="_blank" style="text-decoration: none; ">教育</a>½E‹åº¦å’Œç»éªŒæ°´òq³ä¹Ÿä¸å°½ç›¸åŒã€‚如果你ä¸èƒ½åœ¨é¡¹ç›®æ—©æœŸå°±é’ˆå¯¹æ‰€æœ‰è¿™äº›ä¸»è¦ç”¨æˆ¯‚¿›è¡Œåˆ†¾cÈš„è¯ï¼Œå¿…ç„¶å¯ÆD‡´æœ‰çš„用户对äñ”哿„Ÿåˆ°å¤±æœ›ã€‚例如,èœå•驱动æ“作寚w«˜¾U§ç”¨æˆ·å¤ªä½Žæ•ˆäº†ï¼Œä½†å«ä¹‰ä¸æ¸…的命ä×o和快æ·é”®åˆä¼šä½¿ä¸ç†Ÿç»ƒçš„用æˆäh„Ÿåˆ°å›°éš¾ã€?br />     7. ä¸å‡†¼‹®çš„计划<br />     æ®ç»Ÿè®¡ï¼Œå¯ÆD‡´éœ€æ±‚过½E‹ä¸­è½¯äšgæˆæœ¬ä¼°è®¡æžä¸å‡†ç¡®çš„åŽŸå› ä¸»è¦æœ‰ä»¥ä¸‹äº”点åQšé¢‘¾Jçš„éœ€æ±‚å˜æ›´ã€é—æ¼çš„需求ã€ä¸Žç”¨æˆ·äº¤æµä¸å¤Ÿã€è´¨é‡ä½Žä¸‹çš„éœ€æ±‚è§„æ ÆD¯´æ˜Žå’Œä¸å®Œå–„的需求分æžã€?br /> 对ä¸å‡†ç¡®çš„è¦æ±‚所æé—®é¢˜çš„æ­£ç¡®å“应æ˜?#8220;½{‰æˆ‘真正明白你的需求时åQŒæˆ‘ž®×ƒ¼šæ¥å‘Šè¯‰ä½ ”。基于ä¸å……分信æ¯å’Œæœª¾læ·±æ€çš„寚wœ€æ±‚䏿ˆç†Ÿçš„估计很å®ÒŽ˜“ä¸ÞZ¸€äº›å› ç´ å·¦åŸë€‚è¦ä½œå‡ºä¼°è®¡æ—Óž¼Œæœ€å¥½è¿˜æ˜¯ç»™å‡ÞZ¸€ä¸ªèŒƒå›´ã€‚未¾l准备的估计通常是作ä¸ÞZ¸€¿U猜‹¹‹ç»™å‡ºçš„åQŒå¬è€…å´è®¤äؓ是一¿U承诺。因此我们覞®½åŠ›¾l™å‡ºå¯è¾¾åˆ°çš„目标òq¶åšæŒå®Œæˆå®ƒã€?br /> <center><strong>6åQŽéœ€æ±‚分æžäh员和用户的åˆä½œå…³¾p?/strong></center>    ä¼˜ç§€çš„èÊYä»¶äñ”哿˜¯å»ºç«‹åœ¨ä¼˜¿U€çš„需求基¼‹€ä¹‹ä¸Šçš„。而高质é‡çš„éœ€æ±‚æ¥æºäºŽå®¢æˆ·ä¸Žå¼€å‘äh员之间有效的交æµä¸Žåˆä½œã€‚通常åQŒå¼€å‘äh员与客户或客户代ç†ähåQŒå¦‚市场人员间的关系å而会æˆäؓ一¿U对立关¾p…R€‚åŒæ–¹çš„½Ž¡ç†è€…éƒ½åªæƒ³è‡ªå·±çš„利益而æ¾|®ç”¨æˆäh供的需求从而äñ”生摩擦,在这¿U情况下åQŒä¸ä¼šç»™åŒæ–¹å¸¦æ¥ä¸€ç‚¹ç›Šå¤„ã€?br />     åªæœ‰å½“åŒæ–¹å‚ä¸Žè€…éƒ½æ˜Žç™½è¦æˆåŠŸè‡ªå·±éœ€è¦ä»€ä¹ˆï¼ŒåŒæ—¶ä¹Ÿåº”知é“è¦æˆåŠŸåˆä½œæ–¹éœ€è¦ä»€ä¹ˆæ—¶åQŒæ‰èƒ½å¾ç«‹è“v一¿Uåˆä½œå…³¾p…R€‚由于项目压力与日æ¸å¢žï¼Œæ‰€æœ‰é£Žé™©æ‰¿æ‹…者有ç€ä¸€ä¸ªå…±åŒçš„目标˜q™ä¸€ç‚¹å®¹æ˜“被é—忘。其实大安™ƒ½æƒ›_¼€å‘出一个既能实现商业ä­hå€û|¼Œåˆèƒ½æ»¡èƒö用户需è¦ï¼Œ˜q˜èƒ½ä½¿å¼€å‘者感到满­‘³çš„优秀软äšg产å“ã€?br />     è½¯äšg客户需求æƒåˆ©ä¹¦åˆ—å‡ºäº†åæ¡å…³äºŽå®¢æˆ·åœ¨™å¹ç›®éœ€æ±‚å·¥½E‹å®žæ–½ä¸­ä¸Žåˆ†æžäh员ã€å¼€å‘äh员交‹¹æ—¶çš„åˆæ³•è¦æ±‚。æ¯ä¸€™åÒŽƒåˆ©éƒ½å¯¹åº”ç€è½¯äšgå¼€å‘äh员ã€åˆ†æžäh员的义务。而èÊY件客户需求义务书也列å‡ÞZº†åæ¡å…³äºŽå®¢æˆ·åœ¨éœ€æ±‚过½E‹ä¸­åº”承担的义务。如果愿æ„,å¯ä»¥ž®†å…¶ä½œäؓ开å‘äh员的æƒåˆ©ä¹¦ã€?br /> 客户有如下æƒåˆ©ï¼š<br />     1åQšè¦æ±‚分æžäh员ä‹É用符åˆå®¢æˆ¯‚¯­­a€ä¹ æƒ¯çš„表è¾?br /> 需求讨论应集中于业务需è¦å’Œä»ÕdŠ¡åQŒæ•…è¦ä‹É用业务术语,你应ž®†å…¶æ•™ç»™åˆ†æžäººå‘˜åQŒè€Œä½  ä¸ä¸€å®šè¦æ‡‚得计算机的行业术语ã€?br />     2åQšè¦æ±‚分æžäh员了解客æˆïLš„业务åŠç›®æ ?br />     é€šè¿‡ä¸Žç”¨æˆ·äº¤‹¹æ¥èŽ·å–用户需求ã€åˆ†æžäh员æ‰èƒ½æ›´å¥½åœ°äº†è§£ä½ çš„业务ä»ÕdŠ¡å’Œæ€Žæ ·æ‰èƒ½ä½¿äñ”哿›´å¥½åœ°æ»¡èƒö你的需è¦ã€‚è¿™ž®†æœ‰åŠ©äºŽå¼€å‘äh员设计出真正满èƒö你的需è¦åƈ辑ֈ°ä½ æœŸæœ›çš„优秀软äšgã€‚äØ“å¸®åŠ©å¼€å‘äh员和分æžäººå‘˜åQŒå¯ä»¥è€ƒè™‘邀请他们观察你或你的åŒäº‹æ˜¯æ€Žæ ·å·¥ä½œçš„。如果新开å‘ç³»¾lŸæ˜¯ç”¨æ¥æ›¿ä»£å·²æœ‰çš„ç³»¾lŸï¼Œé‚£ä¹ˆå¼€å‘äh员应使用一下目å‰çš„¾pÈ»ŸåQŒè¿™ž®†æœ‰åˆ©äºŽä»–们明白目剾pÈ»Ÿæ˜¯æ€Žæ ·å·¥ä½œçš„,其工作浽E‹çš„æƒ…况åQŒä»¥åŠå¯ä¾›æ”¹˜q›ä¹‹å¤„ã€?br />     3åQšè¦æ±‚分æžäh员编写èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜?br />     åˆ†æžäººå‘˜è¦æŠŠä»Žä½ å’Œå…¶ä»–客户那里获得的所有信æ¯è¿›è¡Œæ•´ç†ï¼Œä»¥åŒºåˆ†å¼€ä¸šåŠ¡éœ€æ±‚åŠè§„范ã€åŠŸèƒ½éœ€æ±‚ã€è´¨é‡ç›®æ ‡ã€è§£å†Ïx–¹æ³•和其它信æ¯ã€‚通过˜q™äº›åˆ†æžž®Þpƒ½å¾—到一份èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žã€‚而这份èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žä¾¿åœ¨å¼€å‘äh员和客户之间针对è¦å¼€å‘的产å“内容达æˆäº†å议。èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žä¹¦å¯ä»¥ç”¨ä¸€¿Uä½ è®¤äØ“æ˜“äºŽ¾˜»é˜…å’Œç†è§£çš„æ–¹å¼¾l„织¾~–写。è¦è¯„审¾~–写出的规格说明以确ä¿å®ƒä»¬å‡†¼‹®è€Œå®Œæ•´åœ°è¡¨è¾¾äº†ä½ çš„需求。一份高质é‡çš„èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žèƒ½æœ‰åŠ©äºŽå¼€å‘äh员开å‘出真正需è¦çš„产å“ã€?br />     4åQšè¦æ±‚得到需求工作结果的解释说明<br />     åˆ†æžäººå‘˜å¯èƒ½é‡‡ç”¨äº†å¤š¿U图表作为文字性èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žçš„补充。因为如工作‹¹ç¨‹å›ùN‚£æ ïLš„图表能很清楚地æ˜q°å‡º¾pÈ»Ÿè¡Œäؓ的æŸäº›æ–¹é¢ã€‚所以需求说明中的儿Uå›¾è¡¨æœ‰ç€æžé«˜çš„ä­h倹{€‚虽然它们ä¸å¤ªéš¾äºŽç†è§£ï¼Œä½†æ˜¯ä½ å¾ˆå¯èƒ½å¯ÒŽ­¤òq¶ä¸ç†Ÿæ‚‰ã€‚å› æ­¤å¯ä»¥è¦æ±‚分æžäh员解释说明æ¯å¼ å›¾è¡¨çš„作用或其它的需求开å‘工作结果和½W¦å·çš„æ„ä¹‰ï¼ŒåŠæ€Žæ ·‹‚€æŸ¥å›¾è¡¨æœ‰æ— é”™è¯¯åŠä¸ä¸€è‡´ç­‰ã€?br />     5åQšè¦æ±‚å¼€å‘äh员尊é‡ä½ çš„æ„è§?br />     å¦‚果用户与开å‘äh员之间ä¸èƒ½ç›¸äº’ç†è§£ï¼Œé‚£å…³äºŽéœ€æ±‚的讨论ž®†ä¼šæœ‰éšœ¼„ï¼Œå…±åŒåˆä½œèƒ½ä‹É大家“å…¼å¬åˆ™æ˜Ž”。å‚与需求开å‘过½E‹çš„客户有æƒè¦æ±‚å¼€å‘äh员尊é‡ä»–ä»¬åÆˆçæƒœä»–们为项目æˆåŠŸæ‰€ä»˜å‡ºçš„æ—¶é—´ã€‚åŒæ øP¼Œå®¢æˆ·ä¹Ÿåº”对开å‘ähå‘˜äØ“™å¹ç›®æˆåŠŸ˜q™ä¸€å…±åŒç›®æ ‡æ‰€ä½œå‡ºçš„努力表½Cºå°Šé‡ä¸Žæ„Ÿæ¿€ã€?br />     6åQšè¦æ±‚å¼€å‘äh员对需求åŠäº§å“实施æä¾›å»ø™®®åQŒæ‹¿å‡ÞZ¸»æ„?br />     é€šå¸¸åQŒå®¢æˆäh‰€è¯´çš„“需æ±?#8221;已是一¿U实际å¯èƒ½çš„实施解决æ–ÒŽ¡ˆåQŒåˆ†æžäh员将ž®½åŠ›ä»Žè¿™äº›è§£å†Ïx–¹æ³•中了解真正的业务åŠå…‰™œ€æ±‚ï¼ŒåŒæ—¶˜q˜åº”扑ևºå·²æœ‰¾pÈ»Ÿä¸é€‚åˆå½“å‰ä¸šåС之处åQŒä»¥¼‹®ä¿äº§å“ä¸ä¼šæ— æ•ˆæˆ–低效。在å½Õdº•弄清业务领域内的事情åŽï¼Œåˆ†æžäººå‘˜æœ‰æ—¶ž®Þpƒ½æå‡ºç›¸å½“好的改进æ–ÒŽ³•。有¾l验且富有创造力的分æžäh员还能æå‡ºå¢žåŠ ä¸€äº›ç”¨æˆ·åÆˆæœªå‘现的很有价值的¾pÈ»Ÿç‰ÒŽ€§ã€?br />     7åQšæ˜qîCñ”哿˜“使用的特æ€?br />     ä½ å¯ä»¥è¦æ±‚分æžähå‘˜åœ¨å®žçŽ°åŠŸèƒ½éœ€æ±‚çš„åŒæ—¶˜q˜è¦æ³¨é‡è½¯äšgçš„æ˜“ç”¨æ€§ã€‚å› ä¸ø™¿™äº›æ˜“用特性或质é‡å±žæ€§èƒ½ä½¿ä½ æ›´å‡†¼‹®ã€é«˜æ•ˆåœ°å®Œæˆä»ÕdŠ¡ã€‚ä¾‹å¦‚ï¼Œå®¢æˆ·æœ‰æ—¶è¦æ±‚产å“è¦?#8220;用户å‹å¥½”æˆ?#8220;å¥å£®”æˆ?#8220;高效çŽ?#8221;åQŒä½†˜q™å¯¹äºŽå¼€å‘äh员æ¥è¯ß_¼Œå¤ªä¸»è§‚了òq¶æ— å®žç”¨ä»·å€¹{€‚æ­£¼‹®çš„应是åQšåˆ†æžäh员通过询问和调查了解客æˆäh‰€è¦çš„å‹å¥½ã€å¥å£®ã€é«˜æ•ˆæ‰€åŒ…å«çš„具体特性ã€?br />     8åQšè°ƒæ•´éœ€æ±‚,å…许é‡ç”¨å·²æœ‰çš„èÊY件组ä»?br />     éœ€æ±‚é€šå¸¸è¦æœ‰ä¸€å®šçš„ç‰|´»æ€§ã€‚分æžäh员å¯èƒ½å‘现已有的æŸä¸ªè½¯äšg¾l„äšg与你æè¿°çš„需求很相符。在˜q™ç§æƒ…况下,分æžäººå‘˜åº”æä¾›ä¸€äº›ä¿®æ”šwœ€æ±‚的选择以便开å‘äh员能够在新系¾lŸå¼€å‘中é‡ç”¨ä¸€äº›å·²æœ‰çš„软äšg。如果有å¯é‡ç”¨çš„æœÞZ¼šå‡ºçްåQŒåŒæ—¶ä½ åˆèƒ½è°ƒæ•´ä½ çš„需求说明,那就能é™ä½Žæˆæœ¬å’ŒèŠ‚çœæ—‰™—´åQŒè€Œä¸å¿…严格按原有的需求说明开å‘。所以说åQŒå¦‚果想在äñ”å“中使用一些已有的商业常用¾l„äšgåQŒè€Œå®ƒä»¬åƈä¸å®Œå…¨é€‚åˆä½ æ‰€éœ€çš„特性,˜q™æ—¶ä¸€å®šç¨‹åº¦ä¸Šçš„需求絋zÀL€§å°±æ˜‘Ö¾—æžäØ“é‡è¦äº†ã€?br />      9åQšèŽ·å¾—æ»¡­‘›_®¢æˆ·åŠŸèƒ½å’Œè´¨é‡è¦æ±‚的系¾l?br />     æ¯ä¸ªäººéƒ½å¸Œæœ›™å¹ç›®èŽ·å¾—æˆåŠŸã€‚ä½†˜q™ä¸ä»…è¦æ±‚ä½ è¦æ¸…晰地告知开å‘äh员关于系¾l?#8220;åšä»€ä¹?#8221;所需的所有信æ¯ï¼Œè€Œä¸”˜q˜è¦æ±‚å¼€å‘äh员能通过交æµäº†è§£æ¸…楚å–èˆä¸Žé™åˆ¶ã€‚ä¸€å®šè¦æ˜Žç¡®è¯´æ˜Žä½ çš„å‡è®¾å’Œæ½œåœ¨çš„æœŸæœ›ã€‚å¦åˆ™ï¼Œå¼€å‘äh员开å‘出的äñ”å“很å¯èƒ½æ— æ³•让你满æ„ã€?br /> 客户有下列义务:<br />     1åQšç»™åˆ†æžäººå‘˜è®²è§£ä½ çš„业务<br />     åˆ†æžäººå‘˜è¦ä¾é ä½ ¾l™ä»–ä»¬è®²è§£çš„ä¸šåŠ¡æ¦‚å¿µåŠæœ¯è¯­ã€‚但你ä¸èƒ½æŒ‡æœ›åˆ†æžäh员会æˆäؓ该领域的专家åQŒè€Œåªèƒ½è®©ä»–们真正明白你的问题和目标。ä¸è¦æœŸæœ›åˆ†æžäh员能把æ¡ä½ ä»¬ä¸šåŠ¡çš„ç»†å¾®ä¸Žæ½œåœ¨ä¹‹å¤„åQŒä»–们很å¯èƒ½òq¶ä¸çŸ¥é“那些对于你和你的åŒäº‹æ¥è¯´ç†æ‰€å½“ç„¶çš?#8220;常识”ã€?br />     2åQšæŠ½å‡ºæ—¶é—´æ¸…æ¥šåœ°è¯´æ˜Žòq¶å®Œå–„需æ±?br />     å®¢æˆ·å¾ˆå¿™åQŒç»å¸¸åœ¨æœ€å¿™çš„æ—¶å€™è¿˜å¾—å‚与需求开å‘。但无论如何åQŒä½ æœ‰ä¹‰åŠ¡æŠ½å‡ºæ—¶é—´å‚ä¸?#8220;头脑风暴”<a target="_blank" style="text-decoration: none; ">会议</a>的讨论,接å—采访或其它获å–需求的‹zÕdŠ¨ã€‚æœ‰æ—¶åˆ†æžäh员å¯èƒ½å…ˆä»¥äؓ明白了你的观点,而过åŽå‘现还需è¦ä½ çš„讲解。这æ—Óž¼Œè¯¯‚€å¿ƒä¸€äº›å¯¹å¾…需求和需求的¾_‘ÖŒ–工作˜q‡ç¨‹ä¸­çš„åå¤åQŒå› ä¸ºå®ƒæ˜¯äh们交‹¹ä¸­çš„很自然的现象,何况˜q™å¯¹è½¯äšg产å“çš„æˆåŠŸæžä¸ºé‡è¦ã€?br />     3åQšå‡†¼‹®è€Œè¯¦¾l†åœ°è¯´æ˜Žéœ€æ±?br />     ¾~–写一份清晰ã€å‡†¼‹®çš„需求文档是很困隄¡š„。由于处ç†ç»†èŠ‚é—®é¢˜ä¸ä½†çƒ¦äºø™€Œä¸”åˆè€—æ—¶åQŒæ•…很容易留下模¾pŠä¸æ¸…的需求。但是,在开å‘过½E‹ä¸­åQŒå¿…™åÕd¾—解决˜q™ç§æ¨¡ç³Šæ€§å’Œä¸å‡†¼‹®æ€§ã€‚è€Œä½ æ°æ˜¯ä¸ø™§£å†Œ™¿™äº›é—®é¢˜ä½œå‡ºå†³å®šçš„æœ€ä½³äh选。ä¸ç„¶çš„è¯ï¼Œä½ å°±åªå¥½é å¼€å‘ähå‘˜åŽ»æ­£ç¡®çŒœæµ‹äº†ã€‚åœ¨éœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­æš‚时加上待定åQˆto be determined, TBD也å¯é‡‡ç”¨æ±‰è¯­æ‹¼éŸ³ç•¥å†™“DQDåQšå¾…¼‹®å®š”åQ‰çš„æ ‡å¿—是个ä¸é”™çš„åŠžæ³•ã€‚ç”¨è¯¥æ ‡å¿—å¯æŒ‡æ˜Žäº†å“ªäº›éœ€è¦è¿›ä¸€æ­¥æŽ¢è®¨ã€åˆ†æžæˆ–增加信æ¯çš„地æ–V€‚丘q‡ï¼Œæœ‰æ—¶ä¹Ÿå¯èƒ½å› ä¸ºæŸä¸ªç‰¹ŒDŠéœ€æ±‚难以解å†Ïxˆ–没有人愿æ„处ç†å®ƒè€Œæ³¨ä¸ŠTBD标志。尽é‡å°†æ¯é¡¹éœ€æ±‚的内容都阘q°æ¸…楚,以便分æžäººå‘˜èƒ½å‡†¼‹®çš„ž®†å…¶å†™è¿›è½¯äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­ã€‚如果你一时ä¸èƒ½å‡†¼‹®è¡¨˜qŽÍ¼Œé‚£å°±å¾—å…许获å–å¿…è¦çš„准确信毘q™æ ·ä¸€ä¸ªè¿‡½E‹ã€‚通常使用所谓的原型技术。通过开å‘的原型åQŒä½ å¯ä»¥åŒå¼€å‘äh员一起åå¤ä¿®æ”¹ï¼Œä¸æ–­å®Œå–„需求定义ã€?br />     4åQšåŠæ—¶åœ°ä½œå‡ºå†›_®š<br />     æ­£å¦‚一ä½å¾½{‘师ä¸ÞZ½ ä¿®å¾æˆ¿å±‹åQŒåˆ†æžähå‘˜å°†è¦æ±‚ä½ åšå‡ÞZ¸€äº›é€‰æ‹©å’Œå†³å®šã€‚这些决定包括æ¥è‡ªå¤šä¸ªç”¨æˆähå‡ºçš„å¤„ç†æ–ÒŽ³•或在质é‡ç‰ÒŽ€§å†²½H和信æ¯å‡†ç¡®åº¦ä¸­é€‰æ‹©æŠ˜è¡·æ–ÒŽ¡ˆ½{‰ã€‚有æƒåšå‡ºå†³å®šçš„客户必须¿U¯æžåœ°å¯¹å¾…这一切,ž®½å¿«åšå¤„ç†ã€åšå†›_®šã€‚因为开å‘ähå‘˜é€šå¸¸åªæœ‰½{‰ä½ åšå‡ºäº†å†³å®šæ‰èƒ½è¡ŒåŠ¨ï¼Œè€Œè¿™¿U等待会延误™å¹ç›®çš„进展ã€?br />     5åQšå°Šé‡å¼€å‘äh员的需求å¯è¡Œæ€§åŠæˆæœ¬è¯„ä¼°<br />     æ‰€æœ‰çš„软äšgåŠŸèƒ½éƒ½æœ‰å…¶æˆæœ¬ä­hæ û|¼Œå¼€å‘äh员最适åˆé¢„ç®—˜q™äº›æˆæœ¬åQˆå°½½Ž¡è®¸å¤šå¼€å‘ähå‘˜åÆˆä¸æ“…长评估预‹¹‹ï¼‰ã€‚你所希望的æŸäº›äñ”å“特性å¯èƒ½åœ¨æŠ€æœ¯ä¸Šè¡Œä¸é€šï¼Œæˆ–者实现它è¦ä»˜å‡ºæžä¸ºé«˜æ˜‚的代ä­h。而æŸäº›éœ€æ±‚试囑֜¨æ“ä½œçŽ¯å¢ƒä¸­è¦æ±‚ä¸å¯èƒ½è¾‘Öˆ°çš„æ€§èƒ½æˆ–试囑־—åˆîC¸€äº›æ ¹æœ¬å¾—ä¸åˆ°çš„æ•°æ®ï¼Œå¼€å‘äh员会å¯ÒŽ­¤ä½œå‡ºè´Ÿé¢çš„评ä»äh„è§ï¼Œä½ åº”该尊é‡ä»–们的æ„è§ã€‚有æ—Óž¼Œä½ å¯ä»¥é‡æ–°ç»™å‡ÞZ¸€ä¸ªåœ¨æŠ€æœ¯ä¸Šå¯è¡Œã€å®žçŽîC¸Šä¾¿å®œçš„需求,例如åQŒè¦æ±‚æŸä¸ªè¡Œä¸ºåœ¨“瞬间”å‘生是ä¸å¯è¡Œçš„,但梿U更具体的时间需求说法(“åœ?0ms以内”,但若没有准确的技术分æžä¸èƒ½è½»æ˜“下¾l“论åQ‰ï¼Œ˜q™å°±å¯ä»¥å®žçŽ°äº†ã€?br />     6åQ?划分需求优先çñ”åˆ?br />     å¤§å¤šæ•°é¡¹ç›®æ²¡æœ‰èƒö够的旉™—´æˆ–èµ„æºæ¥å®žçŽ°åŠŸèƒ½æ€§çš„æ¯ä¸ª¾l†èŠ‚ã€‚å†³å®šå“ªäº›ç‰¹æ€§æ˜¯å¿…è¦çš„,哪些是é‡è¦çš„åQŒå“ªäº›æ˜¯å¥½çš„åQŒæ˜¯éœ€æ±‚å¼€å‘的主è¦éƒ¨åˆ†ã€‚åªèƒ½ç”±ä½ æ¥è´Ÿè´£è®‘Ö®šéœ€æ±‚优先çñ”åQŒå› ä¸ºå¼€å‘è€…åÆˆä¸å¯èƒ½æŒ‰ä½ çš„观点军_®šéœ€æ±‚优先çñ”。开å‘者将ä¸ÞZ½ ¼‹®å®šä¼˜å…ˆ¾U§æä¾›æœ‰å…Ïx¯ä¸ªéœ€æ±‚çš„èŠÞp´¹å’Œé£Žé™©çš„ä¿¡æ¯ã€‚当你设定优先çñ”æ—Óž¼Œä½ å¸®åЩ开å‘者确ä¿åœ¨é€‚当的时间内用最ž®çš„开支å–得最好的效果。在旉™—´å’Œèµ„æºé™åˆ¶ä¸‹åQŒå…³äºŽæ‰€éœ€ç‰ÒŽ€§èƒ½å¦å®Œæˆæˆ–完æˆå¤šå°‘应该ž®Šé‡å¼€å‘äh员的æ„è§ã€‚å°½½Ž¡æ²¡æœ‰ähæ„¿æ„看到自己所希望的需求在™å¹ç›®ä¸­æœªè¢«å®žçŽŽÍ¼Œä½†æ¯•竟是è¦é¢å¯¹è¿™¿U现实的。业务决½{–有时ä¸å¾—ä¸ä¾æ®ä¼˜å…ˆ¾U§æ¥¾~©å°™å¹ç›®èŒƒå›´æˆ–åšg长工期,或增加资æºï¼Œæˆ–在质é‡ä¸Šå¯»æ‰¾æŠ˜è¡—÷€?br />     7åQšè¯„审需求文档和原型<br />     æ­£å¦‚我们ž®†åœ¨½W? 4章讨论的åQŒæ— è®ºæ˜¯æ­£å¼çš„è¿˜æ˜¯éžæ­£å¼çš„æ–¹å¼ï¼Œå¯šwœ€æ±‚文档进行评审都会对软äšgè´¨é‡æé«˜æœ‰æ‰€å¸®åŠ©ã€‚è®©å®¢æˆ·å‚与评审æ‰èƒ½çœŸæ­£é‰´åˆ«éœ€æ±‚文档是å¦çš„¼‹®å®Œæ•´ã€æ­£¼‹®è¯´æ˜Žäº†æœŸæœ›çš„å¿…è¦ç‰¹æ€§ã€‚评审也¾l™å®¢æˆ·ä»£è¡¨æä¾›ä¸€ä¸ªæœºä¼šï¼Œ¾l™éœ€æ±‚分æžäh员带æ¥å馈信æ¯ä»¥æ”¹è¿›ä»–ä»¬çš„å·¥ä½œã€‚å¦‚æžœä½ è®¤äØ“¾~–写的需求文档ä¸å¤Ÿå‡†¼‹®ï¼Œž®±æœ‰ä¹‰åŠ¡ž®½æ—©å‘Šè¯‰åˆ†æžäººå‘˜òq¶äؓ改进æä¾›å»ø™®®ã€‚é€šè¿‡é˜…è¯»éœ€æ±‚è§„æ ÆD¯´æ˜Žï¼Œå¾ˆéš¾æƒŒ™±¡å®žé™…çš„èÊY件是什么样å­çš„。更好的æ–ÒŽ³•是先ä¸ÞZñ”å“å¼€å‘一个原型。这样你ž®Þpƒ½æä¾›æ›´æœ‰ä»·å€¼çš„å馈信毾l™å¼€å‘äh员,帮助他们更好地ç†è§£ä½ çš„需求。必™å»è®¤è¯†åˆ°åQšåŽŸåž‹åÆˆéžæ˜¯ä¸€ä¸ªå®žé™…äñ”å“,但开å‘äh员能ž®†å…¶è½¬å˜ã€æ‰©å……æˆåŠŸèƒ½é½å…¨çš„ç³»¾lŸã€?br />      8åQšéœ€æ±‚å‡ºçŽ°å˜æ›´è¦é©¬ä¸Šè”ç³»<br />      ä¸æ–­çš„éœ€æ±‚å˜æ›´ä¼š¾l™åœ¨é¢„定计划内完æˆé«˜è´¨é‡äº§å“带æ¥ä¸¥é‡çš„è´Ÿé¢åª„å“ã€‚å˜æ›´æ˜¯ä¸å¯é¿å…的,但在开å‘å‘¨æœŸä¸­å˜æ›´­‘Šåœ¨æ™šæœŸå‡ºçްåQŒå…¶å½±å“­‘Šå¤§ã€‚å˜æ›´ä¸ä»…ä¼šå¯ÆD‡´ä»£ä­hæžé«˜çš„返工,而且工期也会被迫延误åQŒç‰¹åˆ«æ˜¯åœ¨å¤§ä½“结构已完æˆåŽåˆéœ€è¦å¢žåŠ æ–°ç‰ÒŽ€§æ—¶ã€‚所以一旦你å‘现需è¦å˜æ›´éœ€æ±‚æ—¶åQŒè¯·ä¸€å®šç«‹å³é€šçŸ¥åˆ†æžäººå‘˜ã€?br />     9åQšåº”é늅§å¼€å‘组¾l‡å¤„ç†éœ€æ±‚å˜æ›´çš„˜q‡ç¨‹<br />     ä¸ÞZº†ž®†å˜æ›´å¸¦æ¥çš„è´Ÿé¢å½±å“å‡å°‘到最低é™åº¦ï¼Œæ‰€æœ‰çš„å‚与者必™å»éµç…§é¡¹ç›®çš„å˜æ›´æŽ§åˆ¶˜q‡ç¨‹ã€‚è¿™è¦æ±‚䏿”¾å¼ƒæ‰€æœ‰æå‡ºçš„å˜æ›´åQŒå¯¹æ¯é¡¹è¦æ±‚çš„å˜æ›´è¿›è¡Œåˆ†æžã€ç»¼åˆè€ƒè™‘åQŒæœ€åŽä½œå‡ºåˆé€‚的决策以确定将æŸäº›å˜æ›´å¼•å…¥™å¹ç›®ä¸­ã€?br />     10åQšå°Šé‡å¼€å‘äh员采用的需求工½E‹è¿‡½E?br /> 软äšgå¼€å‘中最å…ähŒ‘æˆ˜æ€§çš„èŽ«è¿‡äºŽæ”¶é›†éœ€æ±‚åÆˆ¼‹®å®šå…¶æ­£¼‹®æ€§ã€‚分æžäh员采用的æ–ÒŽ³•有其åˆç†æ€§ã€‚ä¹Ÿè®æ€½ è®¤äؓ需求过½E‹ä¸å¤ªåˆ’½Ž—ï¼Œä½†è¯·ç›æ€¿¡èŠ±åœ¨éœ€æ±‚å¼€å‘上的时间是“很有价å€?#8221;的。如果你ç†è§£òq¶æ”¯æŒåˆ†æžähå‘˜äØ“æ”‰™›†ã€ç¼–写需求文档和¼‹®ä¿å…¶è´¨é‡æ‰€é‡‡ç”¨çš„æŠ€æœ¯ï¼Œé‚£ä¹ˆæ•´ä¸ª˜q‡ç¨‹ž®†ä¼šæ›´äØ“™åºåˆ©ã€‚å°½½Ž¡åŽ»è¯¢é—®åˆ†æžäººå‘˜ä¸ÞZ»€ä¹ˆä»–ä»¬è¦æ”‰™›†æŸäº›ä¿¡æ¯åQŒæˆ–å‚与与需求有关的‹zÕdЍã€?br />     ¾pÈ»Ÿåˆ†æžäººå‘˜åœ¨å¼€å‘过½E‹ä¸­å¯èƒ½ä¼šé‡åˆîC»¥ä¸‹é—®é¢˜ï¼Œä¸€äº›å¾ˆå¿™çš„客户å¯èƒ½ä¸æ„¿æ„积æžå‚与需求过½E‹ï¼Œè€Œç¼ºž®‘客户å‚与将很å¯èƒ½å¯¼è‡´ä¸ç†æƒ³çš„äñ”å“。故一定覼‹®ä¿éœ€æ±‚å¼€å‘中的主è¦å‚与者都了解òq¶æŽ¥å—他们的义务。如果é‡åˆ°åˆ†æ­§ï¼Œé€šè¿‡å商以达æˆå¯¹å„自义务的相互ç†è§£ï¼Œ˜q™æ ·èƒ½å‡ž®‘今åŽçš„æ‘©æ“¦ã€?br /> <center><strong>7åQŽéœ€æ±‚æ–‡æ¡?/strong></center>    éœ€æ±‚å¼€å‘的最¾lˆæˆæžœæ˜¯åQšå®¢æˆ·å’Œå¼€å‘å°¾l„对ž®†è¦å¼€å‘的产å“è¾¾æˆä¸€è‡´å议。å议综åˆäº†ä¸šåŠ¡éœ€æ±‚ã€ç”¨æˆ·éœ€æ±‚和软äšgåŠŸèƒ½éœ€æ±‚ã€‚å°±åƒæˆ‘们早先所看到的,™å¹ç›®è§†å›¾å’ŒèŒƒå›´æ–‡æ¡£åŒ…å«äº†ä¸šåŠ¡éœ€æ±‚ï¼Œè€Œä‹É用实例文档则包å«äº†ç”¨æˆ·éœ€æ±‚。你必须¾~–写从ä‹É用实例派生出的功能需求文档,˜q˜è¦¾~–写产å“çš„éžåŠŸèƒ½éœ€æ±‚æ–‡æ¡£ï¼ŒåŒ…æ‹¬è´¨é‡å±žæ€§å’Œå¤–部接å£éœ€æ±‚ã€‚åªæœ‰ä»¥¾l“构化和å¯è¯»æ€§æ–¹å¼ç¼–写这些文档,òq¶ç”±™å¹ç›®çš„风险承担者评审通过åŽï¼Œå„æ–¹é¢äh员æ‰èƒ½ç¡®ä¿¡ä»–们所赞åŒçš„需求是å¯é çš„ã€?br />     ä½ å¯ä»¥ä‹É用以下三¿U方法编写èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žï¼š<br />      用好的结构化和自然语­a€¾~–写文本型文档ã€?br />      建立囑ÖŞ化模型,˜q™äº›æ¨¡åž‹å¯ä»¥æç»˜è½¬æ¢˜q‡ç¨‹ã€ç³»¾lŸçжæ€å’Œå®ƒä»¬ä¹‹é—´çš„å˜åŒ–ã€æ•°æ®å…³¾p…R€é€»è¾‘‹¹æˆ–对象¾cÕd’Œå®ƒä»¬çš„å…³¾p…R€?br />      ¾~–写形å¼åŒ–è§„æ ÆD¯´æ˜Žï¼Œ˜q™å¯ä»¥é€šè¿‡ä½¿ç”¨æ•°å­¦ä¸Šç²¾¼‹®çš„å½¢å¼åŒ–逻辑语言æ¥å®šä¹‰éœ€æ±‚ã€?br /> <clk>ç”׃ºŽå½¢å¼åŒ–è§„æ ÆD¯´æ˜Žå…·æœ‰å¾ˆå¼ºçš„严密性和¾_„¡¡®åº¦ï¼Œå› æ­¤åQŒæ‰€ä½¿ç”¨çš„åÅžå¼åŒ–è¯­è¨€åªæœ‰æžå°‘æ•°èÊYä»¶å¼€å‘äh员æ‰ç†Ÿæ‚‰åQŒæ›´ä¸ç”¨è¯´å®¢æˆ·äº†ã€‚虽然结构化的自然语­a€å…ähœ‰è®¸å¤š¾~ºç‚¹åQŒä½†åœ¨å¤§å¤šæ•°<nobr id="clickeyekey5" onclick="kwC(event,5,"")" oncontextmenu="return false" onmouseover="kwE(event,5, this)" onmouseout="kwL(event,this)" onmousemove="kwM(5)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">软äšg工程</nobr>ä¸­ï¼Œå®ƒä»æ˜¯ç¼–写需求文档最现实的方法。包å«äº†åŠŸèƒ½å’ŒéžåŠŸèƒ½éœ€æ±‚çš„åŸÞZºŽæ–‡æœ¬çš„èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žå·²¾läØ“å¤§å¤šæ•°é¡¹ç›®æ‰€æŽ¥å—ã€‚å›¾å½¢åŒ–åˆ†æžæ¨¡åž‹é€šè¿‡æä¾›å¦ä¸€¿U需求视图,增强了èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žã€?/clk><br />     è½¯äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žä¸ä»…是¾pÈ»Ÿ‹¹‹è¯•和用æˆäh–‡æ¡£çš„基础åQŒä¹Ÿæ˜¯æ‰€æœ‰å­¾pÕdˆ—™å¹ç›®è§„划ã€è®¾è®¡å’Œ¾~–ç çš„基¼‹€ã€‚它应该ž®½å¯èƒ½å®Œæ•´åœ°æè¿°¾pÈ»Ÿé¢„期的外部行为和用户å¯è§†åŒ–行为。除了设计和实现上的é™åˆ¶åQŒèÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žä¸åº”è¯¥åŒ…æ‹¬è®¾è®¡ã€æž„é€ ã€æµ‹è¯•或工程½Ž¡ç†çš„细节。许多读者ä‹É用èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žæ¥è¾‘Öˆ°ä¸åŒçš„目的:<br />     客户和è¥é”€éƒ¨é—¨ä¾èµ–它æ¥äº†è§£ä»–们所能æä¾›çš„产å“ã€?br />      <a target="_blank" style="text-decoration: none; ">™å¹ç›®¾lç†</a>æ ÒŽ®åŒ…å«åœ¨èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žä¸­æè¿°çš„äñ”哿¥åˆ¶å®šè§„划òq‰™¢„‹¹‹è¿›åº¦å®‰æŽ’ã€å·¥ä½œé‡å’Œèµ„æºã€?br />      软äšgå¼€å‘å°¾l„ä¾èµ–它æ¥ç†è§£ä»–们将è¦å¼€å‘的产å“ã€?br />      ‹¹‹è¯•ž®ç»„使用软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­å¯¹äñ”å“行为的æè¿°åˆ¶å®š‹¹‹è¯•è®¡åˆ’ã€æµ‹è¯•用例和‹¹‹è¯•˜q‡ç¨‹ã€?br />      软äšg¾l´æŠ¤å’Œæ”¯æŒäh员根æ®éœ€æ±‚è§„æ ÆD¯´æ˜Žäº†è§£äñ”å“çš„æŸéƒ¨åˆ†æ˜¯åšä»€ä¹ˆçš„ã€?br />      产å“å‘布¾l„åœ¨éœ€æ±‚è§„æ ÆD¯´æ˜Žå’Œç”¨æˆ·ç•Œé¢è®¾è®¡çš„基¼‹€ä¸Šç¼–写客æˆäh–‡æ¡£ï¼Œå¦‚用æˆäh‰‹å†Œå’Œå¸®åŠ©å±å¹•½{‰ã€?br />      <a target="_blank" style="text-decoration: none; ">培训</a><clk>人员æ ÒŽ®éœ€æ±‚è§„æ ÆD¯´æ˜Žå’Œç”¨æˆ·æ–‡æ¡£¾~–写<nobr id="clickeyekey7" onclick="kwC(event,7,"")" oncontextmenu="return false" onmouseover="kwE(event,7, this)" onmouseout="kwL(event,this)" onmousemove="kwM(7)" style="text-decoration: underline; color: #6600ff; background-color: transparent; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #6600ff; ">培训</nobr>ææ–™ã€?/clk><br /> 软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žä½œä¸ÞZñ”å“需求的最¾lˆæˆæžœå¿…™åÕd…·æœ‰ç»¼åˆæ€§ï¼šå¿…须包括所有的需求。开å‘者和客户ä¸èƒ½ä½œä“Q何å‡è®¾ã€‚如果ä“Q何所期望的功能或éžåŠŸèƒ½éœ€æ±‚æœªå†™å…¥è½¯äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žï¼Œé‚£ä¹ˆå®ƒå°†ä¸èƒ½ä½œäØ“å议的一部分òq¶ä¸”ä¸èƒ½åœ¨äñ”å“中出现ã€?br />     æˆ‘觘q‡æœ‰ä¸€ä¸ªé¡¹ç›®çªç„¶æŽ¥åˆ°æµ‹è¯•äh员å‘出的错误çùNš¾çš„æŠ¥å‘Šã€‚结果是他们‹¹‹è¯•的是è€ç‰ˆæœ¬çš„软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žï¼Œè€Œä»–ä»¬è§‰å¾—é”™è¯¯çš„åœ°æ–¹æ­£æ˜¯äº§å“æ‰€ç‹¬æœ‰çš„特性。他们的‹¹‹è¯•工作是徒劳的åQŒå› ä¸ÞZ»–们一直在è€ç‰ˆæœ¬çš„软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­å¯ÀL‰¾é”™è¯¯çš„ç³»¾lŸè¡Œä¸ºã€?br />     åœ¨ç¼–写èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žï¼Œå¸Œæœ›è¯»è€…牢è®îC»¥ä¸‹çš„廸™®®åQ?br />      对节ã€å°èŠ‚å’Œå•个需求的åïL ¾~–排必须一致ã€?br />      在å³è¾šwƒ¨åˆ†ç•™ä¸‹æ–‡æœ¬æ³¨é‡ŠåŒºã€?br />      å…许ä¸åŠ é™åˆ¶åœîC‹É用空根{€?br />      正确使用å„ç§å¯è§†åŒ–强调标志(例如åQŒé»‘体ã€ä¸‹åˆ’çº¿ã€æ–œä½“和其它ä¸åŒå­—体åQ‰ã€?br />      创å¾ç›®å½•表和索引表有助于读者寻找所需的信æ¯ã€?br />      å¯Òމ€æœ‰å›¾å’Œè¡¨æŒ‡å®šåïL å’Œæ ‡è¯†å·åQŒåÆˆä¸”å¯æŒ‰å·ç è¿›è¡ŒæŸ¥é˜…ã€?br />      使用字处ç†ç¨‹åºä¸­äº¤å‰å¼•ç”¨çš„åŠŸèƒ½æ¥æŸ¥é˜…文档中其它项或佾|®ï¼Œè€Œä¸æ˜¯é€šè¿‡™å늠或节å—÷€?br />     ä¸ÞZº†æ»¡èƒö软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žçš„å¯è·Ÿítªæ€§å’Œå¯ä¿®æ”ÒŽ€§çš„è´¨é‡æ ‡å‡†åQŒå¿…™åÕd”¯ä¸€¼‹®å®šæ¯ä¸ªè½¯äšg需求。这å¯ä»¥ä½¿ä½ åœ¨å˜æ›´è¯·æ±‚ã€ä¿®æ”¹åކå²è®°å½•ã€äº¤å‰å¼•用或需求的å¯è·ŸítªçŸ©é˜µä¸­æŸ¥é˜…特定的需求。由于è¦è¾‘Öˆ°˜q™ä¸€ç›®çš„åQŒç”¨å•一的项目列表是ä¸å¤Ÿçš„,因此åQŒæˆ‘ž®†æ˜q°å‡ ä¸ªä¸åŒçš„需求标识方法,òq‰™˜æ˜Žå®ƒä»¬çš„优点与缺ç‚V€‚å¯ä»¥é€‰æ‹©æœ€é€‚åˆä½ çš„æ–ÒŽ³•ã€?br />     (1) åºåˆ—åähœ€½Ž€å•çš„æ–ÒŽ³•是赋予æ¯ä¸ªéœ€æ±‚一个唯一的åºåˆ—å·åQŒä¾‹å¦‚SRS-13。当一个新的需求加入到商业需求管ç†å·¥å…ïLš„æ•°æ®åº“之åŽï¼Œ˜q™äº›½Ž¡ç†å·¥å…·ž®×ƒ¼šä¸ºå…¶åˆ†é…一个åºåˆ—å·åQˆè®¸å¤šè¿™æ ïLš„工具也支æŒå±‚‹Æ¡åŒ–¾~–å·åQ‰ã€‚åºåˆ—å·çš„剾~€ä»£è¡¨äº†éœ€æ±‚类型,例如SRS代表“软äšg需求说æ˜?#8221;。由于åºåˆ—å·ä¸èƒ½é‡ç”¨åQŒæ‰€ä»¥æŠŠéœ€æ±‚从数æ®åº“中删除æ—Óž¼Œòq¶ä¸é‡Šæ”¾å…¶æ‰€å æ®çš„åºåˆ—å·åQŒè€Œæ–°çš„需求åªèƒ½å¾—åˆîC¸‹ä¸€ä¸ªå¯ç”¨çš„åºåˆ—å—÷€‚è¿™¿U简å•çš„¾~–å·æ–ÒŽ³•òq¶ä¸èƒ½æä¾›ä“Q何相关需求在逻辑上或层次上的区别åQŒè€Œä¸”需求的标识ä¸èƒ½æä¾›ä»ÖM½•有关æ¯ä¸ªéœ€æ±‚内容的信æ¯ã€?br />     (2) 层次化编ç è¿™ä¹Ÿè®¸æ˜¯æœ€å¸¸ç”¨çš„æ–¹æ³•。如果功能需求出现在软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­½W? . 2部分åQŒé‚£ä¹ˆå®ƒä»¬å°†å…ähœ‰è¯¸å¦‚3.2.4.3˜q™æ ·çš„æ ‡è¯†å·ã€‚标识å·ä¸­çš„æ•°å­—­‘Šå¤šåˆ™è¡¨½Cø™¯¥éœ€æ±‚越详细åQŒå±žäºŽè¾ƒä½Žå±‚‹Æ¡ä¸Šçš„需求。å³ä½¿åœ¨ä¸€ä¸ªä¸­åž‹çš„软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žä¸­åQŒè¿™äº›æ ‡è¯†å·ä¹Ÿä¼šæ‰©å±•åˆ°è®¸å¤šä½æ•°å­—åQŒåÆˆä¸”è¿™äº›æ ‡è¯†ä¹Ÿä¸æä¾›ä“Q何有å…Ïx¯ä¸ªéœ€æ±‚目的的信æ¯ã€‚å¦‚æžœä½ è¦æ’å…¥ä¸€ä¸ªæ–°çš„éœ€æ±‚ï¼Œé‚£ä¹ˆè¯¥éœ€æ±‚æ‰€åœ¨éƒ¨åˆ†å…¶åŽæ‰€æœ‰éœ€æ±‚çš„åºå·ž®†è¦å¢žåŠ ã€‚åˆ é™¤æˆ–¿UÕdŽ»ä¸€ä¸ªéœ€æ±‚ï¼Œé‚£ä¹ˆè¯¥éœ€æ±‚æ‰€åœ¨éƒ¨åˆ†å…¶åŽæ‰€æœ‰éœ€æ±‚çš„åºå·ž®†è¦å‡å°‘ã€‚ä½†å…¶ä»–åœ°æ–¹çš„å¼•ç”¨å°†æ··äØ•åQŒå¯¹äºŽè¿™¿U简å•的层次化编åïLš„一¿U改˜q›æ–¹æ³•是寚wœ€æ±‚中主è¦çš„部分进行层‹Æ¡åŒ–¾~–å·åQŒç„¶åŽå¯¹äºŽæ¯ä¸ªéƒ¨åˆ†ä¸­çš„å•一功能需求用一个简短文字代ç åŠ ä¸Šä¸€ä¸ªåºåˆ—å·æ¥è¯†åˆ«ã€‚例如,软äšgéœ€æ±‚è§„æ ÆD¯´æ˜Žå¯èƒ½åŒ…å?#8220;½W?.2.5部分—编辑功èƒ?#8221;åQŒåƈž®†æ­¤éƒ¨åˆ†¾~–写æˆå­æ¨¡å—文档åQŒç„¶åŽé…¾|®ç®¡ç†ã€?br />     æœ‰æ—¶åQŒä½ è§‰å¾—¾~ºå°‘特定需求的æŸäº›ä¿¡æ¯ã€‚在解决˜q™ä¸ªä¸ç¡®å®šæ€§ä¹‹å‰ï¼Œå¯èƒ½å¿…é¡»ä¸Žå®¢æˆ·å•†è®®ã€æ£€æŸ¥ä¸Žå¦ä¸€ä¸ªç³»¾lŸçš„æŽ¥å£æˆ–者定义å¦ä¸€ä¸ªéœ€æ±‚。ä‹Éç”?#8220;å¾…ç¡®å®?#8221;åQˆto be determined, TBD或采用汉语拼音略写DQDåQ‰ç¬¦å·ä½œä¸ºæ ‡å‡†æŒ‡½Cºå™¨æ¥å¼ºè°ƒèÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žä¸­˜q™äº›éœ€æ±‚çš„¾~ºé™·ã€‚通过˜q™ç§æ–ÒŽ³•åQŒä½ å¯ä»¥åœ¨èÊY仉™œ€æ±‚è§„æ ÆD¯´æ˜Žä¸­æŸ¥æ‰¾æ‰€è¦æ¾„清需求的部分。记录谞®†è§£å†›_“ªä¸ªé—®é¢˜ã€æ€Žæ ·è§£å†³åŠä»€ä¹ˆæ—¶å€™è§£å†Ÿë€‚把æ¯ä¸ªTBD¾~–å·òq¶åˆ›å»ÞZ¸€ä¸ªTBD列表åQŒè¿™æœ‰åŠ©äºŽæ–¹ä¾¿åœ°è·Ÿè¸ªæ¯ä¸ª™å¹ç›®ã€?br />     åœ¨ç‘ô¾l­è¿›è¡Œæž„造需求集åˆä¹‹å‰ï¼Œå¿…须解决所有的TBD问题åQŒå› ä¸ÞZ“Q何é—留下æ¥çš„ä¸ç¡®å®šé—®é¢˜å°†ä¼šå¢žåŠ å‡ºé”™çš„é£Žé™©å’Œéœ€æ±‚è¿”å·¥ã€‚å½“å¼€å‘äh员é‡åˆîC¸€ä¸ªTBD问题或其它模¾pŠä¹‹å¤„æ—¶åQŒä»–å¯èƒ½ä¸ä¼š˜q”回到原始需求æ¥è§£å†³é—®é¢˜ã€‚多åŠå¼€å‘者对它进行猜‹¹‹ï¼Œä½†åÆˆä¸æ€ÀL˜¯æ­£ç¡®çš„。如果有TBD问题ž®šæœªè§£å†³åQŒè€Œä½ åˆè¦¾l§ç®‹˜q›è¡Œå¼€å‘工作,那么ž®½å¯èƒ½æŽ¨˜qŸå®žçŽ°è¿™äº›éœ€æ±‚ï¼Œæˆ–è€…è§£å†Œ™¿™äº›éœ€æ±‚的开攑ּ问题åQŒæŠŠäº§å“的这部分设计得易于更æ”V€?br />     ¾~–写优秀的需求文档没有现æˆå›ºå®šçš„æ–ÒŽ³•åQŒæœ€å¥½æ˜¯æ ÒŽ®¾l验˜q›è¡Œã€‚从˜q‡åŽ»æ‰€é‡åˆ°çš„问题中å¯ä‹Éä½ å—益匪‹¹…。许多需求文档å¯ä»¥é€šè¿‡ä½¿ç”¨æœ‰æ•ˆçš„æŠ€æœ¯ç¼–å†™é£Žæ ¼å’Œä½¿ç”¨ç”¨æˆ·æœ¯è¯­è€Œä¸æ˜¯è®¡½Ž—机专业术语的方å¼å¾—以改˜q›ã€?br /> 你在¾~–写优秀的需求文档时åQŒå¸Œæœ›è¯»è€…è¿˜éœ€ç‰¢è®°ä»¥ä¸‹å‡ ç‚¹å»ø™®®åQ?br />      ä¿æŒè¯­å¥å’Œæ®µè½çš„½Ž€çŸ­ã€?br />      采用ä¸ÕdŠ¨è¯­æ€çš„表达方å¼ã€?br />      ¾~–写å…ähœ‰æ­£ç¡®çš„è¯­æ³•ã€æ‹¼å†™å’Œæ ‡ç‚¹çš„完整å¥å­ã€?br />      ä½¿ç”¨çš„æœ¯è¯­ä¸Žè¯æ±‡è¡¨ä¸­æ‰€å®šä¹‰çš„应该一致ã€?br />      需求陈˜q°åº”该具有一致的样å¼åQŒä¾‹å¦?#8220;¾pÈ»Ÿå¿…é¡»..”或è€?#8220;用户必须..”åQŒåƈ紧跟一个行为动作和å¯è§‚察的¾l“果。例如,“仓库½Ž¡ç†å­ç³»¾lŸå¿…™åÀL˜¾½CÞZ¸€å¼ æ‰€è¯äh±‚的仓库中有存货的库存清å•ã€?#8221;<br />      ä¸ÞZº†å‡å°‘ä¸ç¡®å®šæ€§ï¼Œå¿…é¡»é¿å…模糊的ã€ä¸»è§‚的术语åQŒä¾‹å¦‚,用户å‹å¥½ã€ç®€å•ã€æœ‰æ•ˆã€ã€æœ€<a target="_blank" style="text-decoration: none; ">新技æœ?/a>ã€ä¼˜­‘Šçš„ã€å¯æŽ¥å—的等。当用客è¯?#8220;用户å‹å¥½”或è€?#8220;å¿?#8221;æ—Óž¼Œä½ åº”该明¼‹®å®ƒä»¬çš„真正å«ä¹‰òq¶ä¸”åœ¨éœ€æ±‚ä¸­é˜æ˜Žç”¨æˆ·çš„æ„å›¾ã€?br />      é¿å…ä½¿ç”¨æ¯”è¾ƒæ€§çš„è¯æ±‡åQŒå®šé‡åœ°è¯´æ˜Žæ‰€éœ€è¦æé«˜çš„½E‹åº¦æˆ–è€…è¯´æ¸…ä¸€äº›å‚æ•°å¯æŽ¥å—的最大值和最ž®å€¹{€‚当客户说明¾pÈ»Ÿåº”该“处熔ã€?#8220;支挔æˆ?#8220;½Ž¡ç†”æŸäº›äº‹æƒ…æ—Óž¼Œä½ åº”该能ç†è§£å®¢æˆ·çš„æ„å›¾ã€‚ç”±äºŽéœ€æ±‚çš„¾~–写是层‹Æ¡åŒ–的,因此åQŒå¯ä»¥æŠŠ™å¶å±‚䏿˜Ž¼‹®çš„需求å‘低层详细分解åQŒç›´åˆ°æ¶ˆé™¤ä¸æ˜Žç¡®æ€§äؓ止ã€?br />      文档的编写äh员ä¸åº”该把多个需求集中在一个冗长的å™è¿°ŒDµè½ä¸­ã€‚在需求中诸如“å’?#8221;åQ?#8220;æˆ?#8221;之类的连è¯å°±è¡¨æ˜Žäº†è¯¥éƒ¨åˆ†é›†ä¸­äº†å¤šä¸ªéœ€æ±‚。务必记ä½ï¼Œä¸è¦åœ¨éœ€æ±‚说明中使用“å’?æˆ?#8221;åQ?#8220;½{‰ç­‰”之类的连è¯ã€?br /> <center><strong>8åQŽéœ€æ±‚分æžçš„˜q‡ç¨‹</strong></center>    éœ€æ±‚èŽ·å–æ˜¯åœ¨é—®é¢˜åŠå…¶æœ€¾lˆè§£å†Ïx–¹æ¡ˆä¹‹é—´æž¶è®¾æ¡¥æ¢çš„½W¬ä¸€æ­¥ã€‚获å–需求的一个必ä¸å¯ž®‘çš„¾l“果是对™å¹ç›®ä¸­æ˜q°çš„客户需求的普éç†è§£ã€‚一旦ç†è§£äº†éœ€æ±‚,分æžè€…ã€å¼€å‘者和客户ž®Þpƒ½æŽ¢çƒ¦å‡ºæ˜q°è¿™äº›éœ€æ±‚的多ç§è§£å†³æ–ÒŽ¡ˆã€‚å‚与需求获å–è€…åªæœ‰åœ¨ä»–们ç†è§£äº†é—®é¢˜ä¹‹åŽæ‰èƒ½å¼€å§‹è®¾è®¡ç³»¾lŸï¼Œå¦åˆ™åQŒå¯¹éœ€æ±‚定义的ä»ÖM½•改进åQŒè®¾è®¡ä¸Šéƒ½å¿…™åÕd¤§é‡çš„˜q”工。把需求获å–集中在用户ä»ÕdŠ¡ä¸Šâ€”è€Œä¸æ˜¯é›†ä¸­åœ¨ç”¨æˆ·æŽ¥å£ä¸Šâ€”有助于防止开å‘组ç”׃ºŽè‰çއ处ç†è®¾è®¡é—®é¢˜è€Œé€ æˆçš„失误ã€?br />     éœ€æ±‚获å–ã€åˆ†æžã€ç¼–å†™éœ€æ±‚è§„æ ÆD¯´æ˜Žå’ŒéªŒè¯òq¶ä¸éµåó@¾U¿æ€§çš„™åºåºåQŒè¿™äº›æ´»åŠ¨æ˜¯ç›æ€º’隔开ã€å¢žé‡å’Œåå¤çš„。当你和客户åˆä½œæ—Óž¼Œä½ å°±ž®†ä¼šé—®ä¸€äº›é—®é¢˜ï¼Œòq¶ä¸”å–得他们所æä¾›çš„ä¿¡æ¯ï¼ˆéœ€æ±‚获å–ï¼‰ã€‚åŒæ—Óž¼Œä½ å°†å¤„熘q™äº›ä¿¡æ¯ä»¥ç†è§£å®ƒä»¬ï¼Œòq¶æŠŠå®ƒä»¬åˆ†æˆä¸åŒçš„类别,˜q˜è¦æŠŠå®¢æˆ·éœ€æ±‚åŒå¯èƒ½çš„èÊY仉™œ€æ±‚相è”系。然åŽï¼Œä½ å¯ä»¥ä‹É客户信毾l“构化,òq¶ç¼–å†™æˆæ–‡æ¡£å’Œç¤ºæ„图。下一步,ž®±å¯ä»¥è®©å®¢æˆ·ä»£è¡¨è¯„审文档òq¶çº æ­£å­˜åœ¨çš„错误。这四个˜q‡ç¨‹è´¯ç©¿ç€éœ€æ±‚å¼€å‘的整个阶段ã€?br />     ç”׃ºŽè½¯äšgå¼€å‘项目和¾l„织文化的ä¸åŒï¼Œå¯¹äºŽéœ€æ±‚开呿²¡æœ‰ä¸€ä¸ªç®€å•çš„ã€å…¬å¼åŒ–的途径。下é¢åˆ—å‡ÞZº†1 4个步骤,你å¯ä»¥åˆ©ç”¨å®ƒä»¬æŒ‡å¯ég½ çš„éœ€æ±‚å¼€å‘æ´»åŠ¨ã€‚å¯¹äºŽéœ€æ±‚çš„ä»ÖM½•å­é›†åQŒä¸€æ—¦ä½ å®Œæˆäº†ç¬¬å三步,那么你就å¯ä»¥å¾ˆæœ‰ä¿¡å¿ƒåœ°ç‘ô¾l­è¿›è¡Œç³»¾lŸçš„æ¯ä¸€éƒ¨åˆ†çš„è®¾è®¡ã€æž„é€ ï¼Œå› äØ“ä½ å°†å¼€å‘出一个好的äñ”å“?<br />     1. 定义™å¹ç›®çš„视囑֒ŒèŒƒå›´ã€?br />     2. ¼‹®å®šç”¨æˆ·¾c…R€?br />     3. 在æ¯ä¸ªç”¨æˆïL±»ä¸­ç¡®å®šé€‚当的代表ã€?br />     4. ¼‹®å®šéœ€æ±‚决½{–者和他们的决½{–过½E‹ã€?br />     5. é€‰æ‹©ä½ æ‰€ç”¨çš„éœ€æ±‚èŽ·å–æŠ€æœ¯ã€?br />     6. ˜qç”¨éœ€æ±‚èŽ·å–æŠ€æœ¯å¯¹ä½œäØ“¾pÈ»Ÿä¸€éƒ¨åˆ†çš„ä‹É用实例进行开å‘åÆˆè®„¡½®ä¼˜å…ˆ¾U§ã€?br />     7. 从用户那里收集质é‡å±žæ€§çš„ä¿¡æ¯å’Œå…¶å®ƒéžåŠŸèƒ½éœ€æ±‚ã€?br />     8. 详细拟订使用实例使其èžåˆåˆ°å¿…è¦çš„功能需求中ã€?br />     9. 评审使用实例的æ˜q°å’ŒåŠŸèƒ½éœ€æ±‚ã€?br />     10. 如果有必è¦ï¼Œž®Þp¦å¼€å‘åˆ†æžæ¨¡åž‹ç”¨ä»¥æ¾„清需求获å–çš„å‚与者对需求的ç†è§£ã€?br />     11. å¼€å‘åÆˆè¯„ä¼°ç”¨æˆ·ç•Œé¢åŽŸåž‹ä»¥åŠ©æƒ›_ƒ˜q˜æœªç†è§£çš„需求ã€?br />     12. 从ä‹É用实例中开å‘出概念‹¹‹è¯•用例ã€?br />     13. 用测试用例æ¥è®ø™¯ä½¿ç”¨å®žä¾‹ã€åŠŸèƒ½éœ€æ±‚ã€åˆ†æžæ¨¡åž‹å’ŒåŽŸåž‹ã€?br />     14. 在ç‘ô¾l­è¿›è¡Œè®¾è®¡å’Œæž„造系¾lŸæ¯ä¸€éƒ¨åˆ†ä¹‹å‰åQŒé‡å¤?~1 3æ­¥ã€?br /> 需求获å–å¯èƒ½æ˜¯è½¯äšgå¼€å‘ä¸­æœ€å›°éš¾ã€æœ€å…³é”®ã€æœ€æ˜“å‡ºé”™åŠæœ€éœ€è¦äº¤‹¹çš„æ–šw¢ã€‚需求获å–åªæœ‰é€šè¿‡æœ‰æ•ˆçš„客户—开å‘者的åˆä½œæ‰èƒ½æˆåŠŸã€‚åˆ†æžè€…å¿…™åÕd¾ç«‹ä¸€ä¸ªå¯¹é—®é¢˜˜q›è¡Œå½Õdº•æŽ¢è®¨çš„çŽ¯å¢ƒï¼Œè€Œè¿™äº›é—®é¢˜ä¸Žäº§å“æœ‰å…³ã€‚äØ“äº†æ–¹ä¾¿æ¸…æ™°åœ°˜q›è¡Œäº¤æµåQŒå°±è¦åˆ—出é‡è¦çš„ž®ç»„åQŒè€Œä¸æ˜¯å‡æƒÏx‰€æœ‰çš„å‚ä¸Žè€…éƒ½æŒæœ‰ç›¸åŒçš„看法。对需求问题的全é¢è€ƒå¯Ÿéœ€è¦ä¸€¿U技术,利用˜q™ç§æŠ€æœ¯ä¸ä½†è€ƒè™‘了问题的功能需求方é¢ï¼Œ˜q˜å¯è®¨è®º™å¹ç›®çš„éžåŠŸèƒ½éœ€æ±‚ã€‚ç¡®å®šç”¨æˆ·å·²¾lç†è§£ï¼šå¯¹äºŽæŸäº›åŠŸèƒ½çš„è®¨è®ºåÆˆä¸æ„味ç€å›_°†åœ¨äñ”å“中实现它。对于想到的需求必™å»é›†ä¸­å¤„ç†åƈ讑֮šä¼˜å…ˆ¾U§ï¼Œä»¥é¿å…一个ä¸èƒ½å¸¦æ¥ä“Q何益处的无é™å¤§çš„™å¹ç›®ã€?br />     éœ€æ±‚èŽ·å–æ˜¯ä¸€ä¸ªéœ€è¦é«˜åº¦åˆä½œçš„‹zÕdЍåQŒè€ŒåÆˆä¸æ˜¯å®¢æˆ·æ‰€è¯´çš„需求的½Ž€å•æ‹·è´ã€‚作ä¸ÞZ¸€ä¸ªåˆ†æžè€…,你必™å»é€è¿‡å®¢æˆ·æ‰€æå‡ºçš„表é¢éœ€æ±‚ç†è§£ä»–ä»¬çš„çœŸæ­£éœ€æ±‚ã€‚è¯¢é—®ä¸€ä¸ªå¯æ‰©å……的问题有助于你更好地ç†è§£ç”¨æˆ·ç›®å‰çš„业务过½E‹åÆˆä¸”çŸ¥é“æ–°¾pÈ»Ÿå¦‚何帮助或改˜q›ä»–们的工作ã€?br /> 需求获å–利用了所有å¯ç”¨çš„ä¿¡æ¯æ¥æºåQŒè¿™äº›ä¿¡æ¯æ˜qîCº†é—®é¢˜åŸŸæˆ–在èÊYä»¶è§£å†Ïx–¹æ¡ˆä¸­åˆç†çš„特性。一个研½I¶è¡¨æ˜Žï¼šæ¯”è“v䏿ˆåŠŸçš„™å¹ç›®åQŒä¸€ä¸ªæˆåŠŸçš„™å¹ç›®åœ¨å¼€å‘è€…å’Œå®¢æˆ·ä¹‹é—´é‡‡ç”¨äº†æ›´å¤šçš„äº¤æµæ–¹å¼ã€‚与å•个客户或潜在的用户¾l„一起åñ”谈,对于业务软äšg包或<a target="_blank" style="text-decoration: none; ">ä¿¡æ¯½Ž¡ç†</a>¾pÈ»ŸåQˆMISåQ‰çš„应用æ¥è¯´æ˜¯ä¸€¿Uä¼ ¾lŸçš„éœ€æ±‚æ¥æºã€?br />     åœ¨æ¯ä¸€‹Æ¡åñ”谈讨è®ÞZ¹‹åŽï¼Œè®îC¸‹æ‰€è®¨è®ºçš„æ¡ç›®ï¼Œòq¶è¯·å‚与讨论的用戯‚¯„è®ºåÆˆæ›´æ­£ã€‚åŠæ—©åƈ¾l常˜q›è¡Œåº§è°ˆè®¨è®ºæ˜¯éœ€æ±‚èŽ·å–æˆåŠŸçš„ä¸€ä¸ªå…³é”®é€”å¾„åQŒå› ä¸ºåªæœ‰æä¾›éœ€æ±‚的人æ‰èƒ½ç¡®å®šæ˜¯å¦çœŸæ­£èŽ·å–需求。进行深入收集和分æžä»¥æ¶ˆé™¤ä“Q何冲½H或ä¸ä¸€è‡´æ€§ã€‚å°½é‡ç†è§£ç”¨æˆïL”¨äºŽè¡¨˜qîC»–们需求的æ€ç»´˜q‡ç¨‹ã€‚充分研½I¶ç”¨æˆäh‰§è¡Œä“Q务时作出决策的过½E‹ï¼Œòq¶æå–出潜在的逻辑关系。浽E‹å›¾å’Œå†³½{–树是æ˜q°è¿™äº›é€»è¾‘决策途径的好æ–ÒŽ³•ã€?br />     å½“è¿›è¡Œéœ€æ±‚èŽ·å–æ—¶åQŒåº”é¿å…å—䏿ˆç†Ÿçš„细节的影å“。在对切åˆçš„客户ä»ÕdŠ¡å–å¾—å…Þp¯†ä¹‹å‰åQŒç”¨æˆ¯‚ƒ½å¾ˆå®¹æ˜“åœ°åœ¨ä¸€ä¸ªæŠ¥è¡¨æˆ–å¯¹è¯æ¡†ä¸­åˆ—出æ¯ä¸€™å¹çš„¾_„¡¡®è®¾è®¡ã€‚å¦‚æžœè¿™äº›ç»†èŠ‚éƒ½ä½œäØ“éœ€æ±‚è®°å½•ä¸‹æ¥ï¼Œä»–们会给éšåŽçš„设计过½E‹å¸¦æ¥ä¸å¿…è¦çš„é™åˆ¶ã€‚ä½ å¯èƒ½è¦å‘¨æœŸæ€§åœ°‹‚€æŸ¥éœ€æ±‚获å–,以确ä¿ç”¨æˆ·å‚与者将注æ„力集中在与今天所讨论的è¯é¢˜é€‚åˆçš„æŠ½è±¡å±‚上。å‘他们ä¿è¯åœ¨å¼€å‘过½E‹ä¸­åQŒå°†ä¼šè¯¦ž®½é˜˜qîC»–们的需求ã€?br />     åœ¨ä¸€ä¸ªé€æ¬¡è¯¦ç»†æè¿°˜q‡ç¨‹ä¸­ï¼Œé‡å¤åœ°è¯¦˜q°éœ€æ±‚,以确定用æˆïL›®æ ‡å’Œä»ÕdŠ¡åQŒåÆˆä½œäØ“ä½¿ç”¨å®žä¾‹ã€‚ç„¶åŽï¼ŒæŠŠä“Q务æ˜q°æˆåŠŸèƒ½éœ€æ±‚ï¼Œ˜q™äº›åŠŸèƒ½éœ€æ±‚å¯ä»¥ä‹É用户完æˆå…¶ä“Q务,也å¯ä»¥æŠŠå®ƒä»¬æè¿°æˆéžåŠŸèƒ½éœ€æ±‚ï¼Œ˜q™äº›éžåŠŸèƒ½éœ€æ±‚æ˜qîCº†¾pÈ»Ÿçš„é™åˆ¶å’Œç”¨æˆ·å¯¹è´¨é‡çš„æœŸæœ›ã€‚虽然最åˆçš„å±å¹•æž„æ€æœ‰åŠ©äºŽæè¿°ä½ å¯¹éœ€æ±‚çš„ç†è§£åQŒä½†æ˜¯ä½ å¿…é¡»¾l†åŒ–用户界é¢è®¾è®¡</span> <img src ="http://m.tkk7.com/wufang5/aggbug/259019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/wufang5/" target="_blank">懒虫</a> 2009-03-11 10:20 <a href="http://m.tkk7.com/wufang5/articles/259019.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>struts基础http://m.tkk7.com/wufang5/articles/243039.html懒虫懒虫Thu, 27 Nov 2008 09:15:00 GMThttp://m.tkk7.com/wufang5/articles/243039.htmlhttp://m.tkk7.com/wufang5/comments/243039.htmlhttp://m.tkk7.com/wufang5/articles/243039.html#Feedback0http://m.tkk7.com/wufang5/comments/commentRss/243039.htmlhttp://m.tkk7.com/wufang5/services/trackbacks/243039.html

]]>
JSP中忽略的问题http://m.tkk7.com/wufang5/articles/242863.html懒虫懒虫Wed, 26 Nov 2008 11:35:00 GMThttp://m.tkk7.com/wufang5/articles/242863.htmlhttp://m.tkk7.com/wufang5/comments/242863.htmlhttp://m.tkk7.com/wufang5/articles/242863.html#Feedback0http://m.tkk7.com/wufang5/comments/commentRss/242863.htmlhttp://m.tkk7.com/wufang5/services/trackbacks/242863.html一ã€ä¼šè¯è·ŸítªæŠ€æœ?/span>

HTTPä¿¡æ¯

éšè—字段åQ?/span><input type=”hidden” name=”somename” value=”somevalue”>

URLé‡å†™åQ?/span><a href=”XX.jsp?name=XX&item=XX”>å†é€šè¿‡getParameter(XX)得到

Cooike

SessionåQ?/span>session.setAtrribute(xx,xx)

 

 

二�/span>servlet的生命周�/span>

装è²ã€å®žä¾‹åŒ–ã€åˆå§‹åŒ–init()ã€å®žä¾‹çš„è¯äh±‚doXXX()ã€é”€æ¯?/span>distoryI()

 

 

三ã€?/span>servlet相关é…ç½®

Javax.servlet.ServletConfig接å£ä»£è¡¨äº?/span>Servlet的酾|®ï¼ŒåŒ…括servletçš„åå­—ã€åˆå§‹åŒ–傿•°ã€ä¸Šä¸‹æ–‡

�/span>web.xml中的<servlet></servlet>之间的内容就�/span>servlet的酾|?/span>

<init-param>

       <param-name>MM</param-name>

       <param-value>NN</param-value>

</init-param>

åœ?/span>servlet中直接ä‹Éç”?/span>getInitParameter(“MM”)ž®±å¯ä»¥å¾—åˆ?/span>NN

 

Servlet的映ž®„é…¾|?/span>

       <servlet-mapping>

              <servlet-name>Conter</servlet-name>

              <url-pattern>/count/*</url-pattern>

       </servlet-mapping>

˜q™ç§æƒ…å†µä¸‹å½“åœ°å€æ é‡Œè¾“å…¥http://127.0.0.1:8080/count/gaexä¸ç®¡æœ€åŽæ˜¯ä»€ä¹ˆéƒ½èƒ½èŸ©åˆ?/span>servletä¸?/span>

 

 

å››ã€ç›‘å?/span>

ç›‘å¬æ˜¯å¯¹servletContext的属性创建ã€åˆ é™¤çš„监å¬

对监å¬çš„é…ç½®åœ?/span>web.xml中,必须在所有的servlet元素之å‰

 

 

五ã€?/span>web˜q‡æ×oå™?/span>

客户ç«?/span> HTTPè¯äh±‚àFilter à doFilter àFilter à目标¾l„äšg

è¦å¼€å‘一ä¸?/span>Filter必须直接或间接的实现Filter接å£

Filter接å£ä¸­çš„æ–ÒŽ³•有:

init()获得FilterConfig对象

destroy()销æ¯è¿™ä¸ªè¿‡æ»¤å™¨

doFilter()˜q›è¡Œ˜q‡æ×o处ç†

 

如果有多个过滤器åœ?/span>doFilter()中就è¦åŠ ä¸?/span>chain.doFilter(srequest,sresponse)æŠŠå¤„ç†æƒå‘给下个处ç†å™¨ï¼Œå¦‚果没有下一个过滤器ž®±æŠŠè¯äh±‚å‘é€ç»™ç›®æ ‡

 

åœ?/span>web.xml中è¦å¯?/span>Filter˜q›è¡Œé…ç½®

<filter>

       <filter-name>xx</filter-name>

       <filter-class>xxxxxxx</filter>

       <init-param>

              <param-name></param-name>

<param-value></param-value>

       </init-param>

</filter>

<filter-mapping>

       <filter-name>xx</filter-name>

       <url-pattern>/fds/*</url-pattern>

</filter-mapping>

 

注æ„åQšä¸€ä¸?/span>Filterå¯ä»¥æœ‰å¤šä¸?/span>Filter-mappingåQŒå°±æ˜¯å¯¹å¤šä¸ªweb¾l„äšg˜q‡æ×oåQ›ä¸€ä¸ªç»„件也å¯ä»¥æœ‰å¤šä¸?/span>Filter

 

 

å…­ã€?/span>JSP错误™åµé¢çš„声æ˜?/span>

¾~–程中指定错误页é¢ï¼š

˜q™ä¸¤ç‚ÒŽ˜¯å¿…须的:

在害怕出错的JSP™åµé¢ä¸ŠæŒ‡å®?/span><%@page errorPage=”error.jsp”%>

在指定的处ç†é”™è¯¯çš„页é¢ä¸Š<%@page ... isErrorPage=”true”%>

 

对于应用æœåŠ¡å™¨æŠ›å‡ºçš„å¼‚å¸¸åQšï¼ˆweb.xmlåQ?/span>

<error-page>

       <error-code>404</error-code>

       <location>/Error.html</location>

</error-page>

 

 

七�/span>JSTL

1åQ?/span><c:out value=”” > default </c:out>

Value是è¦è¾“出的内容,defaultå½?/span>valueä¸?/span>nullæ—Óž¼Œè¾“出的内å®?/span>

 

2åQ?/span><c:if  test=”” [var=”varName”]> body </c:if>

Test是布ž®”型表达å¼?/span>

 

3åQ?/span><c:choose> <when> and <otherwise> </c:choose>

 

4) <c:forEach var=”” items=”” begin=”” end=”” step=””> ……</c:forEach>

var˜q­ä»£å‚æ•°çš„å字,itemsè¦è„P代的集åˆ

 

 

å…«ã€å…³äº?/span>EL表达å¼?/span>

当é‡åˆ?/span>EL表达å¼åŽåQŒå®¹å™¨å°†åœ?/span>pageã€?/span>requestã€?/span>sessionã€?/span>application中去查询˜q™ä¸ªå¯¹è±¡

 

 

 

 

 

 



]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ¾Ã¾Ã¾Ã¾Ã¾ÃÑÇÖÞ¾«Æ·ÎÞÂë| ÑÇÖÞÏã½¶ÔÚÏß¹Û¿´| ÑÇÖÞÄÐÈ˵ÚÒ»avÍøÕ¾| ÑÇÖÞÃÀÅ®´óbbbbbbbbb| ÑÇÖÞÖÐÎÄ×ÖÄ»¾Ã¾Ã¾«Æ·ÃÛÌÒ| ¼¤ÇéÎÞÂëÑÇÖÞÒ»Çø¶þÇøÈýÇø| »ÆÉ«ÊÓÆµÔÚÏßÃâ·Ñ¹Û¿´| ÖÐÎÄ×ÖÄ»ÑÇÖÞÃâ·ÑÎÞÏß¹Û¿´ÈÕ±¾| ÓÀ¾ÃÃâ·ÑavÎÞÂë²»¿¨ÔÚÏß¹Û¿´| ÈÕº«ÌØ»ÆÌØÉ«´óƬÃâ·ÑÊÓÆµ| ¹ú²úÑÇÖÞÈ˳ÉAÔÚÏßVÍøÕ¾| ÑÇÖÞµÚÒ»Ò³ÔÚÏß²¥·Å| ÔÚÏß¿´ÑÇÖÞÊ®°Ë½ûÍøÕ¾| ¹ú²úÃâ·ÑˬˬÊÓÆµÔÚÏß¹Û¿´| ¹úÄÚ¾«Æ·ÂÒÂ뿨1¿¨2¿¨3Ãâ·Ñ| ÑÇÖÞ?VÂÒÂë¾Ã¾Ã¾«Æ·ÃÛÌÒ | ¾«Æ·ÑÇÖÞ×ۺϾþÃÖÐÎÄ×ÖÄ»| ÎÞÂëÂÒÈËÂ×Ò»Çø¶þÇøÑÇÖÞÒ»| ÈÕº«ÑÇÖÞ¹ú²ú¸ßÇåÃâ·ÑÊÓÆµ| ¿´È«Ãâ·ÑµÄÒ»¼¶Ã«Æ¬| ÖÐÎÄÎÞÂë³ÉÈËÃâ·ÑÊÓÆµÔÚÏß¹Û¿´ | ASSÑÇÖÞÊ츾ëÈ×È×PICS| ÑÇÖÞAVÓÀ¾ÃÎÞÂ뾫Ʒһ¸£Àû | ¹ú²ú¾«Æ·ÑÇÖÞ×ÛºÏÒ»ÇøÔÚÏß¹Û¿´| ³ÉÈ˹ú²ú¾«Æ·Ãâ·ÑÊÓÆµ| ¹ú²úÒ»¿¨2¿¨3¿¨4¿¨ÎÞ¿¨Ãâ·ÑÊÓÆµ| ÑÇÖÞ ×ÛºÏ ¹ú²ú Å·ÖÞ Ë¿Íà| ÑÇÖÞ¸£ÀûÊÓÆµÍøÕ¾| ÈËÆÞÎÞÂëÖÐÎÄ×ÖÄ»Ãâ·ÑÊÓÆµÃÛÌÒ| ¾«Æ·¹ú²úÎÛÎÛÃâ·ÑÍøÕ¾a¢¥| ÑÇÖÞ¹ú²úÏã½¶ÈËÈËˬ³ÉAVƬ¾Ã¾Ã | ÑÇÖÞÈÕº«ÂÒÂëÖÐÎÄÎÞÂëÃÛÌÒÍÎÍøÕ¾| ÑÇÖÞ×î´óÔÚÏßÊÓÆµ| avƬÔÚÏß¹Û¿´ÓÀ¾ÃÃâ·Ñ| ¹ú²úÃâ·ÑAVƬÔÚÏß²¥·ÅΨ°®Íø| ÑÇÖÞÈÕº«ÈËÆÞµÚÒ»Ò³| ÑÇÖÞÈ˳ÉÍøÕ¾¿´ÔÚÏß²¥·Å| Ãâ·Ñ¸£ÀûµçÓ°ÔÚÏß¹Û¿´| ¹ú²úÎÞÕÚµ²³ÔÐØÄ¤ÄÌÃâ·Ñ¿´ÊÓÆµ| ¾Ã¾Ã¾«Æ·ÑÇÖÞÒ»Çø¶þÇøÈýÇøÔ¡³Ø| ÇàÇàÇàÊÓÆµÃâ·Ñ¹Û¿´|