畢業(yè)設(shè)計(jì)(論文):站內(nèi)實(shí)時(shí)聊天通訊系統(tǒng)設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)(論文):站內(nèi)實(shí)時(shí)聊天通訊系統(tǒng)設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)(論文):站內(nèi)實(shí)時(shí)聊天通訊系統(tǒng)設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)(論文):站內(nèi)實(shí)時(shí)聊天通訊系統(tǒng)設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)(論文):站內(nèi)實(shí)時(shí)聊天通訊系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

葉明站內(nèi)即時(shí)聊天系統(tǒng)目錄8967第一章引言 圖4-7好友信息修改界面設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)主要數(shù)據(jù)庫表設(shè)計(jì)我的群組字段包括id、name、createDate、description、type、mode、canSpeak、tokenUser、annoucement、status、user、actor、org。表2.1我的群組表格設(shè)計(jì)群信息字段有:id,name,createDate,description,finishedRead,readDate,content,group,status,user,actor,org。表2.2群消息表格設(shè)計(jì)好友消息字段有:id、name、createDate、description、reciver、finishedRead、readDate、content、status、user、actor、角色表2.3好友消息表格設(shè)計(jì)我的好友表字段有:id、name、createDate、description、friend、bulidDate、friendName、contactCount、category、hasBlack、status、user、actor、org表2.4我的好友表格設(shè)計(jì)

第五章編碼實(shí)現(xiàn)5.1核心代碼與算法5.1.1好友添加功能該功能是用于添加好友時(shí)進(jìn)行的一系列操作好友添加功能功能界面設(shè)計(jì)圖4-7添加用戶界面好友添加功能持久層Model實(shí)現(xiàn)packageentity;

importkesun.entity.AbsBusinessObject;

importkesun.entity.system.User;

importjava.util.Date;

/**

*添加好友記錄單,只有“通過”狀態(tài),就可以成為好友,

*初始狀態(tài)為待審核,狀態(tài)屬性是“status”

*Createdbywph-pcon2018/9/7.

*/

publicclassFriendApplyRecordextendsAbsBusinessObject{

//申請的好友

privateUserfriend=null;

//處理時(shí)間

privateDatedoDate;

publicUsergetFriend(){

returnfriend;

}

publicvoidsetFriend(Userfriend){

this.friend=friend;

}

publicDategetDoDate(){

returndoDate;

}

publicvoidsetDoDate(DatedoDate){

this.doDate=doDate;

}

}好友添加功能數(shù)據(jù)訪問層DAL實(shí)現(xiàn)packageer;

importdao.IDoData;

importentity.FireFriendShipRecord;

importentity.FriendApplyRecord;

importentity.FriendCategory;

importentity.MyFriendParam;

importkesun.entity.system.User;

importjava.util.List;

importjava.util.Map;

/**

*好友數(shù)據(jù)訪問層接口

*Createdbywph-pcon2018/9/17.

*/

publicinterfaceIFriendextendsIDoData{

//加好友

intmakeFriend(FriendApplyRecordrecord);

//解除好友

intfireFriend(FireFriendShipRecordrecord);

//備注設(shè)置

intsetMemo(Stringmemo);

//設(shè)置黑名單

intsetBlankName(Userfriend);

//設(shè)置好友分組

intsetFriendGroup(FriendCategorygroup);

//刪除分組

intremoveFriendGroup(FriendCategorygroup);

//查詢出好友關(guān)聯(lián)

List<User>findRelationFriend(Map<String,Object>con);

//設(shè)置好友參數(shù)

intsetFriendParam(MyFriendParamparam);

}好友添加功能業(yè)務(wù)層BLL實(shí)現(xiàn)packagebll;

importentity.FireFriendShipRecord;

importentity.FriendApplyRecord;

importentity.FriendCategory;

importentity.MyFriendParam;

importkesun.entity.KesunReturn;

importkesun.entity.system.User;

importjava.util.Map;

/**

*好友業(yè)務(wù)層接口

*Createdbywph-pcon2018/9/17.

*/

