사내 메신저 프로젝트

프로젝트명: 사내 메신저 개발 프로젝트


요구사항기술서(문서번호 : A001)
유즈케이스도/시퀀스다이어그램(문서번호 : A002)
상세설계(문서번호 : A003)
인터페이스설계(문서번호 : A004)
구현(문서번호 : A005)
통합 테스트(문서번호 : A006)


V 1.0


2004년
소프트개발방법론

제.개정 이력서

버전
제.개정 일자
제.개정 페이지 및 내용
작성자
승인자
1.0
2004/5/13
제정
4조
4조
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

목차

1. 사용자 요구사항      
        로그인
        부서별게시판
        메시지 전송
        파일 전송
        관리자 기능

2. 관련사항
        2.1 업무프로세스
                2.1.1개요


1. 사용자 요구사항

 일반 메신저와 이미 사내용으로 쓰고 있는 메신저들을 분석한 결과 상위 수준의 요구사항은 다음과 같다.
 R1. 시스템의 보안성
 R2. 온라인상 같은 부서에 있는 사람들끼리는 커뮤니케이션 할 곳이 필요하다.
 R3. 온라인상의 모둔 사용자끼리는 데이터를 주고받을 수 있어야한다.
 R4. 온라인상과 오프라인 사용자는 구분되어야한다.
 R5. 서로 데이터를 주고받을 수 있는 사용자들은 서로를 친구 등록해야 가능하다.
 R6. 중앙에서 관리할 수 있는 기능이 필요.

유형
ID
이름
관련사항
설명
관련부서
우선순위
비기능
R001
시스템 보안
R1
외부 망에서는 시스템에 접근할 수 없다.
관리자
기능
R002
개인정보보호
R1
관리자와 자기 자신만이 개인정보를 수정할 수 있다.
관리자/사용자
기능
R003
부서별공유게시판
R1,R2
자신이 속한 부서에서만 조회 가능한 게시판을 갖는다.
사용자
기능
R004
메신저기능
R1,R3,R5
친구로 등록한 사용자끼리는 메시지와 파일을 주고받을 수 있다.
사용자
기능
R005
친구목록기능
R4,R5
현재 대화목록에는 친구로 등록된 사람만 나타나며 온오프라인 표시가 실시간으로 가능하다.
사용자
기능
R006
관리기능
R6
관리자로 로그인하면 일반사용자들을 제어할 수 있다.
관리자

2. 관련사항

 2.1 업무프로세스

 2.1.1 개요

 사용자는 메신저를 통해서 메시지와 파일을 전송할 수 있다.
  관리자는 사용자들의 개인정보 관리 및 프로그램을 사용할 수 있도록 승인을 할 수 있다.
  사용자끼리는 서로 등록을 해야 커뮤니케이션이 되며, 같은 부서끼리는 같은 게시판을 공유한    다. 또한 오프라인상태와 온라인상태가 표시가 되어서 상대방의 접속 유무를 알 수 있다.

제.개정 이력서

버전
제.개정 일자
제.개정 페이지 및 내용
작성자
승인자
1.0
2004/5/17
제정
4조
4조
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
목차

1. 시스템 개요
        1.1 목적
        1.2 개요
        1.3 업무프로세스
2. 기능적 요구사항
        2.1 액터 목록
        2.2 유즈케이스도
        2.3 유즈케이스 개요 및 설명

1. 시스템 개요

 1.1 목적
  회사 내에서 업무 목적으로 사원간의 신속한 의사소통의 도구로 사용할 시스템을 개발한다.

 1.2 개요
  이 시스템의 구성원은 회사원으로 하며, 모든 구성원이 부서별로 표현된다. 이 시스템은 쪽지와 파일전송 기능을 이용하여 효과적인 커뮤니케이션을 도와준다. 또한 각 부서별로 게시판을 사용할 수 있다. 사원의 개인정보는 ID, 이름, 부서, 직위, 전화번호, e-mail주소로 제한한다. 타인의 개인정보를 조회할 수 있으며, 자신의 개인정보는 수정할 수 있다.  ID명은 본인의 사번으로 하며, 시스템의 Login은 자신의 ID와 PW 입력으로 이루어진다. 현재 모든 회사원은 서버관리자에 의해 일괄적으로 가입된다. 신규사원은 마이메신저의 회원가입 절차를 통해 요청하고, 서버관리자의 검토 후 가입이 완료된다. 또한 서버관리자는 인사명령발생시  회원을 삭제할 수 있고, 개인정보를 수정할 수 있다.


1.3 업무프로세스


2. 기능적 요구사항
 2.1 액터 목록
액터
설명
사용자
클라이언트를 통해서 직접프로그램을 사용하는 사람. 파일 및 메시지 전송과 게시판기능을 사용한다.
관리자
사용자가 가입신청을 했을 때 받아주고 각종 사용자의 개인정보를 관리한다.
메신저 클라이언트
서버와 연동하여 정보를 주고받는다.
메신저 서버
주로 클라이언트끼리 주고받는 메시지를 중계하고 현재 접속되어있는 사람과 클라이언트마다 친구 등록한 목록 등을 DB와 연동하여 관리한다.
게시판용 웹서버
게시판은 웹서버에서 작동하며 클라이언트와 연동되어 게시판을 보여준다.
DB 서버
사용자들의 정보를 기록한다.

