Concepts of Programming Languages- 프로그래밍 언어를 배우는 이유-서론 – 프로그래밍 언어를 배우는 이유---------------6본론------------------------------------------------------------------9언어의 구분-------------------------------------------------------9syntax----------------------------------------------------------------9언어 생성기와 언어 인식기구문 기술의 형식적 방법Semantics-----------------------------------------------------------26동적의미론연산의미론과 표기의미론공리 의미론에서의 전조건과 후조건변수와 관한 기본적인 의미론의 고려사항.VariablesThe Concept of BindingStorage Binding and Lifetime실행파일의 구조Type CheckingStrong TypingType CompatibilityScopeScope and LifetimeReferencing EnvironmentsNamed ConstantsVariable Initialization레지스터의 종류2. Primitive Data Types-----------------------------------52Primitive Data Types---------------------------------------------------53Numeric TypesUser-Define ordinal Types-------------------------------------------78Enumeration Types부분 범위 타입Implementation of User-Defined Ordinal TypesArray Types-----------------------------------------------------79. 이러한 계층적 구조를 파스 트리(parse tree)라 부른다.파스 트리의 모든 내부 노드는 non-terminal 기호의 레이블을 갖고, 모든 잎 노드는 터미널 기호의 레이블을 갖는다. 또한, 파스 트리의 모든 부분 트리는 문장에 있는 추상화에 대한 한가지 사례를 서술하는 것을 알 수 있다.다음은 파스 트리의 예이다.A=B*(A+C)↙ ↓ ↘ = | ↙↓↘A * | ↙ ↓ ↘B ( )↙ ↓ ↘ + | |A |C모든 내부 노드는 non-terminal 기호의 레이블을 가지고, 모든 잎 노드는 terminal 기호의 레이블을 갖는다. 파스 트리의 모든 부분 트리는 문장에 있는 추상화에 대한 한 가지 사례를 서술한다. 두개 이상의 다른 파스 트리를 갖는 문장을 생성하는 문법을 모호하다 라고 한다.즉, 1 식에 대하여 2가지 이상의 형태로 그려질 수 있다.a:=b+c*a① ↙ ↓ ↘ = | ↙↓↘A + | ↙ ↓ ↘ + | | |b | |c a②↙ ↓ ↘ = | ↙↓↘A * ↙ ↓ ↘ | + | | | a| |b c파스 트리와 유도와의 관계는 매우 밀접하다. 즉, 어느 한쪽은 다른 한쪽으로부터 쉽게 구성 될 수 있다. 모호하지 않은 문법으로부터 생성된 모든 유도는 유일한 파스 트리를 갖는다.구문 트리(Abstract Syntax Tree)parse tree의 중간 노드에 나타나는 non-terminal은 코드 생성 단계에 의미 없으며, 구분자나 지정어 등도 문법 검사가 끝난 후에는 의미가 없다→ 불필요한 정보를 제거한 tree 구성→ abstract syntax treeabstract syntax tree : parse tree의 변형된 형태로, 코드 생성 단계에 꼭 필요한 semantic information만을 갖는 트리abstract syntax tree의 형태Nonterminal node : 의미 있는 생성 규칙의 이름terminal node : terminal symbol(token 값을 갖는 명칭, 상수 등)다음과 같은 문법에 대한 id 주소 v는 세그먼트 번호, 페이지 번호, 그리고 페이지 내에서의 변위로 구성된다.혼용 시스템에서의 동적 주소 변환- 혼용 시스템에서의 주소 변환 과정은 다음과 같다.현재 수행중인 프로세서가 가장 주소 v=(s,p,d)를 참조한다.먼저 부분적 연관 기억 장치에서 s의 해당 항목을 찾는다.S에 대한 항목에서 세그먼트 s의 페이지 사상표 시작 주소 s’를 얻는다.세그먼트 s의 페이지 사상표에서 s’와 p를 더하여 프레임 번호 p’를 얻는다.페이지 프레임 번호 p’에 변위 d를 더하여 실주소 r을 얻는다.Context Switching프로세스(Process)는 실행중인 하나의 프로그램을 의미하고, 스레드(Thread)는 프로세스 내에서 작업의 단위로서 여러 개 존재할 수 있다. 그리고, 일련의 작업 단위로 자원을 할당받으며 작업을 수행할 수 있다. 하나의 프로세스는 여러 개의 스레드를 수행하여 보다 효율적으로 작업을 진행할 수 있다. 다음의 그림은 C#의 프로세스 구조를 보여주고 있다.그림 13-1 프로세스(Process)와 스레드(Thread)의 관계 및 스레드의 구조프로세스 내에는 여러 개의 스레드가 존재할 수 있다 그리고, 스레드는 위의 그림처럼 Call Stack과 TLS(Thread Local Storage)로 구성되어 있다. 이 두 가지 구성요소는 스레드에 관련된 정보를 저장하고 관리할 수 있는 메모리 영역이다. 콜스택(Call Satck)에서는 스레드 내에서 사용하는 메서드 호출 순서와 메서드 내부에서 사용하는 메모리를 저장하는 역할을 담당하며, TLS에서는 스레드 자신의 정보를 저장하는 역할을 한다.콜스택(Call Stack)은 스레드에서 사용하는 메모리 자체라고 생각하시면 된다. 그렇다면, 스레드 자신의 정보를 저장하는 부분인 TLS는 왜 필요한 것일까? CLR 입장에서 본다면 수없이 많은 스레드들이 동작한다. 이들 스레드들은 CPU의 자원을 조금씩 나눠 갖게 됩니다. 즉, 잠시 CPU를 점유할 수 있는 권한을 다른 스레드에게 주었다가 다시 자신이 개변수로부터 데이터를 받음출력 모델 : 데이터를 실 매개변수에 전달입출력 모델 : 실 매개변수로부터 데이터를 받고 데이터를 실 매개변수에 전달데이터 이동이 매개변수 전달에서 일어나는 방법실제의 값이 물리적으로 이동접근 패스가 전달 : 단순 포인터5.4.2 Implementation Models of Parameter Passing5.4.2.1 Pass-by-Value매개변수가 값으로 전달할 때, 실 매개변수의 값은 해당 형식 매개변수를 초기화하기 위해 사용된다. 형식 매개변수는 지역 변수로 사용. 입력 모드 의미를 구현된다. 실제 값 이동으로 구현. 쓰기 보호 셀 형태로 있다(읽는 것만 가능). 부가적인 기억장소가 형식 매개변수를 위하여 피 호출 부프로그램이나 호출과 피호출 부프로그램 외부의 어떤 장소에 할당되어야 한다.5.4.2.2 Pass-by-Result출력 모드 매개변수에 대한 구현 모델이다. 매개 변수가 결과로 전달될 때, 어느 값도 부프로그램으로 전달되지 않았다. 그리고 실제 값 이동으로 구현된다.5.4.2.3 Pass-by-Value-Result실제 값이 이동하는 입출력 모드 매개변수의 구현모델이다. 값-전달과 결과-전달의 혼합형이다. 실 매개변수의 값은 대응 형식 매개변수를 초기화한다. 그리고 복사 전달방법을 사용한다. 다중 기억장소와 복사하는 시간이 요구된다.5.4.2.4 Pass-by-Reference입출력 모드 매개변수의 형태로 접근 패스(주소)를 통해 피호출 부프로그램에 전달된다. 피 호출 부프로그램이 호출 프로그램에 있는 실 매개변수를 접근가능하며, 공유된다. 시간과 공간의 효율성이 좋다. 그리고 데이터 이동방식보다 느림, 부주의와 오류발생가능, 별칭이 생성된다.5.4.2.5 Pass-by-Name단일 구현 모델에 일치하지 않는 입출력 모드 매개변수 전달방식이다. 부 프로그램 호출시 접근패스에 바인딩되지만 값이나 주소에 실제 바인딩은 형식 매개변수에 배정되거나 참조될 때까지 연기된다. 실 매개변수 형태가 이름-전달 매개변수의 구현 모델을적-영역 언어에서는 컴파일 시간에 탐색할 체인의 길이를 결정하는 방법이 없다.동적 언어 구현에서는 활성화 레코드는 탐색 과정을 위해서 변수의 이름을 저장해야한다.정적 언어 구현에서는 단지 값만이 요구된다.6.6.2 Shallow Access다른 구현 방법을 말하는 것이고 심층 접근과 피상 접근의 의미는 동일하다. 피상 접근은 부 프로그램에서 선언된 변수는 그 부 프로그램의 활성화 레코드에는 저장되지 않는다. 전체 프로그램에 있는 각 변수에 대해서 별도의 스택을 갖고 있다. 활성은 각 항목에 현재의 바인딩 즉 변수의 연관을 나타내기 위한 비트를 말하는 것이다. 중앙테이블의 설계와 변수 값이 임시적으로 대치 될 때 저장하는 방법에서 여려 변형이 있을 수 있다.모든 보관될 객체가 저장되는 “은폐 스택(hidden stack)”을 갖는 것.가장 깨끗하고 비용이 적게 드는 구현.비지역 변수에 대한 심층 접근과 피상 접근의 선택은 부 프로그램의 호출과 비지역 참조의 상대적인 빈도에 달려있다.6.7 Process‘실행중인 프로그램’이라는 뜻으로 쓰인다. 프로그램 또는 그 일부를 뜻하기도 하고, 데이터의 입력이나 출력 등을 조작하거나 처리하는 것을 말하기도 한다.부모 프로세스(parent process)라는 상위계층과 자식 프로세스(child process)라는 하위계층이 존재한다. 부모 프로세스는 프로그램이나 명령어에 의해 시작되며, 자식 프로세스는 부모 프로세스에 의해 만들어지는 것을 말한다. 하나의 부모 프로세스는 여러 개의 자식 프로세스를 관리하는데, 여러 개의 자식프로세스가 하나의 CPU에서 동시에 처리되는 것처럼 보이는 것을 멀티태스킹(multitasking)이라고 한다.유닉스나 몇몇 다른 운영체계에서는, 프로그램이 시작되면 프로세스도 시작된다. 태스크와 마찬가지로, 프로세스는 그 프로세스가 추적 관리될 수 있게 하기 위한 특정한 데이터 셋이 관련되어 실행 중인 프로그램이다. 여러 명의 사용자들에 의해 공유되고 있는 응용프로그램은 일반적으로 각 사용자들의 실행단계 1
Six Sigma & ISO 9126Ⅰ. Six SigmaSigma란?그리스문자로서 표준편차를 의미하며, 오류나 불량의 발생확률을 가리키는 통계학적 용어이다. 통계학 상 100만 번에 233회의 오류가 발생하는 수준을 5Sigma, 6,210회는 4Sigma, 3.4회의 오류 발생 수준은 6Sigma라고 한다.Six Sigma란?시그마(sigma:σ)라는 통계척도를 사용하여 모든 품질수준을 정량적으로 평가하고, 문제해결 과정과 전문가 양성 등의 효율적인 품질문화를 조성하며, 품질혁신과 고객만족을 달성하기 위해 전사적으로 실행하는 21세기형 기업경영 전략이다.통계적 척도로서 모든 프로세스(process:제조·사무·서비스 등의 업무에서 활동을 수행하는 시스템)의 품질수준이 6 σ를 달성하여 불량률을 3.4PPM(parts per million:제품 백만 개당 불량품 수) 또는 결함 발생 수 3.4DPMO(defects per million opportunities) 이하로 하고자 하는 기업의 품질경영 전략이다.효율적인 품질문화 정착을 위한 기업의 경영철학으로서 종업원들의 일하는 자세·생각하는 습관·품질 등을 중요시하는 올바른 기업문화의 조성을 의미한다. 여기서 효율적이란 주어진 여건 아래서 통계자료에 근거하여 최대의 효과를 올릴 수 있도록 지혜롭게 일하는 것을 뜻한다. 올바른 품질문화란 끊임없는 품질개선 노력을 통해 고객 요구에 맞는 품질의 제품을 경제적으로 설계·생산·서비스하기 위한 기업 문화이다.품질경영을 위한 기업전략으로서 모든 프로세스는 6 σ라는 품질수준의 목표를 가지고 있으며, 혁신적인 품질개선이 요구된다. 따라서 품질이 향상되고 비용이 절감되어 고객만족과 회사 발전이 실현된다.Six Sigma의 목적높은 품질수준을 확보하고 유지할 수 있는 혁신적이고 과학적인 기준을 제공하여 고객을 만족시키고 기업경영의 탁월성을 이루고자 하는 6시그마 운동의 궁극적인 목표는 품질개선 운동에 전 종업원이 참여하는 것은 물론 사무부분을 포함한 모든 프로세스의 질을 높이고 회사인 모토롤러는 1987년에 회사의 근본 목적인 “총체적 고객 만족”을 성취하기 위한 5개의 핵심 목표(6Sigma 품질, Total Cycle Time Reduction, 제품/제조/환경 분야에서의 Leadership, 수익성 향상, 그리고 Empowerment)를 발표하였다.Six Sigma의 과정효과적으로 추진하기 위해 고객만족의 관점에서 출발하여 프로세스의 문제를 찾아 통계적 사고로 문제를 해결하는 품질개선 작업과정을 ‘측정(measurement)·분석(analysis) ·개선(improvement) · 관리(control)’ 4단계로 나누어 실시하고 있다.첫 글자를 따서 ‘MAIC’라고 부르며, 우선 측정과 분석을 통해 제품의 문제점을 찾아내고, 문제해결방법을 제시하여 실제로 개선작업을 실행한다. 마지막으로 이 과정을 제어·감시하여 품질의 개선상태를 유지하는 것이다.Six Sigma 운동이 성공한 이유최고 경영자의 솔선수범6Sigma 품질 목표를 통한 모토롤러의 경영혁신은 최고 경영자인 CEO를 비롯한 경영층의 강력한 의지와 솔선수범으로부터 시작되었다. 품질경영의 성공을 위해서는 품질경영을 경영이념으로 인식할 수 있는 의식전환이 선행되어야 하며, 결국엔 품질경영이 기업의 문화로 정착되어야 한다는 점을 모토롤러의 최고 경영자는 잘 알고 있었다.비 제조부문과 협력업체에도 적용프로세스가 반복적으로 이루어지는 생산부문의 경우 일 백만 개중 3.4개의 불량률을 목표로 하는 데는 별 무리가 없었으나, 단속적 업무 형태의 비 제조부문의 목표설정이 문제였다. 그리하여, 단속적 업무의 6Sigma 활동을 위해서는 Team제를 활용하였다. 협력 업체들에게도 6Sigma 수준의 품질을 요구하였다.전통적인 접근과 Six Sigma적 접근의 차이분류전통적인 접근6Sigma적 접근개선 대상제품공정의 능력생산 활동시행착오강한 Design공정관리Tweaking(조정 관리)SPC(통계적 관리)설비성능현장에 맞는 설비분석경험Data문제해결일어난 후에 해결일어나기 전에 미리 해결의사K "http://www.ksim.co.kr/webzine/0102/history/6%BD%C3%B1%D7%B8%B6%20history.htm" http://www.ksim.co.kr/webzine/0102/history/6%BD%C3%B1%D7%B8%B6%20history.htmⅡ. ISO 9126ISO/IEC 9126(소프트웨어 품질 특성과 Metric에 관한 국제 표준)ISO/IEC 9126(Information Technology-Software Quality Characteristics and Metrics)은 품질특성 및 Metric을 정의하고 있는 표준으로 각 품질 특성별로 세부 Metric을 제시하고 있다.ISO/IEC 9126은 1991년에 제정된 후 1994년부터 품질특성과 내부와 외부 Metric을 조정하고 품질측정절차를 별도의 ISO/IEC14598 표준으로 분리하였다. 최근에는 이 두 표준을 합치기 위한 노력이 SQuaRE(Software Product Quality Requirements and Evaluation) 프로젝트라는 이름으로 진행되고 있다.ISO/IEC 9126의 품질 모델은 소프트웨어 품질을 측정하고 평가하기 위해 소프트웨어의 품질요소와 특성을 정의하고, 개발공정에서 품질을 객관적으로 정량화 하는데 요구되며, 일반적으로 이러한 품질모델은 계층구조로 세분화되어 표현된다.최상위 계층은 사용자 관점에서 소프트웨어의 품질목표를 정의하고, 제 2계층은 품질목표를 달성할 수 있는 광범위한 품질특성(Quality Characteristics)을, 제 3계층은 상위 특성을 구성하는 구체적인 부 품질특성(Sub Characteristics)을 갖게 된다. 그리고 최하위 계층에는 소프트웨어 특성을 측정하기 위한 Metric이나 품질인자가 위치하게 된다.ISO/IEC 9126은 소프트웨어 품질 특성과 척도에 관한 지침으로 고객관점에서 소프트웨어에 관한 품질특성과 부 품질특성을 정의하고 있다. 계층 구조의 품질 모형을 채택하고 있는 국제 표준품질특성은 하부에 품질 부 특성을 여러 개 포함하고 있는 형태를 취한다.각 품질 부 특성별로 세부 Metric을 제시하고 있으며, 이는 소프트웨어 개발과정에서 개발자들이 적용할 수 있는 내부 Metric과 소프트웨어 사용자들이 개발 초기 또는 개발 완료 후에 적용할 수 있는 외부 Metric으로 구성되어 있다. ISO/IEC 9126은 소프트웨어 제품에 대한 품질 요구 사항을 기술하는데 척도로 사용될 수 있다.ISO 9126 품질모형사용자 관점의 S/W 품질 목표 정의품질목표 달성을 위한 품질 특성상위 특성을 구성하는 구체적 품질 부 특성S/W 특성을 측정하기 위한 metrics or 품질인자ISO/IEC 9126 의 구성1)9126-1 : Part1-Quality Model(1998년)ISO/IEC 9126-1은 소프트웨어의 품질 특성을 다음과 같이 여섯 가지 특성으로 구분하고 이를 다시 부 특성들로 세분화한 품질 모델을 명시한다. 이러한 부 특성은 소프트웨어가 컴퓨터 시스템의 일부로 사용될 때 외부로 나타나며, 내부적인 소프트웨어 속성들의 결과이다.기능성 : 소프트웨어가 명시된 조건에서 사용될 때, 명시적 또는 묵시적으로 요구되는 기능을 제공해주는 소프트웨어 능력을 말한다.⇒ 내부 특성 : 적합성, 정확성, 상호 운용성, 보안성, 순응성 등신뢰성 : 명시된 조건에서 시스템의 성능이 일정수준을 유지하는 능력으로, 소프트웨어에서는 마모나 노화현상이 발생하지 않으므로 신뢰성의 한계는 요구사항, 설계 또는 구현에서 발생하는 결함에 기인한다. 이러한 결함은 사용 경과시간보다는 소프트웨어 제품의 사용방법과 선정된 프로그램 선택 사항에 따라 달라질 수 있다.⇒ 내부 특성 : 성숙성, 오류 허용성, 회복성 등사용성 : 소프트웨어가 명시된 조건에서 사용될 때, 사용자가 이해하고, 배우고, 사용 하고, 선호할 수 있도록 하는 능력을 말한다.⇒ 내부 특성 : 이해성, 학습성, 운용성 등효율성 : 명시된 조건에서 사용된 자원의 양에 비해, 상대적으로 요구되는 성능을 제공해 줄 력을 말한다.⇒ 내부 특성 : 적응성, 설치성, 공존성, 부합성, 치환성 등유지보수성 : 소프트웨어 제품이 변경되는 능력으로, 변경에는 환경과 요구 사항 및 기능적 명세에 따른 소프트웨어의 수정, 개선, 혹은 개작 등이 포함 된다.⇒ 내부 특성은 분석성, 변경성, 안정성, 시험성 등2) 9126-2 : Part2-External Metrics(1997년)ISO/IEC 9126-2는 소프트웨어가 사용될 경우에 외부적인 성질을 나타내는 소프트웨어 품질 Metric인 외부 Metric을 설명하고 있으며, 이러한 유형의 Metric은 소프트웨어 최종 제품에 대한 품질 요구사항과 설계 목표를 명시할 경우에 적용할 수 있다.3) 9126-3:Part3-Internal Metrics(2001년)ISO/IEC 9126-3은 내부적인 소프트웨어 속성을 기반으로 한 소프트웨어 품질 Metric인 내부 Metric을 설명하고 있으며, 이러한 유형의 Metric은 소프트웨어 중간 제품(분석 설계 단계 등의 산출물)에 대한 품질 요구사항과 설계 목표를 명시한 경우에 적용할 수 있다.4) 9126-4:Part4-Quality in Use Metrics(2001년)ISO/IEC 9126-4는 사용 중인 소프트웨어 속성을 기반으로 한 소프트웨어 품질 Metric인 사용 Metric을 설명하고 있다. 이러한 유형의 Metric은 소프트웨어의 최종 제품을 사용하는 동안에 대한 품질 요구사항과 설계 목표를 명시할 경우에 적용할 수 있다.참조소프트웨어 공학론, 김태달 저, 형설출판사(2004)http://sel.hoseo.ac.kr/sel/files/paper3.hwphttp://www.pdmc.or.kr/webzine/200308/focus_%5B2%5D.htm HYPERLINK "http://www.cio.or.kr/databank/files/SW%C1%A6%C7%B0_%B1%B9%C1%A6%C7%A5%C1%D8%C8%AD%C7%F6%C8%B2.pdf" http://www.cio.or.kr/df
제 8차 교육과정제 8차 교육과정에서는 제7차 교육과정에 이어 모든 교과의 학습 활동에 정보 기술을 활용하도록 명시하고 있으며, 더불어 단순한 활용을 떠나서 응용할 수 있도록 하고 있다. 따라서 초·중등 약 20여 개의 과목에서 각론에 정보 기술 활용을 부분적 또는 전체적으로 반영하였다. 이는 정보 교육이 모든 교과의 학습의 도구로써 흡수되고 더불어 더욱 응용할 수 있도록 생활 교육으로 전환되었음을 의미한다.초등학교의 경우 제 7차 교육과정에서 5·6학년에 실과 과목에 포함되어 있었으나 이 것이 따로 떨어져 나와 “컴퓨터 길라잡이”라는 하나의 교과목을 신설하였다. 게다가 학년이 내려가 4학년부터 컴퓨터를 활용하는 방법을 배우게 되는데, 전문적인 부분 뿐만이 아니라 생활 교육의 의미를 더욱 중요시 하여 다른 과목 또는 기타 다른 것에 응용 활용할 수 있는 방법들을 다루고 있다. 또한 부족한 부분에 관해서는 학교 재량시간을 활용할 수도 있게 하였다. 또한 바른생활(도덕)과목에 컴퓨터 윤리 단원을 추가하도록 하였다.편제 영역과목부과되는 학년 및 시간내용필수컴퓨터 길라잡이(시설)4~6학년(주당 2시간)4학년• 컴퓨터 다루기컴퓨터의 구성자판 다루기, 워드프로세서윈도우 다루기5학년• 컴퓨터 활용하기인터넷 사용하기컴퓨터로 그림 그리기컴퓨터로 음악 다루기6학년• 컴퓨터 응용하기홈페이지 꾸미기뉴스그룹 사용하기필수바른생활(도덕)4~6학년(주당 2시간)4학년컴퓨팅 윤리5학년인터넷 윤리(네티켓)6학년뉴스그룹 윤리재량시간없음1~6학년(주당 2시간)컴퓨터 교육시간으로 활용 제 8차 초등학교 컴퓨터교육 교육과정중학교의 경우 7학년(중 1)과 8학년(중 2) 기술·가정에 단원 수준으로 포함되어 있던 것이 따로 떨어져 나와서 하나의 과목으로 신설되었다. 따라서 1~3학년까지의 중학교 과정에서 필수적으로 가르치도록 하였다. 제 8차 교육과정에서는 정보화 사회에서 살아 남을 수 있도록 창의력과 응용력을 배양하도록 정보관리 및 처리 교육을 더욱 강화하도록 하고 있다. 또한 정보 처리능력 뿐만이 아니라 더욱 넓어진 컴퓨터의 사용에 따라 윤리 교육을 강화하도록 명시하고 있다.편제 영역과 목부과되는 학년 및 시간내 용필수정보사회와 컴퓨터(신설)7~9학년(중1~3)7학년• 컴퓨터와 정보 처리와 관리컴퓨터의 구조와 원리정보의 생산, 저장과 분배정보의 관리8학년• 컴퓨터와 생활소프트웨어의 활용인터넷의 활용9학년• 컴퓨터와 응용소프트웨어 응용인터넷의 응용 제 8차 중학교 컴퓨터 교육 교육과정고등학교의 경우 10학년(고1)과 11학년(고2)에 “정보사회와 컴퓨터” 과목을 신설하였다. 그 동안 선택과목으로 되었던 것을 필수적으로 가르쳐 기본적인 정보사회에 적응할 수 있는 기본적인 소양을 기르고 더불어 정보를 처리, 관리 하여 정보화사회를 이끌어 나가는 일원을 만들기 위한 교육을 시행한다. 또한 적극적인 태도와 올바른 가치관 및 컴퓨팅 윤리교육을 강화하여 정보화 사회에 알맞은 인재를 양성하는데 그 목적이 있다.편제 영역과 목부과되는 학년 및 시간내 용필수정보사회와 컴퓨터(신설)10,11학년(고 1,2)기존의 교과목 심화 학습 제 8차 고등학교 컴퓨터교육 교육과정중학교 컴퓨터컴퓨터 과목은 6개 영역으로 구성되었고, 난이도가 낮은 것부터 높은 순서로 구성되었으며, 각 영역의 세부 내용은 과 같다.영 역학습 내용학습 방법인간과 컴퓨터기초 상식이론적 학습컴퓨터와 윤리기초 상식, 윤리이론적 학습컴퓨터의 기초실습을 위한 준비공통적인 이론 및 실습워드 프로세서문서적인 정보 처리수준별 실습인터넷정보의 획득과 활용수준별 실습멀티미디어멀티미디어 자료의 활용수준별 실습 컴퓨터 과목의 내용 체제각 영역은 생활에서의 사용 빈도와 중요도, 난이도 및 활용도에 따라 구성하며, 와 같은 비율로 교과서의 내용을 구성한다.영역인간과컴퓨터컴퓨터와윤리컴퓨터의기초워드프로세서인터넷멀티미디어비율5%30%10%15%20%20% 영역별 비율모든 영역은 일반 생활에서 활용할 수 잇는 내용을 중심으로 구성하는 것을 원칙으로 하였으나 “인간과 컴퓨터” 영역에서는 기초적인 상식을 다루고, “컴퓨터 윤리” 영역에서는 더욱 중요시된 인터넷 및 뉴스 그룹 사용시의 예절 및 네티켓을 다루고 있다. “컴퓨터의 기초” 영역에서는 다음 영역부터 실습할 기초적인 기식과 준비를 위한 기능을 습득하는 내용으로 구성된다. 영역별 내용은 과 같다영 역내용Ⅰ. 인간과 컴퓨터1. 컴퓨터의 발달컴퓨터의 탄생컴퓨터의 변천과정컴퓨터 시스템의 구성2. 컴퓨터와 인간생활사회발달과 정보처리정보화 사회와 컴퓨터3. 컴퓨터와 일직업의 이동정보 산업과 직업컴퓨터의 활용Ⅱ. 컴퓨터와 윤리1. 컴퓨터와 윤리컴퓨터 윤리의 필요성2. 인터넷과 인간관계인터넷의 특징인터넷 윤리의 필요성3. 컴퓨터와 지적재산권지적재산권의 의미지적재산권의 보호지적재산권과 윤리Ⅲ. 컴퓨터의 기초1. 컴퓨터의 구성과 조작하드웨어소프트웨어운영체제 다루기2. 소프트웨어의 구성시스템 소프트웨어응용 소프트웨어유틸리티Ⅳ. 워드 프로세서1. 문서의 작성과 편집메뉴 사용 방법도구 사용 방법문서의 입출력과 저장문서의 수정2. 그림 그리기그림 도구의 사용그리기객체 편집3. 표 작성표 만들기와 편집자료 입력과 계산Ⅴ. 인터넷1. 인터넷의 역사인터넷의 개념인터넷의 역사인터넷의 발전 과정2. 인터넷의 활용정보 찾기와 활용전자 우편홈페이지 만들기3. 인터넷의 미래인터넷의 발전 방향미래의 인터넷Ⅵ. 멀티미디어1. 그림자료 만들기소리 자료의 입력과 저장소리의 녹음과 재생소리 자료의 편집2. 소리자료 만들기그림 자료의 입력과 저장2D 그래픽 프로그램3D 그래픽 프로그램그림 그리기와 편집3. 동영상 자료 만들기동영상 자료의 입력과 저장동영상 자료 만들기와 재생동영상 자료의 편집4. 멀티미디어 제작명함 만들기학급 신문 만들기졸업앨범 만들기 제 8차 교육과정에서 중학교 컴퓨터 과목의 내용.일반계 고등학교 정보 사회와 컴퓨터현 세기는 정보화 사회이기 때문에 일상 생활에서 컴퓨터를 사용하는 비중이 매우 높다. 또한 컴퓨터를 이용하여 직접 자신의 일을 처리하고 있다. 정보 사회와 컴퓨터 과목의 내용은 사회 발달과 컴퓨터, 컴퓨터의 운용, 워드프로세서, 스프레드시트, 프리젠테이션, 멀티미디어, 인터넷 등의 7개 영역으로 구성되며, 개념과 원리를 쉽게 이해 할 수 있도록 구성하고 있다.이 과목은 실습을 통한 체험적 학습에 의하여 기능과 원리를 터득하고, 컴퓨터를 능수능란하게 사용하여 문제를 해결하는 능력과 태도를 갖추며, 일상 생활 및 직업 생활에서 자신이 필요한 일을 처리하기 위한 컴퓨터 응용 방법을 익힐 수 있는 필수 과목이다.정보 사회와 컴퓨터 과목의 영역별 내용은 과 같다.영 역내 용사회발달과 컴퓨터정보화 사회사회 발달과 정보화정보화 사회와 정보 산업생활과 컴퓨터컴퓨터 시스템의 구성 요소컴퓨터 시스템의 개념하드웨어의 구성소프트웨어의 구성컴퓨터 정보 처리 시스템데이터의 표현수와 진법정보 코드소리와 그래픽 정보 표현컴퓨터의 운용운영 체제의 역할운영 체제의 개념운영 체제의 기능운영 체제의 종류윈도우윈도우의 개념아이콘 조작컴퓨터 조작 및 관리워드 프로세서문서의 작성문서 입력과 저장글자와 문단 모양문서의 장식과 인쇄 설정문서의 편집불러오기와 수정블록 편집찾아 바꾸기와 다단 편집표 문서표 작성표의 편집그래프 작성그림과 메일 머지그림 넣기와 문단 편집그림 그리기와 편집메일 머지스프레드 시트전자 계산표 작성자료 입력과 계산자료의 편집파일 관리와 프린트위크 시트 작성서식 지정통합 문서의 처리차트와 데이터 관리차트의 작성차트 꾸미기와 삽입레코드 관리프리젠테이션프리젠테이션 기법프리젠테이션의 중요성프리젠테이션의 기법프리젠테이션의 작성서식 적용서식 편집마스터 관리자료의 삽입과 편집그림 자료의 삽입과 편집소리 자료의 삽입과 편집동영상 자료의 삽입과 편집차트 및 표 관리차트의 작성과 편집표의 작성과 편집멀티미디어소리 데이터소리 입력과 저장소리 편집소리 데이터 응용그래픽 데이터2D 그래픽 소프트웨어 활용3D 그래픽 소프트웨어 활용그림 그리기와 입력그래픽 편집동영상과 애니메이션동영상과 애니메이션의 개요동영상 제작과 편집동영상 프로그램의 활용애니메이션 응용멀티미디어 제작전자 앨범 제작학교 소개 타이틀인터넷컴퓨터 통신망의 개요컴퓨터 통신의 개요근거리 통신망원거리 통신망인터넷인터넷의 개요브라우저의 사용정보의 검색전자 우편 활용홈페이지 작성 및 관리홈페이지의 개요홈페이지 작성멀티미디어 홈페이지 작성홈페이지 관리 정보 사회와 컴퓨터 과목의 영역별 내용
Service Oriented Architecture(SOA)서비스 중심 아키텍처(SOA: Service-oriented architecture): 잘 정의된 인터페이스들을 가진, 재사용이 가능한 일련의 컴포넌트들로 구축되는 기술건축방식.SOA는 분산 소프트웨어 모델이다. SOA의 핵심 컴포넌트에는 서비스, 동적 발견, 메시지가 포함된다.SOA는 서비스들을 중심으로 잡고 있다. 여기서 말하는 서비스란 비즈니스 프로세서(예를 들면, 신용카드 거래를 인증하거나 구매 주문을 처리하는 일)를 수행하는 일련의 소프트웨어 컴포넌트들을 말하는 것이다. 가장 단순한 형태의 SOA는 네트워크 상에서 서로 통신을 하는 서비스들이라고 할 수 있다. 그 서비스들은 느슨하게 연결되어 있고 (한 어플리케이션이 다른 어플리케이션과 대화하기 위해 그 어플리케이션의 기술적 세부사항을 알 필요는 없다는 의미), 잘 정의된 플랫폼 독립적 인터페이스들을 갖고 있으며, 재사용이 가능하다. SOA는 어플리케이션 개발 과정에서 더 높은 층을 의미하며[굵은 입도((coarse granularity)로도 불림], 비즈니스 프로세서에 초점을 맞추고 표준 인터페이스를 사용함으로써, IT 환경이 가진 근본적인 기술적 복잡성을 덮어준다. 이것은 고등학교 과학 교과서를 유치원 아이들에 맞게 번역하는 것과 같다. 그것은 심장의 승모판과 폐정맥을 다루지 않고도 심장이 피를 보내는 일을 아이들에게 설명할 수 있는 것과 같다.SOA의 원리서비스를 정의하기 위해 구현과 독립된 인터페이스를 사용위치 투명성과 상호운용 성을 강조하는 통신 프로토콜 사용재사용할 수 있는 비즈니스 함수를 캡슐화하는 서비스 정의SOA 도입에 따른 이익1. IT환경을 통합하는 일을 더 쉽게 해 준다.2. 재사용이 가능하기 때문에 개발 비용도 줄어든다.3. 기존 시스템을 대체할 필요가 없이 그 기능을 파악한 후 그것을 활용 함으로써 위험을 최소화 하면서 기존 IT 투자의 가치를 극대화 할 수 있다.4. 내부 프로세서가 부드러워지고, 고객과 비즈니스 파트너들과는 회사의 방화벽을 넘어서 더 쉽게 정보를 공유할 수 있게 된다.5. CIO와 비즈니스 중역들 사이의 대화를 더 매끄럽게 해 줄 수 있다.6. 기업은 실시간으로 더 많은 비즈니스 성과 데이터를 추출할 수 있어 비즈니스 지능을 높일 수 있다.7. SOA가 완벽하게 구축된다면, 변화하는 비즈니스 요구와 매 순간 바뀌는 시장 조건들에 대한 기업의 적응력은 크게 높아질 것이다.8. 통합이 쉬워지고 민첩성이 높아짐으로써 ROI가 높아진다웹 서비스가 SOA에서 하는 역할SOA는 웹 서비스를 반드시 필요로 하는 것이 아니다. 그리고 웹 서비스도 SOA 없이 배포될 수 있다. 웹 서비스가 이 원리에 완벽하게 맞기는 하지만 유일한 기술은 아니다. 하지만 SOA 어플리케이션 개발에 웹 서비스가 선택되는 이유는 다음과 같다.웹 서비스는 오픈 표준과 플랫폼 독립적인 프로토콜의 상단에 구현된다.웹 서비스는 서비스 제공자와 사용자 통신에 HTTP를 통한 SOAP(XML 기반 프로토콜)을 사용한다.서비스는 WSDL(Web Service Definition Language)로 정의된 인터페이스로서 노출된다.문법은 XML로 정의된다.언어 독립적인 프로토콜인 UDDI는 레지스트리들 간 인터랙팅과 서비스 검색에 사용된다.이 모든 기능들 때문에 SOA 어플리케이션 개발에 웹 서비스가 최상의 선택이 되는 것이다.SOA의 다양한 역할SOA를 구현하기 위해서는 어플리케이션과 인프라 모두 SOA 원리를 지원해야 한다. SOA용 어플리케이션을 실행하려면 직접 또는 어댑터를 사용하여 기존 함수 또는 새로운 함수에 대한 서비스 인터페이스를 생성해야 한다. 가장 기초적인 수준에서 인프라를 가동하려면 서비스 요청을 정확한 서비스 공급자에게 라우팅 및 전달하는 기능이 필요하다. 인프라가 서비스의 대체 구현을 클라이언트에 영향을 주지 않고 지원하는 것도 중요하다. 이는 그 서비스 인터페이스가 SOA 원리에 따라 지정되어야 할 뿐만 아니라 인프라에서도 클라이언트 코드가 서비스 위치와 통신 프로토콜과 독립적인 방식으로 서비스를 호출할 수 있어야 한다. 적절한 서비스 레벨과 관리 편의를 제공하고 이종 환경에서 작동할 수 있게 한다.
Ver.12004-10-24Hotel Management System TITLE * MERGEFORMAT 요구사항 명세서1. 서론1.1 목적고객이 어떤 서비스를 원하고, 어떤 것들을 지원해야 할지, 그리고 시스템의 스펙은 어떠할지를 정의하기 위함.1.2 범위이 문서는 호텔 관리 시스템을 위한 사용자 측의 최초 요구사항을 기술한 문서이다.이 문서는 수시로 수정될 수 있다.1.3 용어 정의사용자 : 호텔 내부에서 시스템을 사용하는 호텔 직원을 말한다.프론트 : 고객들이 빈번히 출입하는 곳으로 고객의 입숙 절차, 메시지 확인, 각종 안내, 환전, 귀중품 보관, 불평불만 철., 퇴숙 절차 등을 행하는 곳.1.4 참고문헌2. 사용자 요구사항1. 고객 측면1.1. 예약부분고객은 룸의 예약상황을 확인하고 예약하고 취소할 수 있다.고객은 부대시설의 예약상황을 확인하고 예약 및 취소 할 수 있다.고객은 부대시설에서 사용할 기자재를 사용 신청 할 수 있다.1.2. 결제부분고객은 인터넷으로 사용요금에 대해 현금 및 카드로 결제 할 수 있다.1.3. 개인정보부분고객은 인터넷으로 회원가입을 하고 자신의 개인정보를 확인 및 수정 할 수 있어야 한다.고객은 자신의 지금까지의 투숙정보 및 마일리지를 확인할 수 있어야 한다. 단, 회원가입 고객에 한한다.2. 사용자 측면2.1. 프론트부분2.1.1. 사용자는 고객관리 및 응대를 할 수 있다.2.1.2. 사용자는 고객이 요청한 룸 서비스를 확인할 수 있어야 한다.2.1.3. 사용자는 방에 투숙한 고객이 체크아웃시 이 고객의 투숙한 날에 따른 요금과 룸 서비스 가격, 사용한 소모성 물품등에 대한 가격을 알 수 있어야 한다.2.2. 인사부분2.2.1. 사용자는 이 호텔에서 일하는 모든 직원들의 신상정보와 근무일, 근무일수에 따른 월급을 알 수 있어야 한다.2.3. 회계부분2.3.1. 사용자는 호텔의 월별, 분기별, 반기별, 년별의 고객 투숙정보 및 수입을 확인 및 출력 할 수 있어야 한다.2.4. 객실부분2.4.1. 사용자는 객실상태를 열람할 수 있어야 한다.2.4.2. 사용자는 방과 호텔에 비치된 각종 물품 등을 관리 할 수 있어야 한다.System ArchitectureQuality Attribute 우선순위에 따라서 Layered 아키텍처를 이용하여 사용자 측이 보는 View Layer, 인증을 처리하는 Verfication Layer, 사용자가 원하는 기능을 처리하는 Controller Layer, DB에 접근하는 Model Layer, 트랜잭션 등 공통기능을 담당하는 Utillity Layer, 으로 분리한다.그리고 변경성을 위해 각 Layer에서의 컴포넌트들은 파이프와 필터 아키텍처를 이용하여 서로 독립적인 기능을 수행하도록 만든다.4. 시스템 요구사항Function예약Description시스템은 룸,부대시설의 예약상황을 확인, 예약, 취소요청을 받을 수 있다.시스템은 부대시설 기자재를 사용 신청 받을 수 있다.Inputs고객ID, 사용시각, 사용인원, 사용객실, 부대시설Source사용시각, 사용인원, 사용객실, 부대시설은 사용자로부터 오고, ID및 고객정보는 DB에서 로드한다..Outputs예약 내용 확인서, 시스템에 예약 정보 등록Destination객실현황DBRequiresPrecondition웹페이지에 고객이 로그인 상태여야 한다.Post-condition고객정보와 객실DB에 예약상태 등록Side-effects다른 고객ID와 예약시각, 예약객실이 중복되면 예약불가를 알리고 예약페이지의 처음으로 돌아간다.Function결제Description시스템은 인터넷으로 사용요금에 대해 현금 및 카드로 결제 받을 수 있다.Inputs고객ID, 객실 이용 정보, 이용 과금 정보, 결제정보Source결제정보는 사용자로부터 오고, 고객ID, 객실 이용 정보, 이용 과금 정보 는 DB에서 로드된다.Outputs결제 확인 페이지, 시스템에 결제 정보 등록Destination고객정보DB, 결제요금DBRequiresPrecondition결제 대상 객실 정보와 요금 청구 사항이 사용자페이지에 열려있어야 한다.Post-condition결제 완료, 확인Side-effects결제 과정에서 오류가 발생할 경우 결제 작업을 종료하고 초기화한다Function개인정보.Description시스템은 고객이 인터넷으로 회원가입을 하고 개인정보를 확인 및 수정할 수 있도록 해야 하고, 투숙정보 및 마일리지를 확인할수 있도록 해야 한다.Inputs고객ID, 갱신할 개인정보Source고객ID와 갱신할 개인정보는 사용자로부터 오고, 그 ID에 관한 고객정보는 DB에서 로드된다.Outputs고객정보 View페이지Destination고객관리DBRequires회원으로 가입된 고객에 한해 제공한다Precondition고객이 웹페이지에 로그인되어 있어야 한다.Post-condition확인된 고객정보Side-effectsFunction프론트부분.Description시스템은 객실에 고객이 투숙하도록 체크인 정보를 등록한다..Inputs고객 정보, 객실IDSource고객정보는 사용자로부터 오고, 객실정보는 DB에서 로드된다.Outputs등록 확인 페이지, 시스템에 객실 사용 등록Destination객실관리DB, 고객관리DBRequiresPrecondition사용 가능한 객실에 관한 View페이지가 열려있어야 한다.Post-condition추가된 정보가 등록된 시스템 DBSide-effectsFunction프론트 객실관리Description시스템은 고객이 요청한 룸 서비스를 DB에 등록하고 서비스부서에 고객의 요청을 알려주어야 한다.Inputs요청 정보, 객실IDSource요청정보와 객실ID는 사용자로부터 오고, 객실ID에 따른 객실정보는 DB에서 로드된다.Outputs접수 확인 페이지,Destination고객 관리 DBRequiresPrecondition룸서비스 접수 페이지가 사용자 화면에 열려있어야 한다.Post-condition요청 정보가 등록된 DBSide-effectsFunction프론트 객실관리Description사용자는 방에 투숙한 고객이 체크아웃시 이 고객의 투숙한 날에 따른 요금과 룸 서비스 가격, 사용한 소모성 물품등에 대한 가격을 합산해서 청구할 수 있어야 한다.Inputs객실ID, 과금정보Source객실ID는 사용자로부터 오고, 객실ID에 따른 과금정보는 DB에서 로드된다.Outputs요금 청구 페이지Destination결제정보DBRequires예약시에 결제한 고객인지 아닌지 확실히 판별 가능해야 한다.Precondition체크아웃 등록 페이지가 사용자 화면에 열려있어야 한다.Post-condition갱신, 추가된 정보가 등록된 시스템 DBSide-effectsNodeFunction인사부분Description시스템은 이 호텔에서 일하는 모든 직원들의 신상정보와 근무일,근무 스케줄 정보를 보여주고, 근무일수에 따른 월급을 계산하여 제공해야 한다.Inputs직원IDSource직원ID는 사용자로부터 오고, 직원ID에 따른 직원 정보는 직원관리DB에서 로드된다.Outputs직원 정보Destination사용자의 View페이지Requires인사부 이외의 사용자는 접근해서는 안된다.Precondition조회 페이지가 사용자의 화면에 열려 있어야 한다.Post-conditionSide-effectsFunction회계부분Description시스템은 호텔의 월별, 분기별, 반기별, 년별의 고객 투숙정보 및 수입을 사용자가 확인할 수 있도록 계산된 정보를 사용자에게 제공할 수 있어야 한다.Inputs분기정보, 영업실적정보Source분기정보 사용자로부터 오고, 그 기간에 따른 영업실적정보는 DB에서 로드된다.Outputs분석, 계산된 분기별 영업 실적Destination사용자의 View페이지Requires회계부 이외의 사용자는 접근해서는 안된다.Precondition조회 페이지가 사용자의 화면에 열려 있어야 한다.Post-conditionSide-effectsFunction객실부분Description시스템은 객실상태와 관련된 각종 물품 등을 관리 할 수 있어야 한다.Inputs자재 별 분류IDSource자재 별 분류ID는 사용자로부터 입력받고, 자재현황은 DB에서 로드된다Outputs자재 현황Destination조회 View 페이지RequiresPrecondition조회 페이지가 미리 사용자의 화면에 열려있어야 한다.Post-conditionSide-effects6. 시스템 모델클래스 다이어그램으로 나타낸 시스템 모델