publicinterfaceIFriend{

//加好友

KesunReturnmakeFriend(FriendApplyRecordrecord);

//解除好友

KesunReturnfireFriend(FireFriendShipRecordrecord);

//備注設(shè)置

KesunReturnsetMemo(Stringmemo);

//設(shè)置黑名單

KesunReturnsetBlankName(Userfriend);

//設(shè)置好友分組

KesunReturnsetFriendGroup(FriendCategorygroup);

//刪除分組

KesunReturnremoveFriendGroup(FriendCategorygroup);

//查詢出好友關(guān)聯(lián)

KesunReturnfindRelationFriend(Map<String,Object>con);

//設(shè)置好友參數(shù)

KesunReturnsetFriendParam(MyFriendParamparam);

}好友添加功能界面實(shí)現(xiàn)

<%@pagecontentType="text/html;charset=UTF-8"language="java"%>

<%@includefile="/header/init_layui.jsp"%>

<html>

<head>

<metacharset="utf-8">

<title></title>

<metaname="renderer"content="webkit">

<metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1">

<metaname="viewport"content="width=device-width,initial-scale=1,maximum-scale=1">

<linkrel="stylesheet"href="plugins/layui/css/layui.css"media="all">

<scriptsrc="<%=basePath%>/script/common/kb.js"></script>

<style>

.content{

position:relative;

}

.content1{

height:285px;

width:460px;

float:left;

}

.content2{

height:285px;

width:460px;

display:none;

background-color:#e2eff5;

}

.content3{

height:285px;

width:460px;

display:none;

background-color:#e2eff5;

}

.userdata{

width:140px;

height:284px;

float:left;

background-color:#eef5f8;

}

.verification{

display:block;

width:320px;

height:285px;

float:left;

background-color:#e2eff5;

}

.footer{

height:32px;

width:460px;

margin-top:0px;

padding:0;

}

.footerbutton{

float:right;

margin-right:10px

}

.photo{

margin-top:10px;

margin-left:10px;

border:2pxsolid#a1a1a1;

background:#dddddd;

width:120px;

height:120px;

border-radius:150px;

overflow:hidden;

z-index:-1;

}

.verificationtextarea{

width:250px;

height:100px;

margin-left:20px;

resize:none;

}

.verificationp{

margin-left:20px;

margin-bottom:10px;

}

.photoimg{

width:150px;

height:150px;

}

.userdatap{

margin:5px;

margin-left:15px;

}

.group{

float:left;

margin-left:-50px;

margin-top:10px;

}

.layui-form-item{

margin-top:10px;

}

</style>

<body>

<divclass="content">

<divclass="content1"id="content1">

<divclass="userdata">

<divclass="photo">

<imgsrc="images/books.png">

</div>

</div>

<divclass="verification">

<divclass="layui-form-item">

<p>請輸入好友賬號:</p>

<divclass="layui-form-itemlayui-form-text">

<textareaid="texts"name="desc"placeholder="我是..."class="layui-textarea"></textarea>

</div>

</div>

</div>

</div>

<divclass="content2"id="content2">

<divclass="userdata">

<divclass="photo">

<imgsrc="images/books.png">

</div>

</div>

<divclass="over">

<iclass="layui-icon"style="font-size:50px;color:#aee907;">စ</i>

<p>好友添加請求已發(fā)送成功,正在等待對方確認(rèn)。</p>

</div>

</div>

<divclass="footer">

<divclass="footer">

<%--<buttononclick="window.close()"style="display:none"id="close"class="layui-btnlayui-btn-primarylayui-btn-sm">完成</button>--%>

<buttonid="next1"class="layui-btnlayui-btn-primarylayui-btn-sm">下一步</button>

</div>

</div>

</div>

</body>

<scriptsrc="plugins/layui/layui.js"charset="utf-8"></script>

<script>

layui.use('form',function(){

varform=layui.form;

form.on('submit(formDemo)',function(data){

/*layer.msg(JSON.stringify(data.field));

returnfalse;*/

});

});

</script>

<scripttype="text/javascript">

document.getElementById("next1").onclick=function(){

document.getElementById("content2").style.display="block";

document.getElementById("content1").style.display="none";

document.getElementById("next1").style.display="none";

jiahaoyou();

}

varname;

$(function(){

doData("loginUser",null,function(data){

name=data.id;

});

});

functionjiahaoyou(){

varnow=newDate().getTime();

vardata=newObject();

varcategory2=newObject();

category2.id="001";

=name;

varfriend2=newObject();

friend2.id=$("#texts").val();

data.friend=friend2;

data.friendName=$("#texts").val();

data.status="申請中";

data.category=category2;

doData("friend/add",data,function(data){

})

}