2.2 유즈케이스도

 2.3 유즈케이스 개요 및 설명
이름
설명
회원가입요청
가입요청을 해놓으면 DB에 이내용을 기록한다.
회원등록
관리자가 DB에서 가입요청한 사람들을 보고 등록을 하여준다.
회원삭제
등록되어있는 사용자도 퇴사하게 될 경우 삭제해야한다.
로그인한다
DB에 사용자와 비밀번호를 비교하여 시스템에 접근하도록 한다.
회원정보를 본다
자신의 개인정보가 담기 DB의 내용을 볼 수 있다.
회원정보를 수정한다
개인정보가 다를 경우 자신의 것은 DB의 내용을 수정할 수 있다.
쪽지를 보낸다
메시지의 경우 서버랑 통신하여 메시지를 보낸다.
파일을보낸다.
파일의 경우 서버를 거치지 않고 바로 다른 사용자에게 보낸다.
게시판조회/작성
웹서버에 있는 게시판을 접속하여 사용한다.

 2.4 시퀀스 다이어그램
  2.4.1 로그인


  2.4.2 쪽지를 보낸다

  2.4.3 파일을 보낸다

  2.4.4 게시판 조회/작성

  2.4.6 자기정보 수정

  2.4.7 회원가입 요청

  2.4.8 회원으로 등록(관리자)

제.개정 이력서

버전
제.개정 일자
제.개정 페이지 및 내용
작성자
승인자
1.0
2004/5/20
제정
4조
4조
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
목차

1. 객체 추출
        1.1 Client
        1.2 Server

2. 패키지 다이어그램

3. Client 클래스 다이어그램
        3.1 Control
        3.2 Boundaries

4. Server 클래스 다이어그램
        4.1 Control
        4.2 Boundaries

5. DB Table 클래스 다이어그램

1. 객체 추출
 1.1 Client
  LoginForm, MemberJoinsForm, MainForm, MemoForm, FileSelForm, BoardFrom,               PersonForm, MemConForm, DBAccMana, ClientSocketMana, WebLinkMana

 1.2 Server
  MessengerDB, ServerForm, DBAccMana, ServerSocketMana,

2. 패키지 다이어그램
  

3. Client 클래스 다이어그램
 3.1 Control

 3.2 Boundaries

4. Server 클래스 다이어그램
 4.1 Control
 4.2 Boundaries

5. DB Table 클래스 다이어그램
제.개정 이력서

버전
제.개정 일자
제.개정 페이지 및 내용
작성자
승인자
1.0
2004/5/22
제정
4조
4조
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
목차

1. 설계 및 구현 매커니즘 정의
2. Client 설계
3. Server 설계
4. DB Table 설계

1. 설계 및 구현 매커니즘 정의
구분
패키지
분석
설계 및 구현
Client
Boundary
사용자인터페이스
WindowsApp->VB
Control
분산
WindowsApp->VB
Server
Entitiles
영속성
RDBMS->Mysql
Boundary
사용자인터페이스
WindowsApp->VB
Control
분산
WindowsApp->VB
WebService
WebServer
WebServer->Apache+php+Mysql

2. Client 설계


3. Server 설계

4. DB Table 설계

제.개정 이력서

버전
제.개정 일자
제.개정 페이지 및 내용
작성자
승인자
1.0
2004/5/24
제정
4조
4조
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
목차

1.1 MainForm
1.2 LoginForm
1.3 MemoJoinForm
1.4 MemoForm
1.5 PersonForm
1.6 MemConForm
1.7 ServerForm
1.8 시스템 배치

1.1 MainForm

1.2 LoginForm

1.3 MemberJoinForm

1.4 MemoForm

1.5 PersonForm


1.6 MemConForm

1.7 ServerForm

1.8 시스템 배치

제.개정 이력서

버전
제.개정 일자
제.개정 페이지 및 내용
작성자
승인자
1.0
2004/5/25
제정
4조
4조
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
목차

1. 물리적 아키텍처

2. 통신구현 기술

3. Client 구현
        3.1 MailForm
        3.2 DBaccessModul
        3.3 memoForm
        3.4 PersonForm
        3.5 MemConForm
        3.6 loginFOrm
        3.7 MemberJoinForm
        3.8 ServerForm

1. 물리적 아키텍처

2. 통신구현 기술

3. Client 구현
  3.1 MailForm
Option Explicit
Dim AdoRs As ADODB.Recordset
Dim addform As Form5
Dim addform1 As Form1
Dim count2 As Long
Dim filesize2 As Long
Dim fname2 As String
Private Sub admin_Click() ' 친구 등록
    Dim sql As String
    Form4.Enabled = False
    Form6.Show
    Form6.Command1.Visible = True
    Form6.Command2.Visible = False
    Form6.Command3.Visible = False
    sql = "select * from joins"
    Set AdoRs = New ADODB.Recordset
    AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    Do While Not AdoRs.EOF
        Form6.List1.AddItem AdoRs("id")
        AdoRs.MoveNext
    Loop
    AdoRs.Close
    Set AdoRs = Nothing
    Form6.Tag = 0
