JAVA_School/JAVA_School_class

[1102] 객체지향적사고와프로그래밍

지윤이다 2022. 11. 2. 10:17

진행

- Login

 

두개가 동시에 실행하는 경우가 있으면 PLogin은 PLogin 대로 Pmain은 Pmaine대로 따로하면 통신을 하지 않아

얘가 말을 하고 싶은데 얘가 딴짓을 할 수도 있다고 그래서 thread same하지 않다고 하는데

Pmain이 Plogin을 실행시키고 나서 데이터를 다시 가지고 나와야해

그렇게 발생하는 경우에 줄을 세워서 차례차례 알아야돼

vAccount가지고 하고 있는데 로그인이 값을 쓸 수 있다.

로그인은 하나의 다이알로그밖에 없는데 그부분은 다시 설명하겠음

 

로그인 시나리오

1. Pmain:: new PLogin

2. Pmain: Plogin.setVisible(true)

3. Plogin: vAccount = SLogin.getVAccount (id)

4. Plogin:: Pmain.setVAccount(vAccount);

5. Plogin:: this.dispose();

6. Pmain:: showup()

7. Pmain:: new Paccount(vAccount);

 

통합 테스트의 시나리오라고 쓸 수 있다.

참고로 하자면

참고) SW 개발 프로세스

단계

- Requirements 수집하는 단계

- Analysis Requirements

- Design

- Implementation

- Test

 

분석을 한다는 것은 구체적으로 시나리오를 쓴거야

설계와 분석은 거의 섞여있는 것이다.

따지고보면 이부분 시나리오는 이부분이 섞여있다.

분석은 뭐냐면 로그인을 해야한다는 이거를 이런 시나리오를 쓰고 이 클래스를 그린거야 이걸 설계라고해

분석은 실제로 사용자의 언어를 그대로 쓰는 것이고

설계는 컴퓨터프로그래밍에관련된 용어를 쓰는 것이다.

원래 분석을 하면 LoginDialog가 나타나고 Logindialog가 서버로 가서 

분석은 해당 업무에 관한 언어를 쓰는 것이다.

그렇지만 우리에게 오면 컴퓨터 언어로 바뀐다. 

실제로 구현할 수 있는 구조를 만들어내면 그것을 설계라고 한다.

설계를 하면 코드는 그냥 쉽게 나온다.

근데 설계는 언어에 중립적이다. C++든 자바든 뭘쓸지가 결정되어 있지는 않다.

구현으로 가면 어떤 특정언어로 프로그래밍을 번역을 한다.

요구사항을 정리하는 것이 분석이다. 사용자의 언어를 가지고 정리를 하는 것이다. 그리고 인터뷰를 해서 고객이 얘기 안한 것도 끌어내야한다. 그런 것들을 끌어내야한다.

나중에는 요구사항을 파악하는 것이 가장 어렵다. 여러가지 큰 architecture을 잡는게 어렵다 . Design에서도

건물 설계할 때도 Architecture인데. 요구사항 이런것들이 가장 어렵다.

자바 코드를 구현한다고. 이거 이렇게 짜가지고와. 처음에는 그런 것을 한다고.

그러다가 큰 시스텝 설계하고 그러다가 전체 설계한다. 그러고 나면 고객의 요구사항을 예측할 수 있어야 하고. 그러고 어떻게 해야하는지 이런 것들을 하는 것이다.

Directory 구성

eventhandler를 만들어서 Jlist를 만들어서 

JList안에 여기는 고정된 것이고 eventㄹ르 받을 수 있는 애는 list이다.

file이 굉장히 많다. 

시작 파일은 root 

 

이제부터 directory를 만드는거야 바꾸면 바뀌겠지. 처음거가 deport겠지

파일을 여기를 누르면 전체가 바뀔거고.

더블클릭. add못하게 만들기 blocking도 할 수 있어

 

여기서 또 사라져야 한다. 그리고 내가 여기서부터 해제시키고 원위치 시키면 해당 원래 코드로 다시 들어가야 한다.

status에 몇학점 들어갔는지 쓰라고

안드로이드를 가르치면 스타일이 다 똑같애

 

Directory 구성

Association

따로따로 eventhandler만들 수 있고 event handler를 만들어서 할 수도 있다.

그러면 얘가 누구지? 소스가 누군지도 파악해야돼. 어떻게 더 유리한지에는 상황에 따라 다르다. eventhandler를 따로할지 종합관리를 할지 manager를 따로따로 둘건지 하나로 둘건지 그게 문제다. 만약에 하나로 둘거면 

얘네들이 수강신청 패널의 자식이야.

 

Jlist이거 찾아라.

eventhandler이랑 다 써라. 구글링해라

Model은 데이터를 가지고 있는거야 

 

this.cDirectory = new CDirectory();

this.

row.add(vDirectory.getName());

this.tableModel.addRow(row);

 

과제

여기다 list를 하든 table를 하던가 listmodel를 하던지

여기다 row를 추가하면 여기다 한줄씩 추가돼

test1 test2 test3 이런거를 만들거아니야.