</script>

</html>5.1.2好友詳細(xì)信息功能該功能用于查看好友詳細(xì)信息以及好友信息的修改好友詳細(xì)信息功能界面設(shè)計(jì)圖4-8好友詳細(xì)信息好友詳細(xì)信息功能持久層Model實(shí)現(xiàn)packageentity;

importkesun.entity.AbsBusinessObject;

importkesun.entity.system.User;

importjava.util.Date;

/**

*我的好友庫

*Createdbywph-pcon2018/9/7.

*/

publicclassMyFriendStoreextendsAbsBusinessObject{

//好友

privateUserfriend=null;

//建立關(guān)系日期

privateDatebulidDate=newDate();

//好友備注名稱

privateStringfriendName="";

//分類

privateFriendCategorycategory=null;

//聯(lián)系計(jì)算,每一次聯(lián)系增加一次計(jì)數(shù)

privatelongcontactCount=0;

//是否黑名單

privateBooleanhasBlack=false;

publicUsergetFriend(){

returnfriend;

}

publicvoidsetFriend(Userfriend){

this.friend=friend;

}

publicDategetBulidDate(){

returnbulidDate;

}

publicvoidsetBulidDate(DatebulidDate){

this.bulidDate=bulidDate;

}

publicStringgetFriendName(){

returnfriendName;

}

publicvoidsetFriendName(StringfriendName){

this.friendName=friendName;

}

publicFriendCategorygetCategory(){

returncategory;

}

publicvoidsetCategory(FriendCategorycategory){

this.category=category;

}

publiclonggetContactCount(){

returncontactCount;

}

publicvoidsetContactCount(longcontactCount){

this.contactCount=contactCount;

}

publicBooleangetHasBlack(){

returnhasBlack;

}

publicvoidsetHasBlack(BooleanhasBlack){

this.hasBlack=hasBlack;

}

}好友詳細(xì)信息功能數(shù)據(jù)訪問層DAL實(shí)現(xiàn)packageer;

importdao.IDoData;

importentity.FireFriendShipRecord;

importentity.FriendApplyRecord;

importentity.FriendCategory;

importentity.MyFriendParam;

importkesun.entity.system.User;

importjava.util.List;

importjava.util.Map;

/**

*好友數(shù)據(jù)訪問層接口

*Createdbywph-pcon2018/9/17.

*/

publicinterfaceIFriendextendsIDoData{

//加好友

intmakeFriend(FriendApplyRecordrecord);

//解除好友

intfireFriend(FireFriendShipRecordrecord);

//備注設(shè)置

intsetMemo(Stringmemo);

//設(shè)置黑名單

intsetBlankName(Userfriend);

//設(shè)置好友分組

intsetFriendGroup(FriendCategorygroup);

//刪除分組

intremoveFriendGroup(FriendCategorygroup);

//查詢出好友關(guān)聯(lián)

List<User>findRelationFriend(Map<String,Object>con);

//設(shè)置好友參數(shù)

intsetFriendParam(MyFriendParamparam);

}好友詳細(xì)信息功能業(yè)務(wù)層BLL實(shí)現(xiàn)packagebll.impl;

importbll.IFriend;

importbll.KesunSuperService;

importdao.IDoData;

importentity.*;

importkesun.entity.KesunReturn;

importkesun.entity.system.User;

importorg.apache.poi.ss.usermodel.Row;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Service;

importjava.util.List;

importjava.util.Map;

/**

*Createdbywph-pcon2018/9/17.

*/

@Service("bFriend")