End Sub
Private Sub board_Click()
    Dim sql, url, password As String
    sql = "select * from department, member where member.id='" + StatusBar1.Panels(1).Text + "' and member.dep = department.dep"
    url = AdoRsDb_Select(sql, "url")
    sql = "select * from member where id='" + StatusBar1.Panels(1).Text + "'"
    password = AdoRsDb_Select(sql, "pw")
    url = url + "&user_id=" + StatusBar1.Panels(1).Text + "&password=" + password
    Form9.WebBrowser1.Navigate (url)
    Form9.Show
End Sub
Private Sub Command1_Click() '대화방입장
    Dim bool As Integer
    Dim sql As String
    Dim i As Integer
    Dim AdoRs As ADODB.Recordset
    Set AdoRs = New ADODB.Recordset
    bool = 0
    sql = "select * from chat"
    AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    Do While Not AdoRs.EOF
        If StatusBar1.Panels(1).Text = AdoRs("id") Then
            bool = 1
            Exit Do
        End If
        AdoRs.MoveNext
    Loop
    AdoRs.Close
    Set AdoRs = Nothing
    If bool = 0 Then
        sql = "insert into chat(id,name,ip) values('" + StatusBar1.Panels(1).Text + "','" + StatusBar1.Panels(2).Text + "','" + Label1.Caption + "')"
        AdoDb_Querry (sql)
        Label1.Caption = Winsock1.LocalIP
        Form7.Show
    Else
        sql = "update chat set ip='" + Winsock1.LocalIP + "' where id='" + StatusBar1.Panels(1).Text + "'"
        AdoDb_Querry (sql)
        Label1.Caption = Winsock1.LocalIP
        Form7.Show
    End If
End Sub
Private Sub Command2_Click()
Dim sql As String
End Sub
Private Sub del_Click() '접속자목록에서 삭제
    Dim sql As String
    Form6.Show
    Form6.Command1.Visible = False
    Form6.Command2.Visible = True
    Form6.Command3.Visible = True
    Form4.Enabled = False
    sql = "select * from member"
    Set AdoRs = New ADODB.Recordset
    AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    Do While Not AdoRs.EOF
        Form6.List1.AddItem AdoRs("id")
        AdoRs.MoveNext
    Loop
    AdoRs.Close
    Set AdoRs = Nothing
    Form6.Tag = 1
End Sub
Private Sub exit_Click() ' 끝
    Unload Form4
End Sub
Private Sub fileup_Click() '파일업로드
    Dim sql As String
    Winsock3.Close
    sql = "select * from connection where id='" + MSHFlexGrid1.Text + "'"
    Winsock3.Connect AdoRsDb_Select(sql, "ip"), "26057"
End Sub
Private Sub Form_Load()
    Dim bool As Integer
    Dim sql, g As String
    Dim i As Integer
    Dim AdoRs As ADODB.Recordset
    Set AdoRs = New ADODB.Recordset
    bool = 0
    Winsock1.LocalPort = 1021 'udp 프로토콜
    Winsock1.RemotePort = 1020
    Winsock1.RemoteHost = "203.246.80.43"
    Winsock1.Bind 1021
   
    Winsock2.Close
    Winsock2.LocalPort = "26057" 'tcp 프로토콜
    Winsock2.Listen
   
    MSHFlexGrid1.Cols = 4
    StatusBar1.Panels(1).Text = Form2.Text1.Text
    sql = "select * from personinfo where id ='" + Form2.Text1.Text + "'"
    StatusBar1.Panels(2).Text = AdoRsDb_Select(sql, "name")
   
    '다른곳에서 로그인되어있는상태거나 불완전한종료로 로그인기록이 남아있는경우
    sql = "select * from connection"
    AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    Do While Not AdoRs.EOF
        If StatusBar1.Panels(1).Text = AdoRs("id") Then
            bool = 1
            Exit Do
        End If
        AdoRs.MoveNext
    Loop
    AdoRs.Close
    Set AdoRs = Nothing
    If bool = 0 Then
        sql = "insert into connection values('" + StatusBar1.Panels(1).Text + "','" + Winsock1.LocalIP + "')"
        AdoDb_Querry (sql)
        Label1.Caption = Winsock1.LocalIP
        g = "^#$*&#*%&%#$#"
        Winsock1.SendData g
    Else
        sql = "update connection set ip='" + Winsock1.LocalIP + "' where id='" + StatusBar1.Panels(1).Text + "'"
        AdoDb_Querry (sql)
        Label1.Caption = Winsock1.LocalIP
        g = "^#$*&#*%&%#$#"
        Winsock1.SendData g
    End If
End Sub
Private Sub Form_Unload(Cancel As Integer) '폼이 꺼질때
    Dim sql, g As String
    sql = "delete from connection where ip=" + "'" + Label1.Caption + "'"
    AdoDb_Querry (sql)
    g = "^#$*&#*%&%#$#"
    Winsock1.SendData g
    End
End Sub
Private Sub memo_Click() ' 쪽지 보낼때
    On Error GoTo e:
    Set addform = New Form5
    addform.Show vbModeless
    addform.Command1.Visible = True
    addform.Command2.Visible = False
