用jsp..java做一個(gè)管理系統(tǒng)需要的工作流程
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、雅安服務(wù)器托管、營(yíng)銷軟件、網(wǎng)站建設(shè)、德宏州網(wǎng)站維護(hù)、網(wǎng)站推廣。
項(xiàng)目過程? ?
1、項(xiàng)目啟動(dòng)
1)、項(xiàng)目組成立(公司成員、客戶成員)
2)、制定項(xiàng)目預(yù)期目標(biāo)
3)、制定項(xiàng)目計(jì)劃周期
4)、建立好項(xiàng)目組成員溝通機(jī)制
2、需求調(diào)研
1)、創(chuàng)建調(diào)研計(jì)劃、協(xié)調(diào)調(diào)研時(shí)間
2)、收集客戶資料,獲取客戶需求
所有的資料都需要保留一份,資料中存疑的需要及時(shí)詢問
3)、編寫需求文檔
重點(diǎn)描述出客戶的業(yè)務(wù)流程和性能要求。
采用Word、Excel、Rose等形式。
4)、需求變更記錄
5)、確定開發(fā)環(huán)境和運(yùn)行環(huán)境
6)、擴(kuò)展性要求
7)、與舊系統(tǒng)的接駁要求。
8)、估算出項(xiàng)目工作量
本階段需要一套需求管理系統(tǒng)來進(jìn)行需求的管理。
本階段的需求文檔也是用戶測(cè)試的依據(jù)。
3、系統(tǒng)設(shè)計(jì)/詳細(xì)設(shè)計(jì)
一個(gè)系統(tǒng)可以分為基礎(chǔ)平臺(tái)和應(yīng)用模塊兩部分。
1)、選擇基礎(chǔ)平臺(tái),無論是采用第三方平臺(tái)還是自行開發(fā)平臺(tái),都需要深入了解,查看是否符合要求。
2)、應(yīng)用模塊設(shè)計(jì)(針對(duì)業(yè)務(wù)流程)
3)、中間件的采用或自行開發(fā),需要深入了解。
4)、用戶界面的設(shè)計(jì)
如果用戶界面設(shè)計(jì)完畢并確認(rèn),即可初步寫出用戶使用手冊(cè)、管理員使用手冊(cè)。
5)、變更記錄
本階段的系統(tǒng)設(shè)計(jì)是集成測(cè)試的依據(jù)。
4、程序開發(fā)
創(chuàng)建開發(fā)任務(wù)計(jì)劃表、開發(fā)計(jì)劃日程表
1)、優(yōu)先編寫測(cè)試用例
2)、按照編碼規(guī)范編寫代碼
3)、按照文檔注釋規(guī)范注釋
以上形成開發(fā)文檔。
本階段需要一套版本管理系統(tǒng)。
本階段的測(cè)試用例也是單元測(cè)試的依據(jù)。
如果能做到,最好每日構(gòu)建。
5、測(cè)試
本階段需要一套Bug管理系統(tǒng),形成需求、設(shè)計(jì)、開發(fā)、測(cè)試互動(dòng)。
1)、編寫測(cè)試計(jì)劃和測(cè)試方案
2)、功能測(cè)試
單元測(cè)試、集成測(cè)試
3)、性能測(cè)試
集成測(cè)試、壓力測(cè)試
如果能做到,最好能進(jìn)行自動(dòng)化測(cè)試。
如果能做到,做分析統(tǒng)計(jì)工作。
最后形成測(cè)試報(bào)告。
6、試用、培訓(xùn)、維護(hù)
本階段需要解決:
1)、解決異地修改和公司修改的同步問題。
2)、用戶測(cè)試中的Bug修改問題,按照級(jí)別分為
a)、程序Bug
b)、設(shè)計(jì)變更
c)、需求變更
盡量按照a b c的順序來進(jìn)行修改,盡量避免b、c級(jí)的修改。
最后形成安裝手冊(cè)、維護(hù)記錄。
項(xiàng)目成員組成
根據(jù)以上過程,一個(gè)項(xiàng)目組中,需要:
1、需求工程師,其要求
善于與客戶溝通,能快速了解客戶的需求,對(duì)客戶所在的行業(yè)比較熟悉。
善于學(xué)習(xí)新知識(shí)。
熟悉Word、Excel、Rose等工具的使用。
熟悉開發(fā)語言和開發(fā)框架
熟悉已積累的產(chǎn)品的功能、性能等。
2、系統(tǒng)分析師/設(shè)計(jì)師,其要求
精通開發(fā)語言和開發(fā)框架,部分需要精通數(shù)據(jù)庫
精通已積累的產(chǎn)品的功能、性能等
深入了解客戶行業(yè)特點(diǎn)
能根據(jù)客戶的要求分析出其實(shí)質(zhì)
能做出優(yōu)秀的設(shè)計(jì)
熟悉Word、Excel、Rose等工具的使用
3、開發(fā)工程師,其要求
熟悉開發(fā)語言,熟悉開發(fā)要求和注釋規(guī)范,部分需要熟悉數(shù)據(jù)庫。
熟悉單元測(cè)試。
能根據(jù)設(shè)計(jì)做出良好的編碼,保證功能和性能。
部分需要有一定的設(shè)計(jì)要求,因?yàn)樯婕暗綄淼木S護(hù)。
4、測(cè)試工程師,其要求
熟悉測(cè)試工作,能按照測(cè)試計(jì)劃進(jìn)行測(cè)試。
熟悉開發(fā)語言,能協(xié)助開發(fā)工程師找錯(cuò)。
能獨(dú)立完成黑、白盒測(cè)試。
如果是高級(jí)測(cè)試人員,還要能夠?qū)ο到y(tǒng)能深入進(jìn)行分析并能制定出優(yōu)秀的測(cè)試方案。
5、管理人員
一般由以上人員兼任,主要有
項(xiàng)目經(jīng)理:負(fù)責(zé)整個(gè)項(xiàng)目
開發(fā)經(jīng)理:負(fù)責(zé)系統(tǒng)設(shè)計(jì)、開發(fā)工作
測(cè)試經(jīng)理:負(fù)責(zé)測(cè)試工作
6、其他人員
一些項(xiàng)目涉及到其他人員,如頁面設(shè)計(jì)人員、頁面制作人員。
部分大的項(xiàng)目,還有專門的維護(hù)人員。
由于目前國(guó)內(nèi)很多公司并沒有嚴(yán)格這么區(qū)分,如果項(xiàng)目小的話,可以一人兼任多項(xiàng)職位.
我給講概思路:1:第步:設(shè)計(jì)數(shù)據(jù)庫般像種型宿舍管理系統(tǒng)選用mysql作數(shù)據(jù)庫設(shè)計(jì)表包括表字段名字段及表間關(guān)系2:第二布:確認(rèn)使用技術(shù)作java選用Springmvc作mvc框架畢竟比較靈簡(jiǎn)單Spring必須用管理事務(wù)Hibernate作臺(tái)數(shù)據(jù)庫管理框架jsp作頁面表現(xiàn)層程序比較健壯擴(kuò)展起比較便3:第二步基礎(chǔ)接建立Bean類比類、宿舍類等等映射數(shù)據(jù)庫表字段編寫Service層、Dao層等等建立數(shù)據(jù)處理邏輯4:實(shí)現(xiàn)表現(xiàn)層寫jsp頁面想前臺(tái)展示內(nèi)容寫jsp面選用技術(shù)juqery,js考慮用戶體驗(yàn)用ajax實(shí)現(xiàn)異步刷新交互5:前臺(tái)相互通信用juint進(jìn)行集測(cè)試看看數(shù)據(jù)否按照邏輯準(zhǔn)確顯示期測(cè)試等等嫌麻煩采用ssh框架直接用jsp+servlet寫比較簡(jiǎn)單原理概差層沒清晰明
對(duì)數(shù)據(jù)庫進(jìn)行增刪改查?
以下是 sql server 2013+java.實(shí)現(xiàn)的是對(duì)MSC對(duì)象的增刪改查.
需要下載連接驅(qū)動(dòng)程序:com.microsoft.sqlserver.jdbc.SQLServerDriver
網(wǎng)上搜一下就行
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
class MSC
{
public String MscID;
public String MscName;
public String MscCompany;
public float MscLongitude;
public float MscLatitude;
public float MscAltitude;
public MSC(String MscID, String MscName, String MscCompany,
float MscLongitude, float MscLatitude,float MscAltitude){
this.MscID = MscID;
this.MscName = MscName;
this.MscCompany = MscCompany;
this.MscLongitude =MscLongitude;
this.MscLatitude = MscLatitude;
this.MscAltitude = MscAltitude;
}
}
public class sqlserverjdbc {
public Connection getConnection(){
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加載JDBC驅(qū)動(dòng)
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=gsm"; //連接服務(wù)器和數(shù)據(jù)庫sample
String userName = "sa"; //默認(rèn)用戶名
String userPwd = "123"; //密碼
Connection dbConn = null;
try {
Class.forName(driverName);
dbConn =DriverManager.getConnection(dbURL, userName, userPwd);
} catch (Exception e) {
e.printStackTrace();
}
return dbConn;
}
public void printUserInfo(){
Connection con = getConnection();
Statement sta = null;
ResultSet rs = null;
System.out.println("打印表格MSC信息");
try {
sta = con.createStatement();
rs = sta.executeQuery("select * from MSC信息");
System.out.println("MscID\tMscName\tMscCompany\tMscLongitude\tMscLatitude\tMscAltitude");
while(rs.next()){
System.out.println(rs.getString("MscID")+"\t"+
rs.getString("MscName")+"\t"+
rs.getString("MscCompany")+"\t"+
rs.getFloat("MscLongitude")+"\t"+
rs.getFloat("MscLatitude")+"\t"+
rs.getFloat("MscAltitude"));
}
con.close();
sta.close();
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("打印完成\n");
}
public void delete(String MscID){
Connection con = getConnection();
String sql = "delete from MSC信息 where MscID = " + MscID;
PreparedStatement pst;
System.out.println("刪除表格MSC信息中 ID = "+MscID+"的記錄");
try {
pst = con.prepareStatement(sql);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("記錄刪除失敗?。?!");
}
System.out.println("記錄刪除成功?。。n");
}
public void insert(MSC msc){
Connection con = getConnection();
String sql = "insert into MSC信息 values(?,?,?,?,?,?)";
PreparedStatement pst;
System.out.println("插入一條記錄");
try {
pst = con.prepareStatement(sql);
pst.setString(1, msc.MscID);
pst.setString(2, msc.MscName);
pst.setString(3, msc.MscCompany);
pst.setFloat(4, msc.MscLongitude);
pst.setFloat(5, msc.MscLatitude);
pst.setFloat(6, msc.MscAltitude);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("插入失?。。?!");
}
System.out.println("插入成功!??!\n");
}
//更新MscID的MscName
public void updateMscName(String MscID, String MscName){
Connection con = getConnection();
String sql = "update MSC信息 set MscName = ? where MscID = ?";
PreparedStatement pst;
System.out.println("修改一條記錄");
try {
pst = con.prepareStatement(sql);
pst.setString(1, MscName);
pst.setString(2, MscID);
pst.execute();
pst.close();
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("修改失?。。。?);
}
System.out.println("修改成功?。?!\n");
}
public static void main(String args[]){
sqlserverjdbc sql = new sqlserverjdbc();
sql.printUserInfo();
sql.delete("1111");
sql.printUserInfo();
sql.updateMscName("5215", "聯(lián)想");
sql.printUserInfo();
sql.insert(new MSC("1111", "中興" ," 中興", (float)12.2, (float)3.4,(float)45.5));
sql.printUserInfo();
}
}
工資管理系統(tǒng)主要功能和特點(diǎn):
1 操作簡(jiǎn)單方便
采用國(guó)際流行的下拉菜單,全WINDOWS操作形式,界面新穎,全面支持鼠標(biāo)操作,功能齊全。
2 任意設(shè)定工資項(xiàng)目
系統(tǒng)除姓名、人員編號(hào)、部門編號(hào)、部門名稱、應(yīng)發(fā)工資、實(shí)發(fā)工資、納稅等內(nèi)定項(xiàng)目不能刪除(長(zhǎng)度可以改變)外,其它項(xiàng)目(如各種補(bǔ)貼及各種扣款)均可由用戶自行定義(包括增加、刪除、修改長(zhǎng)度及小數(shù)位等),工資項(xiàng)目總數(shù)可多達(dá)255項(xiàng)。當(dāng)修改或刪除工資項(xiàng)目時(shí),自動(dòng)檢查工資計(jì)算中與該項(xiàng)目有關(guān)的計(jì)算公式,并作相應(yīng)處理。
3 任意定義工資計(jì)算公式
用戶可將某些工資項(xiàng)目(如加班費(fèi)、應(yīng)發(fā)工資、納稅等)定義為計(jì)算項(xiàng)目,然后定義其計(jì)算公式及使用條件,可滿足各種復(fù)雜的計(jì)算。
如: 項(xiàng)目 公式 條件
每日工資 基本工資/26
月加班費(fèi) 加班天數(shù)*每日工資 類別=
完成了,希望能幫到你
剛開始會(huì)叫你輸入編號(hào)選擇功能
import java.io.*;
public class student {
public static void main(String args[]) throws IOException{
int[] stud = {77,99,55,46,82,75,65,31,74,85};
System.out.println("請(qǐng)選擇功能:");//輸入編號(hào)選擇功能
System.out.println("1、輸入學(xué)號(hào),查詢?cè)搶W(xué)生成績(jī):");
System.out.println("2、輸入成績(jī),查詢學(xué)生學(xué)號(hào):");
System.out.println("3、輸入學(xué)號(hào),刪除該學(xué)生成績(jī)");
System.out.println("請(qǐng)選擇編號(hào):");
BufferedReader td = new BufferedReader(new InputStreamReader(System.in));
String temp = td.readLine();
int choice = Integer.valueOf(temp);
if(choice == 1){//一為查詢學(xué)生成績(jī)
System.out.println("請(qǐng)輸入學(xué)號(hào):");
BufferedReader sd = new BufferedReader(new InputStreamReader(System.in));
String temp_sd = sd.readLine();
int No = Integer.valueOf(temp_sd);
System.out.print("學(xué)號(hào)為 "+No+" 的學(xué)生成績(jī)?yōu)椋?" + stud[No-1] +"分");
}
if(choice == 2){//二為查詢學(xué)生編號(hào)
System.out.println("請(qǐng)輸入成績(jī):");
BufferedReader sd = new BufferedReader(new InputStreamReader(System.in));
String chengji = sd.readLine();
int temp_cj = Integer.valueOf(chengji);
for(int i=0;istud.length;i++){
if(temp_cj == stud[i]){
System.out.print("成績(jī)?yōu)?"+ temp_cj+ "的學(xué)生的學(xué)號(hào)為: "+(i+1));
}
}
}
if(choice == 3){//三為刪除操作
System.out.println("請(qǐng)輸入學(xué)號(hào):");
BufferedReader sd = new BufferedReader(new InputStreamReader(System.in));
String temp_sd = sd.readLine();
int No = Integer.valueOf(temp_sd);
stud[No-1]=0;//直接賦值為0,不刪除學(xué)生
System.out.print("學(xué)號(hào)為 "+No+" 的學(xué)生成績(jī)?yōu)椋?" + stud[No-1] +"分");
}
}
}
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
/*********************************
* 停車場(chǎng)管理
* author zhang
*2013-12-13
********************************/
public class CarStopManager {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請(qǐng)入車牌號(hào):");
String carno = sc.next();
CarStopManager carStopManager = new CarStopManager();
carStopManager.setCarNo(carno);//設(shè)置車牌號(hào)
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sdate = format.format(new Date());
System.out.println("當(dāng)前時(shí)間(入場(chǎng)時(shí)間)是: "+sdate);
System.out.println("需要開出車場(chǎng)嗎?yes/no:");
String yesno = sc.next();
if(yesno.equals("yes")){
String edate = format.format(new Date());
System.out.println("出場(chǎng)時(shí)間是: "+edate);
//計(jì)算方法
carManager(2, sdate, edate,carStopManager);
}
}
/**
* 計(jì)算方法
*/
public static void carManager(int type,String starTime,
String endTime,CarStopManager carStopManager){
if(type==1){//按月收費(fèi)
System.out.println("如若沒有繳納月費(fèi)請(qǐng)繳納800元,如若繳納將不再提示!");
}else{
/**
* 一般不會(huì)有停車幾個(gè)月的吧?先不考慮停車幾年或者幾個(gè)月的
*/
String sDay = starTime.substring(8,10);//入場(chǎng)日期(天)
String sHour = starTime.substring(11, 13);//入場(chǎng)小時(shí)
String sMM = starTime.substring(14,16);//入場(chǎng)分鐘
String eDay = starTime.substring(8,10);//出場(chǎng)日期(天)
String eHour = endTime.substring(11, 13);//出廠小時(shí)
String eMM = endTime.substring(14,16);//出廠分鐘
float money = 0;//需繳納的費(fèi)用
int shour = Integer.parseInt(sHour);
int ehour = Integer.parseInt(eHour);
int smm = Integer.parseInt(sMM);
int emm = Integer.parseInt(eMM);
int rehour = 0;//停車幾個(gè)小時(shí)
if(sDay.equals(eDay)){//同一天
//當(dāng)天6點(diǎn)到20點(diǎn)之間
if((shour=6 shour=20)){
if(ehour - shour=6){//6個(gè)小時(shí)之內(nèi)
rehour = (ehour - shour)*60+(emm - smm);//停車多少分鐘
//需要繳納的費(fèi)用 前15分鐘免費(fèi) 以后每15分鐘1.5元
money = (rehour/15-15)*1.5f;
}else{
int hour = ehour - shour -6;//6小時(shí)除外剩余小時(shí)數(shù)
rehour = 6*60+(emm - smm);//停車多少分鐘
//前15分鐘免費(fèi) 以后每15分鐘1.5元 超過6小時(shí)15分鐘2元
money = ((rehour/15-15)*1.5f)+(hour*60/2);
}
}
}else{//跨天 20點(diǎn)到 6點(diǎn)之間
//todo
}
System.out.println("您的車牌號(hào)是:"+carStopManager.getCarNo()+";\n" +
"您此次停車花費(fèi)的費(fèi)用是: "+money+"元");
}
}
/**
* bean屬性
*/
private String carNo;//車牌號(hào)
private String startTime;//入場(chǎng)時(shí)間
private String endTime;//出場(chǎng)時(shí)間
/**
* 無參構(gòu)造
*/
public CarStopManager(){
super();
}
/**
* 有參數(shù)構(gòu)造
* @param carNo
* @param startTime
* @param endTime
*/
public CarStopManager(String carNo, String startTime, String endTime) {
super();
this.carNo = carNo;
this.startTime = startTime;
this.endTime = endTime;
}
/**
* 設(shè)置get方法
* @return
*/
public String getCarNo() {
return carNo;
}
/**
* 設(shè)置set方法
* @param carNo
*/
public void setCarNo(String carNo) {
this.carNo = carNo;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
}
文章名稱:java工作管理系統(tǒng)代碼 管理系統(tǒng)Java
網(wǎng)站網(wǎng)址:http://redsoil1982.com.cn/article10/doooigo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、App設(shè)計(jì)、網(wǎng)站維護(hù)、網(wǎng)站建設(shè)、企業(yè)建站、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)