publicclassFriendServiceImplextendsKesunSuperServiceimplementsIFriend{

@Autowired

privateer.IFrienddao;

publicFriendServiceImpl()

{

setModel(newMyFriendStore());

}

@Override

publicKesunReturnmakeFriend(FriendApplyRecordrecord){

KesunReturnback=newKesunReturn();

if(dao==null||record==null||daoinstanceofer.IFriend==false)

{

back.setCode("0");

back.setMessage("數(shù)據(jù)接口對象或參數(shù)為空!");

back.setObj(null);

returnback;

}

intresult=dao.makeFriend(record);

if(result>0)

{

back.setCode(String.valueOf(result));

back.setMessage("好友加入成功!");

}

else

{

back.setCode(String.valueOf(result));

back.setMessage("好友加入失??!");

}

back.setObj(result);

returnback;

}

@Override

publicKesunReturnfireFriend(FireFriendShipRecordrecord){

returnnull;

}

@Override

publicKesunReturnsetMemo(Stringmemo){

returnnull;

}

@Override

publicKesunReturnsetBlankName(Userfriend){

returnnull;

}

@Override

publicKesunReturnsetFriendGroup(FriendCategorygroup){

returnnull;

}

@Override

publicKesunReturnremoveFriendGroup(FriendCategorygroup){

returnnull;

}

@Override

publicKesunReturnfindRelationFriend(Map<String,Object>con){

returnnull;

}

@Override

publicKesunReturnsetFriendParam(MyFriendParamparam){

returnnull;

}

@Override

publicStringgetLoadoutExcelFileName(){

returnnull;

}

@Override

publicIDoDatagetDAO(){

returndao;

}

@Override

publicListgetSaveAll(List<Row>source,Userworker){

returnnull;

}

@Override

publicStringgetLoadoutExcelTemplateName(){

returnnull;

}

}好友詳細(xì)信息功能界面實(shí)現(xiàn)<%--

CreatedbyIntelliJIDEA.

User:16030

Date:2018/9/19

Time:11:08

TochangethistemplateuseFile|Settings|FileTemplates.

--%>

<%@pagecontentType="text/html;charset=UTF-8"language="java"%>

<%@includefile="/header/init.jsp"%>

<html>

<head>

<title>Title</title>

<scriptsrc="<%=basePath%>/plugins/layui/layui.js"></script>

<linkhref="<%=basePath%>/plugins/layui/css/layui.css"rel="stylesheet"/>

<style>

*{

margin:0;

padding:0;

}

.layui-box{

width:720px;

height:520px;

position:relative;

background-color:#e96a67;

}

.btn{

z-index:99;

position:absolute;

bottom:10px;

width:100%;

/*background-color:#0C0C0C;*/

}

.btnbutton{

margin-left:238px;

}

.photo{

border:2pxsolid#a1a1a1;

background:#dddddd;

width:125px;

height:125px;

border-radius:150px;

overflow:hidden;

}

.photoimg{

width:150px;

height:150px;

}

.layui-tabletbodytr:hover{

background-color:#fff;

}

.default:hover{

cursor:default;

}

</style>

</head>

<body>

<divclass="layui-box">

<tableclass="layui-table"lay-skin="nob">

<colgroup>

<colwidth="150">

<colwidth="200">

<col>

</colgroup>

<thead>

<tr>

<divclass="userdata">

<divclass="photo">

<imgsrc="images/books.png">

</div>

</div>

</tr>

</thead>

<tbody>

<tr>

<tdclass="default">賬號</td>

<td><divid="id"></div></td>

</tr>

<tr>

<tdclass="default">昵稱</td>

<td><divid="friend"></div></td>

</tr>

<tr>

<tdclass="default">備注</td>

<td>

<divstyle="width:210px;">

<spanclass="t1"><divid="friendName"style="height:20px;width:100px;float:left"></div></span>

<aclass="t2">

<divstyle="float:right">

<fieldsetclass="layui-elem-fieldsite-demo-button">

<buttonclass="layui-btnlayui-btn-normallayui-btn-sm"style="width:40px;height:20px"><iclass="layui-icon"></i></button>

</fieldset>

</div>

</a>

</div>

</td>

</tr>

<%--<tr>--%>

<%--<tdclass="default">分組(做下拉)</td>--%>

<%--<td>--%>

<%--<divstyle="width:150px;">--%>

<%--<formclass="layui-form"action="">--%>

<%--<selectname="city"lay-verify="">--%>

<%--<optionvalue="friend">朋友</option>--%>

<%--<optionvalue="family"selected>家人家人家人家人家人家人家人家人</option>--%>

<%--<optionvalue="class"selected>同學(xué)</option>--%>

<%--</select>--%>

<%--</form>--%>

<%--</div>--%>

<%--</td>--%>

<%--</tr>--%>

<tr>

<td>

<formclass="layui-form"action="">

<divclass="layui-form-item"style="margin-left:-65px;">

<labelclass="layui-form-label">拉黑</label>

<divclass="layui-input-block">

<inputtype="checkbox"name="switch"lay-skin="switch"lay-filter="switch1"lay-text="已拉黑|未拉黑">