e:
End Sub
Private Sub MSHFlexGrid1_Click()
    'If MSHFlexGrid1.Col = 2 Then '쪽지 보내기
        MSHFlexGrid1.Col = 2
        If MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, MSHFlexGrid1.Col - 2) = "★" Then
            PopupMenu popup
        End If
    'End If
End Sub
Private Sub view_Click()
    Form10.Show
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim num, i, j As Integer
    Dim sql, ip, name, user(100), g As String 'user는 사원으로등록할수있는최대수
    Winsock1.GetData g
        If g = "^#$*&&%$#@&*" Then '화면에 접속된 사원 표시
            Set AdoRs = New ADODB.Recordset
            sql = "select * from member order by dep"
            AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
            MSHFlexGrid1.Clear
            MSHFlexGrid1.Rows = 1
            i = 0
            MSHFlexGrid1.TextMatrix(0, 0) = "상태"
            MSHFlexGrid1.TextMatrix(0, 1) = "부서"
            MSHFlexGrid1.TextMatrix(0, 2) = "아이디"
            MSHFlexGrid1.TextMatrix(0, 3) = "이름"
            Do While Not AdoRs.EOF
                i = i + 1
                user(i) = AdoRs("id")
                MSHFlexGrid1.Rows = MSHFlexGrid1.Rows + 1
                MSHFlexGrid1.TextMatrix(i, 0) = "☆"
                MSHFlexGrid1.TextMatrix(i, 1) = AdoRs("dep")
                MSHFlexGrid1.TextMatrix(i, 2) = AdoRs("id")
                AdoRs.MoveNext
            Loop
            AdoRs.Close
            Set AdoRs = Nothing
            Set AdoRs = New ADODB.Recordset
            sql = "select * from connection, personinfo where connection.id = personinfo.id"
            AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
            j = i
            For i = 1 To j
                Do While Not AdoRs.EOF
                    If user(i) = AdoRs("id") Then
                        MSHFlexGrid1.TextMatrix(i, 0) = "★"
                        MSHFlexGrid1.TextMatrix(i, 3) = AdoRs("name")
                    End If
                    AdoRs.MoveNext
                Loop
                AdoRs.MoveFirst
            Next i
            AdoRs.Close
            Set AdoRs = Nothing
           
        ElseIf Left(g, 9) = "^#$*&%^#@" Then '쪽지에 글표시
            For i = 1 To 19
                If Mid(g, 9 + i, 1) = "~" Then
                    Exit For
                End If
                ip = ip + Mid(g, 9 + i, 1)
            Next i
            Label2.Caption = ip
            sql = "select * from connection, personinfo where connection.ip like '" + Label2.Caption + "' and connection.id=personinfo.id"
            name = AdoRsDb_Select(sql, "name")
            num = Len(g) - (i + 9)
            g = Right(g, num)
            Set addform = New Form5
            addform.Show vbModeless
            addform.Text1.Text = "[" + name + "] : " + g
            addform.Text1.SelLength = Len(addform.Text1.Text)
            addform.Command1.Visible = False
            addform.Command3.Visible = False
        ElseIf Left(g, 10) = "^#$*&!!@$@" Then '대화방에 글표시
            For i = 11 To 100
                If Mid(g, i, 1) = "~" Then
                    Form1.Text1.Text = Form1.Text1.Text + Mid(g, i + 1) + vbCrLf
                    Exit For
                End If
            Next i
            Form1.Text1.SelStart = Len(Form1.Text1.Text)
        End If
        Winsock1.Close
        Winsock1.LocalPort = 1021
        Winsock1.RemotePort = 1020
        Winsock1.RemoteHost = "203.246.80.43"
        Winsock1.Bind 1021
    End Sub
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox ("에러입니다")
    End
End Sub
Private Sub Winsock2_ConnectionRequest(ByVal requestID As Long)
    Winsock2.Close
    Winsock2.Accept requestID
    Winsock2.SendData "&**$##%"
End Sub
Private Sub Winsock3_DataArrival(ByVal bytesTotal As Long)
    Dim buffer() As Byte
    Dim i, count As Long
    Dim g As String
    Static filesize As Long
    Static fname As String
    Winsock3.GetData g
    If g = "&**$##%" Then '파일이름과 사이즈 보내기
        CommonDialog1.ShowOpen
        If CommonDialog1.FileTitle = "" Then
            Winsock3.SendData "&&%$$#&" '윈속2(받는걸) 클로즈하라는 메세지
            Exit Sub
        End If
        fname = CommonDialog1.FileName
        Open fname For Binary Access Read As #1
            filesize = LOF(1)
        Close #1
        fname = CommonDialog1.FileTitle
        Winsock3.SendData fname + "*" + Str(filesize)
    ElseIf g = ")&$^@@^$" Then
        MsgBox "파일수신을 거부하였습니다."
        Winsock3.SendData "&&%$$#&" '윈속2(받는걸) 클로즈하라는 메세지
    ElseIf g = "^&*$%@#^" Then '파일 업로드하는 부분
        On Error GoTo err:
        Open fname For Binary Access Read As #1
            filesize = LOF(1)
            For i = 0 To filesize Step 8192
                If (filesize - i) > 8192 Then
                    ReDim buffer(8192 - 1) As Byte
                ElseIf (filesize - i) = 8192 Then
                    ReDim buffer(8192 - 1) As Byte
                ElseIf i = filesize Then
                    Exit For
                Else
                    ReDim buffer(filesize - i - 1) As Byte
                End If
                Get 1, , buffer
                Winsock3.SendData buffer
                DoEvents
            Next i
        Close #1
    ElseIf Right(g, 8) = "$^$%^%#@" Then '파일의 끝임을 알려주기위함
        ProgressBar1.Value = 0
        Winsock3.SendData "$#^#$^@$#^" '받는쪽 윈속을 닫아주라는 메세지
    ElseIf Left(g, 8) = "#@%%&^%#" Then '파일 전송중일때 받는쪽 하고 프로그래스바맞추기
        count = Val(Trim(Mid(g, 9)))
        ProgressBar1.Max = filesize
        ProgressBar1.Min = 0
        If count * 8192 < filesize Then
            ProgressBar1.Value = count * 8192
        End If
    Else
   
