Use Case Model의 등장배경

시스템을 모르는 사용자와 사용자의 업무를 모르는 개발자가 사용자의 요구사항을 명시적으로 정의하고 개발할 기능을 상호 합의할 필요성을 가진다.

Use Case Model이란?

◎ 사용자의 시점에서 시스템을 모델링하는 역할을 한다.
◎ 사용자의 기능적 요구사항을 정의하는 직관적인 방법이다.
◎ 요구사항을 다이어그램으로 알기쉽게 정의함으로써 사용자가 원하지 않는 시스템의 기능을 쉽게 식별할 수 있다.
◎ 설계문서를 알아보지 못하는 사용자와 개발자간의 상호 의사소통을 원할하게 한다
◎ 구현과 시스템에 관련된 문제는 배재하고 기능적인 측면으로 접근한다.


Use Case의 목적
시스템 사용자를 설계분석의 초기 단계에 포함시켜 실제 업무를 하고 있는 사용자가 꼭 필요한 시스템을 개발하는것에 목적을 둔다.

Use Case를 작성하는 12단계
1. 시스템의 범위와 경계 설정
2. 시스템에 관계된 모든 액터 찾기
3. 액터가 시스템을 통해 얻으려고 하는 목적들 찾기
4. 각 액터에 대한 최상위 유즈 케이스(summary use case) 설정
5. 최 상위 유즈 케이스들에 대한 정제 작업(시스템 범위의 재확인)
6. 상세 작업을 할 유즈 케이스 선택
7. 이해 관계자와 그들의 목적, 선행조건, 후행조건 등을 뽑아냄
8. 주 성공 작업 흐름 작성
9. 대안 흐름과 예외 흐름 찾기
10. 대안 흐름과 예외 흐름 작성
11. 복잡한 스텝을 하위 유즈 케이스로, 자잘한 스텝들은 모아서 하나로 합치는 작업 수행
12. 유즈 케이스 조절 작업(읽기는 쉬운지, 구색은 갖췄는지, 이해관계자는 만족하는지) 수행


Use Case Diagram의 구성요소
● Actor 
    ◎ 사람과 기계, 시스템등 작동시키는 모든것을 의미한다.
    ◎ Actor가 사람일 경우 선생님, 강사, 센터 등 역할별로 세분화하여 정의한다.

 
● Actor는 다음과 같은 방법을 통해 선정, 분류된다.
    ◎ 시스템을 사용하는 기관 또는 사람.
    ◎ 시스템에 정보를 제공/사용/삭제하는 사람.
    ◎ 누가 해당 기능을 사용하는지
    ◎ 시스템을 운영하는 사람은 누구인지
    ◎ 한 액터가 여러 가지 역할을 하고 있지 않은지?
    ◎ 여러명의 액터가 한가지 역할을 수행하고 있지 않은지?


액터는 아래와 같이 표시한다.





Posted by NemoLuNa
l

 1.     아래의 경로에서 LiveCycle DataService ES 를 다운로드를 합니다.
      계정을 추가하고 로그인 해야 다운로드가 가능하기 때문에 위의 경로와 다를 수도 있음

http://www.adobe.com/cfusion/entitlement/index.cfm?e=lcds26_td

- Serial Number 는 다운로드 페이지에 존재하나 입력하지 않아도 설치 가능함.

2.     다운받은 lcds261-win.exe 파일을 실행해서 LCDS 를 설치한다.
설치중 내장된 Tomcat 을 사용할지 다른 WAS를 사용할지 선택하는 부분이 나오는데 본 문서에서는 Tomcat을 사용하도록 설치한다설치는 어렵지 않게 할 수 있다.

3.     설치된 경로에 보면 lcds 라는 폴더가 존재하고 이 구조는 다음과 같다.

      폴더에 Tomcat 이 보인다. 이 내부는 기존의 Tomcat 과 동일한 구조를 가진다.
또한 tomcat webapps 에 올라갈 lcds.war lcds-samples.war 도 보인다.