</div>

</div>

</form>

</td>

</tr>

<%--<tr>--%>

<%--<td>--%>

<%--<buttonclass="layui-btnlayui-btn-primarylayui-btn-sm"id="hasblack">拉黑此網(wǎng)友</button>--%>

<%--</td>--%>

<%--</tr>--%>

<%--<tr>--%>

<%--<td>--%>

<%--更多信息--%>

<%--</td>--%>

<%--</tr>--%>

</tbody>

</table>

<%--<divclass="hasblack">--%>

<%--<buttonclass="layui-btnlayui-btn-primarylayui-btn-sm">小型按鈕</button>--%>

<%--<buttonclass="layui-btnlayui-btn-primarylayui-btn-xs">迷你按鈕</button>--%>

<%--<a>拉黑此好友</a>--%>

<%--</div>--%>

<divclass="site-demo-buttonbtn"id="layerDemo"style="margin-bottom:0;">

<buttonid="message"class="layui-btnlayui-btn-normallayui-btn-lg"id="btn">確定修改</button>

<buttonclass="layui-btnlayui-btn-dangerlayui-btn-lg"data-method="confirmTrans"id="del">刪除好友</button>

</div>

</div>

</body>

<scriptsrc="plugins/layui/layui.js"charset="UTF-8"></script>

<scripttype="text/javascript">

//document.getElementById("del").onclick=function(){

//alert(2);

//}

varname;

$(function(){

doData("loginUser",null,function(data){

name=data.id;

});

});

varda=newObject();

varid=getURLParamValue("id");

information();

functioninformation(){

vardate=newObject();

date.id=id;

date.status="通過";

console.debug(date);

doData("friend/find",date,function(data){

varstr=JSON.stringify(data);

console.debug(data);

console.debug("id"+data.obj[0].category.id);

=data.obj[0].friendName;

$("#id").append(

data.obj[0].id

);

$("#friend").append(

data.obj[0].friend.id

);

$("#friendName").append(

data.obj[0].friendName

);

});

}

layui.use('layer',function(){//獨(dú)立版的layer無需執(zhí)行這一句

var$=layui.jquery,layer=layui.layer;//獨(dú)立版的layer無需執(zhí)行這一句

//觸發(fā)事件

varactive={

confirmTrans:function(){

//配置一個(gè)透明的詢問框

layer.msg('是否確定刪除該好友',{

time:20000,//20s后自動關(guān)閉

btnAlign:'c',

btn:['是','否'],

yes:function(index,layero){

vardate=newObject();

date.id=id;

=name;

console.debug(date);

doData("friend/del",date,function(data){

console.log(data);

})

//dosomething

//1.先全查好友表在解除好友表添加新信息

//2.刪除好友表里面對應(yīng)的那條數(shù)據(jù)

//3.成功后彈出刪除成功的彈框

//4.關(guān)閉此頁面,刷新好友列表

alert("刪除成功");

layer.close(index);//如果設(shè)定了yes回調(diào),需進(jìn)行手工關(guān)閉

}

});

}}

$('#layerDemo.layui-btn').on('click',function(){

varothis=$(this),method=othis.data('method');

active[method]?active[method].call(this,othis):'';

});

});

layui.use('form',function(){

varform=layui.form;

//監(jiān)聽提交

form.on('submit(formDemo)',function(data){

layer.msg(JSON.stringify(data.field));

returnfalse;

});

form.on('switch(switch1)',function(data){

vardate=newObject();

date.id=id;

date.hasBlack=data.elem.checked;

=name;

da.id=$("#friend").html();

date.friend=da

date.status="通過";

//date.friend=name;

date.friendName=newtxt;

layer.msg(''+(data.elem.checked?'已拉黑':'解除拉黑'),{

offset:'6px'

});

doData("friend/edit",date,function(data){

})

});

});

//備注修改功能

$(function(){

//獲取class為caname的元素

$(".t2").click(function(){

vartd=$(".t1");

vartxt=td.text();

varinput=$("<inputstyle='width:100px;height:20px'type='text'value='"+txt+"'/>");

td.html(input);

input.click(function(){returnfalse;});

//獲取焦點(diǎn)

input.trigger("focus");

//文本框失去焦點(diǎn)后提交內(nèi)容,重新變?yōu)槲谋?/p>

input.blur(function(){

varnewtxt=$(this).val();

//判斷文本有沒有修改

if(newtxt!=txt){

td.html(newtxt);

vardate=newObject();

date.id=id;

=name;

da.id=$("#friend").html();

date.friend=da

date.status="通過";

//date.friend=name;

date.friendName=newtxt;

console.debug("date:"+date);

doData("friend/edit",date,function(data){

})

}

else

{

td.html(newtxt);

}

});

});

})