err:    MsgBox "파일을 받는쪽에서 에러가 났습니다."
        ProgressBar1.Value = 0
        Close #1
    End If
End Sub
Private Sub Winsock2_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    MsgBox ("파일을 보내는쪽에서 에러가 났습니다.")
    Close #2
    fname2 = ""
    count2 = 0
    filesize2 = 0
    ProgressBar2.Value = 0
    Winsock2.Close
    Winsock2.LocalPort = 26057
    Winsock2.Listen
End Sub
Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
    Dim buffer() As Byte
    Dim i As Integer
    Dim sql, m As String
    If fname2 = "" Then
        Winsock2.GetData m
        If m = "&&%$$#&" Then '윈속2을 클로즈함
            Winsock2.Close
            Winsock2.LocalPort = "26057"
            Winsock2.Listen
        ElseIf m = "$#^#$^@$#^" Then '파일의 끝일때 윈속을 받아줌
            Winsock2.Close
            Winsock2.LocalPort = 26057
            Winsock2.Listen
        Else
            For i = 1 To Len(m)
                If Mid(m, i, 1) <> "*" Then
                    fname2 = fname2 + Mid(m, i, 1)
                Else
                    Exit For
                End If
            Next i
            filesize2 = Val(Trim(Mid(m, i + 1)))
            sql = "select * from connection, personinfo where connection.ip='" + Winsock2.RemoteHostIP + "' and connection.id = personinfo.id"
            If MsgBox(AdoRsDb_Select(sql, "name") + "쪽에서 " + fname2 + "파일을 보내왔습니다. 받으시겠습니까? (용량 : " + Str(filesize2) + "byte)", vbYesNo) = vbYes Then
                Winsock2.SendData "^&*$%@#^" '파일을 받겠다는 메세지
            Else
                Winsock2.SendData ")&$^@@^$"
                fname2 = ""
                count2 = 0
                filesize2 = 0
            End If
        End If
    Else ' 파일이 왔을때 쓰는부분
        Winsock2.GetData buffer
        If count2 = 0 Then
            On Error GoTo err: '파일이 있으면 지우고 한다.
            Kill "c:" + fname2
err:        Open "c:" + fname2 For Binary Access Write As #2
        End If
        count2 = count2 + 1
        Put 2, , buffer
        ProgressBar2.Max = filesize2
        ProgressBar2.Min = 0
        If count2 * 8192 < filesize2 Then
            ProgressBar2.Value = count2 * 8192
        End If
        Winsock2.SendData "#@%%&^%#" + Str(count2)
        If filesize2 = LOF(2) Then
            fname2 = ""
            count2 = 0
            filesize2 = 0
            ProgressBar2.Value = 0
            Winsock2.SendData "$^$%^%#@" '파일이 다 써졌음을 알려준다.
            Close #2
        End If
    End If
End Sub
 

  3.2 DBaccessModul
Option Explicit
    Dim AdoRs As ADODB.Recordset
    Dim ado As ADODB.Connection
   
Public Function AdoDb_Querry(ByVal sql As String)
    On Error GoTo e:
    Set ado = New ADODB.Connection
    ado.Open "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    ado.Execute sql
    ado.Close
e:  Set ado = Nothing
End Function
Public Function AdoRsDb_Selectlogin(ByVal sql As String, ByVal recd As String, ByVal recd2 As String)
    Set AdoRs = New ADODB.Recordset
    AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    Do While Not AdoRs.EOF
        If recd2 = AdoRs(recd) Then
            AdoRsDb_Selectlogin = AdoRs(recd)
            Exit Do
        End If
        AdoRs.MoveNext
    Loop
    AdoRs.Close
    Set AdoRs = Nothing
End Function
Public Function AdoRsDb_Select(ByVal sql As String, ByVal recd As String)
    On Error GoTo e:
    Set AdoRs = New ADODB.Recordset
    AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    AdoRsDb_Select = AdoRs(recd)
    AdoRs.Close
e:  Set AdoRs = Nothing
End Function
 

  3.3 memoForm
Option Explicit
Private Sub Command1_Click()
    Dim sql, g As String
    sql = "select * from connection where id='" + Form4.MSHFlexGrid1.Text + "'"
    g = AdoRsDb_Select(sql, "ip")
    g = "^#$*&%^#@" + g + "~" + Text1.Text
    Form4.Winsock1.SendData g
    Unload Me