4.     Tomcat 폴더를 보면 Tomcat 6.0.14 가 그대로 들어있다.
Tomcat
실행을 위해 JAVA_HOME CATALINA_HOME 의 환경변수를 설정한다.
JAVA_HOME : java jdk
가 설치된 경로
CATALINA_HOME : tomcat
이 설치된 경로(%LCDS_HOME%\tomcat)

%LCDS_HOME%\tomcat\lib\lcds : LCDS
관련 lib
%LCDS_HOME%\tomcata\webapps\lcds : LCDS
관련 content root


5.     %LCDS_HOME%\tomcat\bin\startup.bat 를 통해 tomcat을 실행시킨다.
시작프로그램 – Adobe - LiveCycle Data Services ES 2.6.1 - Start LiveCycle Data Services Server
을 시작하면 bin\catalina.bat 을 실행시키는데 이는 JAVA_HOME path를 안 잡아줘도 되는듯..
어느 방법을 사용하든 서버를 시작하면 다음과 같이 된다.



서버 시작 후 http://localhost:8400/lcds 로 들어가서 다음과 같은 화면이 나오면 서버가 정상적으로 동작하는 것이다.


6.     접속 port를 바꾸려면 %\LCDS_HOME%\tomcat\conf\server.xml 에서 다음의 부분을 찾아 port 를 변경해 준 뒤 서버를 재 시작 하면 port 변경이 된다.
             <Connector port="8400" protocol="HTTP/1.1"
                 connectionTimeout="20000" redirectPort="9400" />

7.     서버 시작 후 http://localhost:8400/lcds-samples/ 로 들어가게 되면 기본으로 제공되는 LCDS 관련 Sample 들을 볼 수 있다.  

8.     Flex Builder 에서 LCDS 프로젝트 만드는 방법

9.     New – Flex Project 를 선택한다.
그 후 아래의 그림과 같이 Server type을 설정한다.
Application Server Type : J2EE
LiveCycle Data Services
선택


10.   LCDS 가 설치된 경로를 찾아 Server location 을 설정해 준다.

      현재 버전은 Tomcat에서 돌아가는 LCSD 이기 때문에 LCSD가 설치된 경로를 기준으로 위와 같이 설정 후 Validate Configuration 버튼을 눌러 확인해 준다.
Root folder : \lcds\tomcat\webapps\lcds [tomcat
에 기본으로 존재하는 경로(lcds)]
Root URL : http://localhost:8400/lcds/
Context root : /lcds

11.   이상의 방법까지 하면 LCDS 설치가 왼료 되고, LCDS로 프로젝트가 생성된다.
프로젝트 생성시마다 context root webapps/lcds 안에 XXX-debug 폴더가 생성되고 그 내부에 swf 파일, html wrapper 파일들이 들어가게 된다

LCDS
의 설정 파일들은 webapps\lcds\WEB-INF\flex 내부에 존재한다.



출처 : http://kwlee.tistory.com/62

Posted by NemoLuNa
l
// set과 get이라는 키워드를 제공하여 getter와 setter 메서드를 지원한다.

// 아래와 같은 방법으로 get/set 메서드를 정의하고  set에서의 파라미터와 get에서의 return 값이 같아야 한다.

public function set Annual(paramAnnual:String):void{
    _annual = Number(paramAnnual);
   
    if(_annual<=2000){
     tax = _annual * 0.05;
    }else if(_annual <= 3000){
     tax = _annual * 0.07;
    }else if(_annual <= 4000){
     tax = _annual * 0.08;
    }else if(_annual <= 5000){
     tax = _annual * 0.1;
    }else{
     tax = _annual * 0.15;
    }
   }  
   
   public function get Annual():String{
    return "연봉 :" + _annual.toString() + "만원";
   }


호출 하는 방법은 다음과 같다.

var temp:String;
Annual = "test"; 이렇게 호출하면 setter가 되는 것이고
temp = Annual; 이라고 하게 되면 getter가 호출 되는 것이다.

어떤 면에서는 편리하지만. 확실히 명시적이지 않기 때문에 혼란을 줄 여지가 있지 않나 싶다.
Posted by NemoLuNa
l