$("#message").click(function(){

parent.layer.closeAll();//關(guān)閉當(dāng)前頁

//layer.close(layer.index);

//window.parent.location.reload();

});

layui.use(['layer']),function(){

varlayer=layui.layer;

}

</script>

</html>

第六章測試6.1測試計(jì)劃我們制定了以下測試計(jì)劃:用戶聊天時(shí)信息的傳遞速度用戶聊天時(shí)新信息提醒狀態(tài)用戶信息撤回是否能夠即時(shí)多用戶同時(shí)聊天數(shù)據(jù)庫的承受能力該系統(tǒng)功能上能夠正常工作,實(shí)現(xiàn)了網(wǎng)站用戶的單人聊天、多人聊天等功能。所有模塊均能達(dá)到預(yù)期的效果。該系統(tǒng)性能相對穩(wěn)定、良好,測試用例的選擇滿足了測試用例的性能方面的設(shè)計(jì)需求,基本上達(dá)到項(xiàng)目測試應(yīng)有的水平,與預(yù)期效果相差無幾,能夠滿足用戶需求。

第七章總結(jié)與展望7.1總結(jié)時(shí)間過得很快,實(shí)訓(xùn)即將接近尾聲。在這實(shí)訓(xùn)中,每天都過得很充實(shí),從項(xiàng)目需求分析,調(diào)研,進(jìn)度計(jì)劃的制定到UI,數(shù)據(jù)庫,架構(gòu)設(shè)計(jì),然后到編碼實(shí)現(xiàn),進(jìn)度跟蹤,每個(gè)階段的評審報(bào)告,通過規(guī)范的軟件開發(fā)流程讓我收益匪淺。與以前的個(gè)人開發(fā),想到什么做什么改變很大,也讓我對軟件工程這門課程有了更深的理解。我們組做的系統(tǒng):考試系統(tǒng)。我們主要做B/S端功能的實(shí)現(xiàn),通過SSM框架學(xué)習(xí),對SSM框架的環(huán)境搭建,開發(fā)附錄流程,項(xiàng)目部署有了基本的了解。本人在小組擔(dān)任組員,項(xiàng)目計(jì)劃的制定,需求實(shí)現(xiàn)的討論例會等看似比較繁瑣的事其實(shí)在項(xiàng)目中起到比較重要的作用。在項(xiàng)目中必須以身作則,必須大家一起參與到項(xiàng)目中來,讓項(xiàng)目有條不紊的進(jìn)行,更讓我意識到一個(gè)團(tuán)隊(duì)最重要的就是隊(duì)員間的合作。要做一個(gè)龐大的項(xiàng)目不能光靠一兩個(gè)人,需要每個(gè)人都去認(rèn)真對待并完成分配的任務(wù)。就像一臺大型的機(jī)器,發(fā)動機(jī)是核心但也需每個(gè)小零部件的配合才能運(yùn)轉(zhuǎn)。更讓我體會到一個(gè)完整項(xiàng)目的開發(fā)它所要經(jīng)歷的階段包括:規(guī)劃和用例說明、項(xiàng)目結(jié)構(gòu)和風(fēng)險(xiǎn)評估、詳細(xì)設(shè)計(jì)說明書、代碼實(shí)現(xiàn)、測試、操作手冊。一個(gè)項(xiàng)目的開發(fā)所需要的財(cái)力、人力都是大量的,如果沒有一個(gè)好的遠(yuǎn)景規(guī)劃,對以后的開發(fā)進(jìn)度會產(chǎn)生很大的影響,嚴(yán)重時(shí)導(dǎo)致在預(yù)定時(shí)間內(nèi)不能完成該項(xiàng)目或者完成的項(xiàng)目跟原先劃所要實(shí)現(xiàn)的項(xiàng)目功能不符合。一份好的項(xiàng)目結(jié)構(gòu)、業(yè)務(wù)功能和詳細(xì)設(shè)計(jì)說明書對一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論