End Sub
Private Sub Command2_Click()
    Dim sql, g As String
    g = "^#$*&%^#@" + Form4.Label2.Caption + "~" + Text1.Text
    Form4.Winsock1.SendData g
    Unload Me
End Sub
Private Sub Command3_Click()
    Dim sql, g As String
    sql = "select * from connection where id='" + Form7.MSHFlexGrid2.Text + "'"
    g = AdoRsDb_Select(sql, "ip")
    g = "^#$*&%^#@" + g + "~" + Text1.Text
    Form4.Winsock1.SendData g
    Unload Me
End Sub
Private Sub Command4_Click()
    Text1.Enabled = True
    Text1.SetFocus
    Command4.Visible = False
End Sub
Private Sub Command4_KeyPress(KeyAscii As Integer)
    If KeyAscii = Asc("i") Then
        Call Command4_Click
    ElseIf KeyAscii = Asc("ㅑ") Then
        Call Command4_Click
    End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        If Command1.Visible = True Then
            Call Command1_Click
        ElseIf Command2.Visible = True Then
            Call Command2_Click
        End If
    End If
End Sub
 

  3.4 PersonForm
Private Sub Command1_Click()
    Dim sql, g As String
    sql = "delete from member where member.id like '" + Form4.MSHFlexGrid1.Text + "'"
    AdoDb_Querry (sql)
    sql = "delete from personinfo where personinfo.id like '" + Form4.MSHFlexGrid1.Text + "'"
    AdoDb_Querry (sql)
    sql = "insert into member values('" + Text5.Text + "','" + Text2.Text + "','" + Text3.Text + "')"
    AdoDb_Querry (sql)
    sql = "insert into personinfo values('" + Text2.Text + "','" + Text6.Text + "','" + Text7.Text + "','" + Text8.Text + "','" + Text4.Text + "')"
    AdoDb_Querry (sql)
    g = "^#$*&#*%&%#$#"
    Form4.Winsock1.SendData g
    Unload Form10
End Sub
Private Sub Form_Load()
        Set AdoRs = New ADODB.Recordset
        sql = "select * from member where member.id='" + Form4.MSHFlexGrid1.Text + "'"
        AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
        If Form4.MSHFlexGrid1.Text = Form4.StatusBar1.Panels(1) Then
            Text3.Text = AdoRs("pw")
            Command1.Visible = True
        End If
        Text5.Text = AdoRs("dep")
        AdoRs.Close
        Set AdoRs = Nothing
        Set AdoRs = New ADODB.Recordset
        sql = "select * from personinfo where personinfo.id='" + Form4.MSHFlexGrid1.Text + "'"
        AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
        Text2.Text = AdoRs("id")
        Text4.Text = AdoRs("name")
        Text6.Text = AdoRs("grade")
        Text7.Text = AdoRs("tel")
        Text8.Text = AdoRs("email")
        AdoRs.Close
        Set AdoRs = Nothing
End Sub
 

  3.5 MemConForm
Option Explicit
Dim AdoRs As ADODB.Recordset
Private Sub Command1_Click()
    Dim sql, g As String
    sql = "insert into zetyx_member_table(user_id,password,name,level) values ('" + Text2.Text + "',password('" + Text3.Text + "'),'" + Text4.Text + "','9')"
    AdoDb_Querry (sql)
    sql = "insert into member values('" + Text5.Text + "','" + Text2.Text + "','" + Text3.Text + "')"
    AdoDb_Querry (sql)
    sql = "insert into personinfo values('" + Text2.Text + "','" + Text6.Text + "','" + Text7.Text + "','" + Text8.Text + "','" + Text4.Text + "')"
    AdoDb_Querry (sql)
    sql = "delete from joins where id = '" + List1.Text + "'"
    AdoDb_Querry (sql)
    MsgBox ("등록 되었습니다.")
    List1.RemoveItem (List1.ListIndex)
    g = "^#$*&#*%&%#$#"
    Form4.Winsock1.SendData g
End Sub
Private Sub Command2_Click()
    Dim sql, g As String
    sql = "delete from member where member.id like '" + List1.Text + "'"
    AdoDb_Querry (sql)
    sql = "delete from personinfo where personinfo.id like '" + List1.Text + "'"
    AdoDb_Querry (sql)
    sql = "delete from personinfo where personinfo.id like '" + List1.Text + "'"
    AdoDb_Querry (sql)
    sql = "delete from zetyx_member_table where id like '" + List1.Text + "'"
    AdoDb_Querry (sql)
    MsgBox ("완료했습니다.")
    List1.RemoveItem (List1.ListIndex)
    g = "^#$*&#*%&%#$#"
    Form4.Winsock1.SendData g
    Unload Form6
