大家可以瀏覽我新的博客 dyin.cn
2006年6月14日 #
今天與大家分享的資源如下:
==================================================================================
JSP動態網頁制作
PHP動態網頁制作
ASP動態網頁制作
Perl動態網頁制作
winxp優化大全
JSP程序設計
以上皆是視頻教程
如果你需要請你留下email我將會在晚上統一把種子發送到你的郵箱里,如果需要請抓緊,3天后將不再提供!
?
要考慮一個真正意義的全球資源,Web瀏覽器的內容對每個接收到的用戶來說都是易讀的,現在大多數的全球資源的網站都是英文的.當然,現在也在發生變化,有的網站為一些特定的國家定制一些非英文版本,比如,說英文的通過http://www.ibm.com/en/index.html來訪問,說中文的通過http://www.imb.com/cn/index.html來訪問,這些很多都是靜態的文本.怎么構件一個動態生成的國際化內容的網站就不是一個簡單的問題了. <% 運行結果: ?Hola Mundo! <% 支持多國語言的Hello World
?? //中文 ?? //韓國語
國際化又稱Il8N,因為英文國家的國家化是Internationalization,它以I開始,以N結束,共18個字母.本地化又稱L18N,即是Localization.國際化的問題主要包含以下的一些內容:
.日期,時間
.數字
.貨幣
.其它的一些特殊字符
也就是說不同的Locale,顯示日期,時間格式是不一樣的.當然,不同的語言有自己不同的字符集.
HTML中的字符實體
HTML中的字符實體和XML的語言保持一致.它定義了用特定的字符序列顯示單字符的功能,這種字符序列稱為字符實體,它以" &"開頭,以";"結束.例如: © 表示字符"?";
看一例子顯示西班牙語的" Hello World":
<%@page contentType="text/html;charset=ISO-8859-1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
?? "
?? response.setHeader("Content-Language","es");
?? out.println("<html><head><title>En Español</title></head>");
?? out.println("<body>");
?? out.println("<h3>En espa%ntilde;ol</h3>");
?? out.println("¡Hola Mundo!");
?? out.println("</body></html>");
%>En espa%ntilde;ol
在HTML字符實體表示中,ñ代表了" ? "字符,使用response.setHeader("Content-Language","es");來設置HTML顯示時要使用的語言.
Unicode
Unicode字符標準是一個字符編碼系統,它支持互相轉換,處理和顯示現在世界上不同語言的文本.在Java語言中,字符,字符串和標始符在內部使用16位的Unicode 2.0字符集表示.Unicode使用 " \uxxxx" 來表示一個字符,前256個Unicode字符和ISO-8859-1標準(Latin-1)的前256個字符一致.在Unicode世界中, "? ?? " 用 " \u00f1 " 表示.看怎么用Unicode來編寫西班牙語的Hello World:
<%@page contentType="text/html;charset=ISO-8859-1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
?? "
?? response.setHeader("Content-Language","es");
?? out.println("<html><head><title>En Espa\u00f1ol</title></head>");
?? out.println("<body>");
?? out.println("<h3>En espa\u00f1ol</h3>");
?? out.println("\u00f1Hola Mundo!");
?? out.println("</body></html>");
%>
用語選擇語言的頁面:
語言處理頁面代碼:
<%@page contentType="text/plain;charset=UTF-8"
import="java.io.*,java.text.*,java.util.*,javax.servlet.jsp.*" %>
<html>
??? <head>
??????? <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
??????? <title>JSP Page</title>
??? </head>
??? <body>
<%!
?? Locale locale;
?? DateFormat format;
?? JspWriter writer;
%>
<%!
?? //英語
void processEnglish()throws Exception
{
??? locale=new Locale("en","US");
??? format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
??? writer.println("in english");
??? writer.println("<br>");
??? writer.println("HelloWorld");
??? writer.println(format.format(new Date()));
??? writer.flush();
}
void processChinese()throws Exception
{
??? locale=new Locale("zh","");
??? format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
??? writer.println("in Chinese");
??? writer.println("<br>");
??? writer.println("\u4f60\u597d\u4e16\u754c");
??? writer.println(format.format(new Date()));
??? writer.flush();
}
void processKorean()throws Exception
{
??? locale=new Locale("ko","");
??? format=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
??? writer.println("in Korean");
??? writer.println("<br>");
??? writer.println("\uc548\ud558\uc138\uacc4");
??? writer.println(format.format(new Date()));
??? writer.flush();
}
//.........................其他的語言省略
%>
<%
??? //獲得請求的語種
???? String language=(String)request.getParameter("language");
???? int lan=Integer.parseInt(language);??
%>
<%
?? writer=out;
?? switch(lan)
?? {
?????? case 1:processEnglish();break;
?????? case 2:processChinese();break;
?????? case 3:processKorean();break;
?????? //case 4:processRussian();break;
?????? //case 5:processSpanish();break;
????? // case 6:processJapanese();break;
?? }
%>
??? </body>
</html>
處理的思路很簡單,首先獲得請求的語種,然后根據不同的語言來做不同的處理.
在JSP開發中我們常常會碰到以下的一些問題,其實都很有代表性. <html> ??? <h1>Login Checking Page</h1>
在不同的頁面或者用戶之間共享數據
在JSP中共享數據,大體上可以分為兩種情況,第一種是在同一個用戶的不同也面之間共享數據,另一種是在不同用戶之間共享數據.
對于同一個用戶的會話,要想在不同的頁面之間共享數據,可以有以下幾種選擇:
.把數據保存在Session中(最常見的方法)
.通過Cookie
.通過隱含表單提交到下一個頁面
.通過ServletContext對象
.通過Application對象
.通過文件系統或者數據庫
要在不同的用戶之間共享數據,通常的方法是:
.通過ServletContext對象
.通過Application對象
.通過文件系統或者數據庫
可見,對于不同用戶之間共享數據的實現方法在同一個用戶的不同也面之間也能實現數據共享.
a.在同一個用戶的不同也面之間共享數據
1.使用session共享數據
用戶在瀏覽網頁時,由于HTTP協議是一種無狀態協議,往往在不同的頁面之間存在數據交換的問題,這就需要在這些不同的頁面之間共享數據.在編程實現中我們常看到的方法是把共享數據保存在session中.這些共享數據可以是字符串或者與Java的原始數據類型相關的對象,也可以是一個Java對象.
exampl: 用戶登錄時,如果驗證成功,就把信息保存到一個userSession的類中,在其他的頁面可以讀取這個值.
userSession.java
package dory;
import java.util.Date;
/**
?*
?* @author Dory Doo
?*/
public class userSession {
??? private boolean isLogin=false;
??? private String userId;
??? private Date lastLoginTime;
??? private int logCount;
??? /** Creates a new instance of userSession */
??? public userSession() {
??? }
??? public void setIsLogin(boolean l)
??? {
??????? this.isLogin=l;
??? }
??? public void setUserId(String userId)
??? {
??????? this.userId=userId;
??? }
??? public void setLastLoginTime(Date l)
??? {
??????? this.lastLoginTime=l;
??? }
??? public void setLogCount(int logCount)
??? {
??????? this.logCount=logCount;
??? }
??? public boolean isLogin()
??? {
??????? return this.isLogin;
??? }
??? public String getUserId()
??? {
??????? return this.userId;
??? }
??? public Date getLastLoginTime()
??? {
??????? return this.lastLoginTime;
??? }
??? public int getLogCount()
??? {
??????? return this.logCount;
??? }
}
當然這個就比較簡單的了,要的是整個思路.我們怎么來使用這個類,我們需要一個驗證登陸的頁login.jsp
<%@page contentType="text/html;charset=gb2312" language="java"
?import="java.sql.*,dory.*" errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
?? "
??? <head>
??????? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
??????? <title>JSP Page</title>
??? </head>
??? <body>
<%
?? String name=request.getParameter("name");
?? String password=request.getParameter("password");
?? //Connection the Database,loading
?? //int logCount=resultSet.getInt("count");
?? //java.util.Date lastLoginTime=resultSet.getDate("LastLoginTime");
?? //這里簡單設置logCount和lastLoginTime的值
?? UserSession user=new UserSeesion();
?? user.setUserId(name);
?? user.setIsLogin(true);
?? user.setLastLoginTime(new java.util.Date());
?? user.setLogCount(10);
?? session.setAttribute("userSession",user)
?? response.sendRedirect("welcome.jsp");
%>
??? </body>
</html>
整個登陸頁面的過程是這樣的:
(1)獲得用戶的登陸信息
(2)連接數據庫進行權限驗證
(3)如果通過驗證,那么讀取用戶的注冊信息
(4)把用戶的注冊信息保存到一個userSession對象中
(5)把userSession對象保存到Session內建對象中
(6)把視圖派發到下一個顯示頁面
注意:session.setAttribute("userSession",user)把userSession的一個對象設置到Session中,Session只能保存對象,不能保存原始的數據類型,比如:
session.setAttribute("count",10)
是非法的語句,如果要把值為10的整數保存到Session中,需要使用以下的方法:
session.setAttribute("count",new Integer(10));
然后在另一個頁面使用
(Integer)session.getAttribute("count");
把這個整數讀出來.
我們用如下方法在另一個頁面中把userSesseion對象讀取出來:
<%@page contentType="text/html;charset=gb2312" language="java"
?import="java.sql.*,dory.*" errorPage=""%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
?? "<html>
??? <head>
??????? <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
??????? <title>JSP Page</title>
??? </head>
??? <body>??
<%
?? UserSession user=(UserSession)session.getAttribute("userSession");
?? try
?? {
?????? if(user.isLogin())
?????? {
?????????? out.print("welcome,your login id is:"+user.getUserId());
?????????? out.print("your last login time is:"+user.getLastLoginTime());
?????????? out.print("now you are the:"+user.getLogCount()+"times logging this website");
?????? }
?????? else
?????? {
?????????? response.sendRedirect("login.html");
?????? }
?? }
?? catch(Exception e)
?? {
?????? response.sendRedirect("login.html");
?? }
%>
??? </body>
</html>
可以看出,通過UserSession user=(UserSession)session.getAttribute("userSession");代碼來讀取在前一個頁面中設置的對象,然后再從這個對象讀取一些相關值.當然我們也可以用JavaBean的形式來讀取.
2.使用隱含菜單
這種方式通過隱含菜單的形式把數據傳遞到下一個頁面,它有兩個局限性:
.只能在相鄰的兩個頁面之間傳遞數據
.客戶端可以使用查看網頁源代碼的方式獲得表單中的數據,安全性不好
它的實現很簡單:
<form action="target.jsp">
<input type="hidden" name="test" value="abc">
<input type="hidden" name="test2" value="def">
</form>
在另外一個頁面中,通過這樣來獲得數據:
String test=request.getParameter("test");
String test2=request.getParameter("test2");
3.使用Cookie
和Session不同,Cookie是放在客戶端的,由于客戶考慮到安全應素可能會禁用cookie,這樣在使用cookie就會遇到麻煩了.
b.在不同的用戶之間共享數據
在不同的在不同的用戶之間共享數據最常見的方法是使用ServletContext和application對象,通過在一個用戶那里設置屬性在另一個用戶那里獲得這個屬性.
1.使用ServletContext
在JSP頁面中可以通過getServletContext()方法獲得ServletContext對象.在這種情況下不同的用戶通過它來工享數據,看下面的實現代碼:
<%@page contentType="text/html;charset=gb2312" language="java"
import="java.sql.*,javax.servlet.*,javax.servlet.http.*,dory.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
?? "<%
?? request.setCharacterEncoding("gb2312");
%>
<html>
??? <head>
??????? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
??????? <title>JSP Page</title>
??? </head>
??? <body>
??? a simple chatting room
??? <br><hr><font color="red">
<%
?? String content=(String)getServletContext().getAttribute(new String("chatTopic_1"));
?? out.print(content);
?? getServletContext().setAttribute("chatTopic_1",content+(String)request.getParameter("content")
?? +"<br>");
%>
??? </font>
??? <hr>
??? <form accept="Servelt Context_chat.jsp">
??????? <input type="text" name="content">
??????? <input type="submit" value="speak">
??? </form>
??? </body>
</html>
2.application對象
application對象對應于每個web應用來說只有一個,它使用和ServletContext差不多.如下:
<%@page contentType="text/html;charset=gb2312" language="java"
import="java.sql.*,javax.servlet.*,javax.servlet.http.*,dory.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
?? "<%
?? request.setCharacterEncoding("gb2312");
%>
<html>
??? <head>
??????? <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
??????? <title>JSP Page</title>
??? </head>
??? <body>
??? a simple chatting room
??? <br><hr><font color="red">
<%
?? String content=(String)application.getAttribute(new String("chatTopic_1"));
?? out.print(content);
?? application.setAttribute("chatTopic_1",content+(String)request.getParameter("content")
?? +"<br>");
%>
??? </font>
??? <hr>
??? <form accept="Servelt Context_chat.jsp">
??????? <input type="text" name="content">
??????? <input type="submit" value="speak">
??? </form>
??? </body>
</html>
可以得到ServletContext和application的實現機制基本上一致.
=====================================================================================
國內外JSP/Java/Servlet技術著名網站
http://www-900.ibm.com/developerWorks/cn
http://java.sun.com
http://www.jchq.net
http://jquest.webjump.com/
http://www.chinaasp.com/ (國內)
http://www.cnjsp.com/? (國內)
http://www.javaunion.org/ (國內)
http://www.jspchina.com/ (國內)
國內外介紹JSP/Servlet應用程序服務器的網站
?http://www.allaire.com/
?http://jakarta.apache.org/
?http://java.apache.org/
?http://www.atg.com/
?http://www.bea.com/
?http://www.beasys.com/
?http://www.bluestone.com/
?http://caucho.com/
?http://easythings.iwarp.com/
?http://www.fefionsoftware.com
?http://www.gemstone.com/
?http://www.software.ibm.com/
?http://www.inprise.com/
?http://sun.com/software/
?http://www.tagtraum.com/
?http://www.enhydra.com/
?http://www.mortbay.com/
?http://www.novocode.com/
?http://www.oracle.com/
?http://www.orionserver.com/
?http://www.paralogic.com/
?http://www.pramati.com/
?http://www.secant.com/
?http://www.servertec.com/
?http://www.silverstream.com/
?http://www.siteforum.com/
?http://www.unify.com/
?http://www.vqsoft.com/
?http://www.w3.org/
國內外介紹 JSP/Java/Servlet開發工具的網站
?http://www.adobe.com/
?http://www.bea.com/
?http://www.software.ibm.com/
?http://www.inprise.com/
?http://www.macromedia.com/
?http://www.netbeans.org/
?http://www.netobjects.com/
?http://www.oracle.com/
?http://www.sun.com/
?http://www.eclipse.com/
FAQ網站
?http://www.jguru.com/
?http://java.sun.com/products/jsp/faq.html
?http://www.esperanto.org.nz/
?http://www.jchq.net/
繁體資源
http://www.javaworld.com.tw/jute或http://www.jsptw.com/jute
http://www.jsp.mlc.edu.tw
?? 正則表達式
?.正則表達式及其作用
?.RegExp對象
?.String對象中與正則表達式有關的方法
?.正則表達式的語法參考
?.實用程序舉例
?什么是正則表達式?
?.文件路徑通配符
?"?"通配符匹配文件名中的單個字符,而"'"通配符匹配零個或多個字符。data?.dat就是一中文
?本模式,它能匹配data1.dat,data2.dat,datax.dat,dataN.dat等文件名。data*.dat是另一種文
?本模式,它匹配data.dat,data1.dat,data2.dat,data12.dat,datax.dat等文件名。
?
?.正則表達式
?是由英文詞語regular expression翻譯過來的,英文比中文更能實現其含義,就是符合某種規則
?的表達式。可以將正則表達式理解為一種對文件進行模糊匹配的語言,它用一些特殊的符號(稱
?為元字符)來代表某種特征(例如,全都是數字)的一組字符以及指定匹配的次數,含有元字符
?的文本不再表示某一具體的文本內容,而是形成了一種文本模式,它可以匹配符合這種模式的所
?有文本串。
?
?元字符與子匹配
?.元字符
?如果一個圖書的編號格式是:要么是5個數字字符,例如,10101;要么是5個數字后加上一個連字號
?(-),再加上4個數字組成的10個字符,例如,11111-1234。那么,要在一個大的文本串中查找這
?兩種格式的圖書編號時,就可以用\d{5}(-\d{4})?做為匹配模式。
?如果要讓abc?中的bc同時受到?的作用,必須使用圓括號將他們括起來,使它們成為一個緊密結合
?的組合項,這樣后面的?就表示圓括號中的內容可有可無,例如,a(bc)?能匹配a和abc。
?.字匹配
?圓口號所括起來的部分為一個子匹配(也叫子表達式),除了可以得到整個正則表達式的匹配
?結果外,還可以單獨得到每個子表達式部分所匹配的結果。
?多個子表達式所匹配的原始內容按照它們正則表達式模式中從左到右出現的順序存儲在緩沖區中
?,這種過程稱為捕獲。圓括號中的子匹配所捕獲的內容可在整個表達式中位于這個括號之后的
?地方被反引用,第一括號(即第一個子匹配)捕獲的內容用\1表示,第二個圓括號(即第二個子
?匹配)捕獲的內容\2表示,依次類推。例如,要匹配2個相同的連續字符的正則表達式為(\d)\1.
?要匹配連續5個相同的數字字符的正則表達式為(\d)\1{4}.要匹配1221.3553.6776等數字。可以
?使用正則表達式為(\d)(\d)\2\1。
? 正則表達式的作用
?.測試字符串是否匹配某個模式,從而實現數據格式的有效性驗證。
?.將一段文本中滿足某一正則表達式模式的文本內容替換為別的內容或刪除(即替換為空字符串)
? 例如,將一大段文本中的所有的19xx年的內容替換為20xx年,其中xx部分是兩個任意的數字,
? 不會被替換,但不能簡單地用20替換19,否則1919就被替換為2020。
?.在一段文本中搜索具有某一類型特征的文本內容。精確搜索和正則表達式的模式搜索最大的區
? 別就是:精確搜索是搜索一個具體的文本,而模式搜索是模式搜索具有某一類型特征的文本。
?
? RegExp對象
?JavaScript中提供了一個名為RegExp的對象來完成有關正則表達式的操作和功能,每一條正則
?表達式模式對應一個RegExp對象實例。
?創建RegExp對象實例
?(1)使用RegExp對象的顯示構造函數,語法為:new RegExp("pattern"[,"flags"]);
?(2)使用RegExp對象的隱式構造函數,采用純粹的文本格式:/pattern/[flags]
?
?flags標志字符:
???? -g 用做全局標志
???? -i 用做忽略大小寫標志
???? -m 用做多行標志
???? 如果沒有設置這個標志,那么元字符"^"只與整個被搜索字符串的開始位置相匹配,而元字符
???? "$"只與整個被搜索字符串的結束位置相匹配。如果設置了這個標志,那么"^"還可以與被
???? 搜索字符串中的"\n"或"\r"之后的位置相匹配。
? 注意:
? 當使用構造函數的方式創建RegExp實例對象的時候,應將原始的正則表達式模式文本中的每個
? "\"都使用"\\"來替換,例如,下面的語句等價:
?? var re=new RegExp("\\d{5}");
?? var re=^d{5}/
?RegExp對象-屬性
?.所有RegExp對象實例共享靜態屬性
?.單個對象實例的屬性
?靜態屬性:
?.index
?.input
?.lastIndex
?.lastMatch
?.lastParen
?.lastContext
?.leftContext
?.rightContext
?.$1...$9
?對象實例屬性:
?.global
?.ignoreCase
?.multiline
?.source
?RegExp對象-方法
?.test方法
?語法格式為:test(str)。檢查一個字符串中是否存在創建RegExp對象實例所指定的正則表達式模式
?.exec方法
?語法格式為:exec(str)。使用創建RegExp對象實例時所指定的正則表達式模式對一個字符串執行
?搜索,并返回一個包含搜索結果的數組。
?.compile方法
?語法格式為:compile("pattern"[,"flags"])。更換RegExp對象實例所使用的正則表達式模式,并
?將新的正則表達式模式編譯為內部格式,從而使以后的匹配過程執行更快。
?RegExp對象-綜合舉例
?code:
<script language="javascript">
??? var strSrc="xxa1b01c001yya2b02c002zz";
??? var re="/a(\d)b(\d{2})c(\d{3})/gi";
??? var arr,count=0;
??? while((arr = re.exec(strSrc))!=null)
??? {
?????? displayResult();
??? }
??? function displayResult()
??? {
????? document.write(<p>這是用正則表達式/"+re.source+"/gi對字符串<br>\""
???????????????? +RegExp.input+ "\"進行第" +(++count)+ "次搜索的結果:<br>");
????? document.write("RegExp.index為"+RegExp.index+"<br>");
????? document.write("RegExp.lastindex為"+RegExp.lastindex+"<br>");
????? document.write("RegExp.lastMatch為"+RegExp.lastMatch+"<br>");
????? document.write("RegExp.lastParen為"+RegExp.lastParen+"<br>");
????? document.write("RegExp.lastContext為"+RegExp.lastContext+"<br>");
????? document.write("RegExp.$1為"+RegExp.$1+"<br>");
????? document.write("RegExp.$1為"+RegExp.$2+"<br>");
????? document.write("RegExp.$1為"+RegExp.$3+"<br>");
????? document.write("RegExp.$1為"+RegExp.$4+"<br>");
????? document.write("arr.index為"+arr.index+"<br>");
????? document.write("arr.input為"+arr.input+"<br>");
????? document.write("arr.lastindex為"+arr.lastindex+"<br>");
????? document.write("返回的元素個數為"+arr.length+"<br>");
????? document.write("返回數組的類容為[");
????? for(var i=0;i<arr.length;i++)
????? {
???????? if(arr.length-1)
??????????? document.write("\""+arr[i]+"\",");
???????? else
??????????? document.write("\""+arr[i]+"\"]</p>");
????? }
?????
??? }
?</script>
?
?String對象中與正則表達式有關的方法
?.match方法
?語法格式為:match(Exp)。與RegExp對象的exec方法類似,它使用正則表達式模式對字符串執行
?搜索,并返回一個包含搜索結果的數組。
?<script language="javascript">
?? var strSrc="xxa1b01c001yya2b02c002zz";
?? var re=/a(\d)b(\d(2))c(\d{3})/gi;
?? var arr;
?? arr=strSrc.match(re);
?? for(var i=0;i<arr.length;i++)
?? {
????? if(i<arr.length-1)
???????? document.write("[\""+arr[i]+"\",");
????? else
???????? document.write("\""+arr[i]+"\"]");
?? }
?</script>
?
?.search方法
?語法格式為:serach(rgExp)。返回使用正則表達式搜索時,第一個匹配的字符串在整個被搜索
?的字符串中的位置。
?.replace方法
?語法格式為: replace(rgExp,replaceText)。使用正則表達式模式對字符串執行搜索,并對搜索
?到的內容用指定的字符串替換,返回值包含替換后的內容的字符串對象。
給大家分享一個視頻教程-軟件工程,CSF格式的,或許大家有和我一樣用得著的,如果你需要就抓緊時間下載吧,白天相對來說速度快點,晚上就比較慢了,也不一定.希望可以給你提供點幫助.現把目錄列舉如下:
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
課程名稱:軟件工程
總學時:32講
主講老師:劉亞軍
要下載抓緊時間,下載地址經常變動
授課目錄:
第1講 軟件過程背景、目的
第2講 軟件質量評價、軟件開發方法和開發工具 可行性研究與計劃
第3講 成本效益分析
第4講 需求分析基本理論、結構化分析概述、數據流圖
第5講 數據流圖基本充分、由外向里畫數據流圖
第6講 分層數據流圖、由頂向下畫數據流圖、實例
第7講 數據流圖的改進、數據詞典
第8講 小說明、分析的步驟,SA方法小結、快速原型法
第9講 基本概念、概要設計
第10講 塊間聯系、塊內聯系
第11講 影響范圍、控制范圍、變換分析
第12講 變換分析、事務分析
第13講 詳細設計、JACSON方法
第14講 編程方法、軟件測試基本概念
第15講 白盒測試法
第16講 白盒測試法舉例
第17講? 黑盒測試法
第18講? 黑盒測試法舉例
第19講 維護方法
第20講? 面向對象開發方法(1)
第21講? 面向對象開發方法(2)
第22講? 面向對象開發方法(3)
第23講? 面向對象開發方法(4)
第24講? 軟件工具和環境,案例分析(1)
第25講? 案例分析(2)
第26講? 案例分析(3)
第27講? 案例分析(4)
第28講? 課堂練習 模擬試卷一美
第29講? 模擬試卷一
第30講? 模擬試卷二
第31講? 模擬試卷二
第32講? 模擬試卷二 開發方法比較
下載地址:
http://202.119.2.197/netcourses/評比課件/軟件工程/軟件工程01.csf
???????? ....................
http://202.119.2.197/netcourses/評比課件/軟件工程/軟件工程32.csf
If you need them! Be quick!