End Sub
Private Sub Command3_Click()
    Dim sql, g As String
    sql = "delete from member where member.id like '" + List1.Text + "'"
    AdoDb_Querry (sql)
    sql = "delete from personinfo where personinfo.id like '" + List1.Text + "'"
    AdoDb_Querry (sql)
    sql = "delete from zetyx_member_table where id like '" + List1.Text + "'"
    AdoDb_Querry (sql)
    sql = "insert into member values('" + Text5.Text + "','" + Text2.Text + "','" + Text3.Text + "')"
    AdoDb_Querry (sql)
    sql = "insert into personinfo values('" + Text2.Text + "','" + Text6.Text + "','" + Text7.Text + "','" + Text8.Text + "','" + Text4.Text + "')"
    AdoDb_Querry (sql)
    sql = "insert into zetyx_member_table(user_id,password,name,level) values ('" + Text2.Text + "',password('" + Text3.Text + "'),'" + Text4.Text + "','9')"
    AdoDb_Querry (sql)
    List1.RemoveItem (List1.ListIndex)
    List1.AddItem (Text2.Text)
    g = "^#$*&#*%&%#$#"
    Form4.Winsock1.SendData g
    Unload Form6
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Form4.Enabled = True
End Sub
Private Sub List1_DblClick()
    Dim sql, id As String
    Set AdoRs = New ADODB.Recordset
    If Form6.Tag = 0 Then
        sql = "select * from joins where id='" + List1.Text + "'"
        AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
        Text2.Text = AdoRs("id")
        Text3.Text = AdoRs("pw")
        Text4.Text = AdoRs("name")
        Text5.Text = AdoRs("dep")
        Text6.Text = AdoRs("grade")
        Text7.Text = AdoRs("tel")
        Text8.Text = AdoRs("email")
    Else
        sql = "select * from member where member.id='" + List1.Text + "'"
        AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
        Text3.Text = AdoRs("pw")
        Text5.Text = AdoRs("dep")
        AdoRs.Close
        Set AdoRs = Nothing
        Set AdoRs = New ADODB.Recordset
        sql = "select * from personinfo where personinfo.id='" + List1.Text + "'"
        AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
        Text2.Text = AdoRs("id")
        Text4.Text = AdoRs("name")
        Text6.Text = AdoRs("grade")
        Text7.Text = AdoRs("tel")
        Text8.Text = AdoRs("email")
    End If
    AdoRs.Close
    Set AdoRs = Nothing
End Sub
 

  3.6 loginForm
Option Explicit
Private Sub Command1_Click()
    Dim sqlidserch, sqlpwserch, pw, id, name As String
    sqlidserch = "select * from member"
    If Text1.Text = AdoRsDb_Selectlogin(sqlidserch, "id", Text1.Text) Then
        sqlpwserch = "select * from member where id ='" + Text1.Text + "'"
        If Text2.Text = AdoRsDb_Selectlogin(sqlpwserch, "pw", Text2.Text) Then
            If Text1.Text = "admin" Then
                Form4.administrator.Enabled = True
                Form4.admin.Enabled = True
                Form4.del.Enabled = True
            End If
            Form4.Show
            Unload Form2
        Else
            MsgBox ("비밀번호가 틀렸습니다. 다시 입력해주십시오")
            Text2.Text = ""
            Text2.SetFocus
        End If
    Else
        MsgBox ("아이디가 틀렸습니다.다시입력해주십시오")
        Text1.Text = ""
        Text2.Text = ""
        Text1.SetFocus
    End If
   
End Sub
Private Sub Command3_Click()
    Form2.Enabled = False
    Form3.Show
End Sub
Private Sub Text1_Change()
    If Text1.Text <> "" And Text2.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
    If Text1.Text <> "" And Text2.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
    If KeyAscii = 13 Then
        Command1_Click
    End If
End Sub
 

  3.7 MemberJoinForm
Option Explicit
Private Sub Command1_Click()
    Dim bool As Integer
    Dim sql, pw, id, name, grade, dep, tel, email, g As String
    Dim i As Integer
    Dim AdoRs As ADODB.Recordset
    Set AdoRs = New ADODB.Recordset
    bool = 0
    sql = "select * from member"
    AdoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
    Do While Not AdoRs.EOF
        If Text1.Text = AdoRs("id") Then
            bool = 1
            Exit Do
        End If
        AdoRs.MoveNext
    Loop
    AdoRs.Close
    Set AdoRs = Nothing
    If bool = 0 Then
   
        If Text2.Text = Text3.Text Then
            id = Text1.Text
            pw = Text2.Text
            name = Text4.Text
            For i = 0 To 6
                If Option1(i).Value = True Then
                    dep = Option1(i).Caption
                End If
            Next i
            grade = Text6.Text
            tel = Text7.Text
            email = Text8.Text
            sql = "insert into joins values ('" + id + "','" + pw + "','" + name + "','" + dep + "','" + grade + "','" + tel + "','" + email + "')"
            AdoDb_Querry (sql)
            Form2.Enabled = True
            Unload Form3
        Else
            MsgBox ("비밀번호가 일치하지않습니다. 다시입력해 주십시오.")
            Text2.Text = ""
            Text3.Text = ""
        End If
    Else
        MsgBox ("이미등록된 아이디입니다.")
        Text1.Text = ""
    End If
End Sub
Private Sub Command2_Click()
    Form2.Enabled = True
    Unload Form3
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Form2.Enabled = True
    Unload Form3
End Sub
Private Sub Text1_Change()
    If Text1.Text <> "" And Text2.Text <> "" And Text4.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
Private Sub Text2_Change()
    If Text1.Text <> "" And Text2.Text <> "" And Text4.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
Private Sub Text3_Change()
    If Text1.Text <> "" And Text2.Text <> "" And Text4.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
Private Sub Text4_Change()
    If Text1.Text <> "" And Text2.Text <> "" And Text4.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
Private Sub Text6_Change()
    If Text1.Text <> "" And Text2.Text <> "" And Text4.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
Private Sub Text7_Change()
    If Text1.Text <> "" And Text2.Text <> "" And Text4.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
Private Sub Text8_Change()
    If Text1.Text <> "" And Text2.Text <> "" And Text4.Text <> "" And Text6.Text <> "" And Text7.Text <> "" And Text8.Text <> "" Then
        Command1.Enabled = True
    Else
        Command1.Enabled = False
    End If
End Sub
 

  3.8 ServerForm
Dim ado As ADODB.Connection
Dim adoRs As ADODB.Recordset
Private Sub Form_Load()
    Winsock1.LocalPort = 1020
    Winsock1.RemotePort = 1021
    Winsock1.Bind 1020
End Sub
Private Sub Form_Unload(Cancel As Integer)
    Winsock1.Close
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim i, num As Integer
    Dim sql, ip, bangtable, m As String
    Winsock1.GetData m
    If m = "^#$*&#*%&%#$#" Then
        m = "^#$*&&%$#@&*" '접속하고 끊는걸 알리는부분
        Set adoRs = New ADODB.Recordset
        sql = "select * from connection"
        adoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
        Do While Not adoRs.EOF
            Winsock1.RemoteHost = adoRs("ip")
            Winsock1.SendData m
            adoRs.MoveNext
        Loop
        adoRs.Close
        Set adoRs = Nothing
    ElseIf Left(m, 9) = "^#$*&%^#@" Then '쪽지 보내기
        For i = 1 To 19
            If Mid(m, 9 + i, 1) = "~" Then
                Exit For
            End If
            ip = ip + Mid(m, 9 + i, 1)
        Next i
        num = Len(m) - (i + 9)
        m = Right(m, num)
        m = "^#$*&%^#@" + Winsock1.RemoteHostIP + "~" + m
        Winsock1.RemoteHost = ip
        Winsock1.SendData m
    ElseIf Left(m, 10) = "^#$*&!!@$@" Then '대화방 메세지를 주고 받을때
        Set adoRs = New ADODB.Recordset
        For i = 11 To 100
            If Mid(m, i, 1) = "~" Then
                Text1.Text = Text1.Text + Mid(m, i + 1) + vbCrLf
                Exit For
            End If
            bangtable = bangtable + Mid(m, i, 1)
        Next i
        Text1.SelStart = Len(Text1.Text)
        sql = "select * from bang" + bangtable
        adoRs.Open sql, "PROVIDER=MSDASQL;driver={MySQL ODBC 3.51 Driver};server=203.246.80.43;uid=leejung0;pwd=tpqms;database=zboard;"
        Do While Not adoRs.EOF
            Winsock1.RemoteHost = adoRs("ip")
            Winsock1.SendData m
            adoRs.MoveNext
        Loop
        adoRs.Close
        Set adoRs = Nothing
    End If
    Winsock1.Close
    Winsock1.LocalPort = 1020
    Winsock1.RemotePort = 1021
    Winsock1.Bind 1020
End Sub
  
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    Winsock1.Close
End Sub

제.개정 이력서

버전
제.개정 일자
제.개정 페이지 및 내용
작성자
승인자
1.0
2004/5/30
제정
4조
4조
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
목차

1. 개요
        1.1테스트범위
        1.2 테스트환경
                1.2.1 하드웨어
                1.2.2 소프트웨어
2. 기능테스트
        2.1 회원가입요청
        2.2 로그인
        2.3 회원정보조기
        2.4 자기정보수정
        2.5 메시지보내기
        2.6 파일보내기
        2.7 게시판 작성
        2.8 회원등록
        2.9 회원삭제, 수정
        2.10 로그인시 에러유도 데이터 입력
        2.11 파일수신 거부

1. 개요
 1.1테스트범위
  사용자의 요구사항이 소프트웨어의 기능에 충실하게 반영되었는지 검토
  논리적 오류나 문법적인 오류 최소화
  동시식 통합테스트 실시

 1.2 테스트환경
  1.2.1 하드웨어
   - 허브 1대, Client PC 2대(MMX233)
      Server PC 1대(pentieum3)
  1.2.2 소프트웨어
   - Client PC : Windows95
   - Server PC : Windows2000. Apache, Mysql

2. 기능테스트
  2.1 회원가입요청


  2.2 로그인



  2.3 회원정보보기, 자기정보수정


  2.4 메시지보내기


  2.5 파일보내기




  2.6 게시판 작성

  2.7 회원등록

  2.8 회원삭제, 수정

  2.9 로그인시 에러유도 데이터 입력

  2.10 파일수신 거부

댓글

이 블로그의 인기 게시물

LSF (GPU 스케쥴링) 명령어 사용법

CentOS 7 리부팅 없이 새 디스크 인식 (find a new disk without reboot)

python에서 hive 사용