1. 객체는 반드시 클래스로부터 탄생(생성)된다.{객체클래스속성 = 변수기능 = 메소드2. Object-Oriented Programming Language (OOPL)의 3가지 특징1 Encapsulation2 Inheritance3 polymorphism⇒ 이 중 2 Inheritance 와 3 polymorphism을 지원하지 않는 언어를객체 기반 언어(Object Based Language)라고 함ex) 자바 스크립트(Javascript)캡슐화.*객체를 캡슐화하여 what 만 보여주고 how는 감춘다.*객체를 작성할 때 숨겨야하는 정보(data-private)와 공개하는 정보 (method-public)를 구분 하 여 작성*객체의 사용자는 기능만 알고 사용하며 어떻게 처리되는지는 은폐한다.{private데이터비공개{publicpublicpublicmethod(공개)3. 캡슐화의 장점1 객체에 포함된 정보의 손상과 오용을 막는다.2 객체의 조작방법이 바뀌어도 사용방법은 바뀌지 않는다.3 데이터가 바뀌어도 다른 데이터의 영향을 주지않아독립성이 유지된다.4 재사용이 가능하다.5 처리된 결과만 사용가능 이식성 강하다.6 부품처럼 사용할 수 있다.7 멤버변수의 한정자. data-private, method-public4.클래스 -클래스헤더{-클래스 멤버 - 멤버변수 - 객체속성변수(8가지 기본 타입형태의변수)- 생성자 - 객체참조변수 object 타입형태의 변수- 메소드1 public class Shirt 클래스 헤더2 { -클래스멤버3 public static void main(String[] args)4{5 double price = 29.99; 자동 변수6 int ID = 42889;7 System.out.println("Shirt price: "+price);8 System.out.println("Shirt ID: "+ID);9 } →10 }local variable : 메소드 안에서 선언된 것들 (=automatic variable), 받드시 초기화가 em.out.print("1.x = " + x + ".");x=10; x-=y; System.out.print("2.x = " + x + ".");x=10; x*=y; System.out.print("3.x = " + x + ".");x=10; x/=y; System.out.print("4.x = " + x + ".");x=10; x%=y; System.out.print("5.x = " + x + ".");x=10; x&=y; System.out.print("6.x = " + x + ".");x=10; x|=y; System.out.print("7.x = " + x + ".");x=10; x^=y; System.out.print("8.x = " + x + ".");x=2; x=y; System.out.print("10.x = " + x + ".");x=2; x>>>=32; System.out.print("11.x = " + x + ".");}}결과값1.x = 12.2.x = 8.3.x = 20.4.x = 5.5.x = 0.6.x = 2.7.x = 10.8.x = 8.9.x = 8.10.x = 0.11.x = 2.Process Exit...public class ShiftOperators{public static void main(String args []){System.out.println("102 = " + (10>>2));System.out.println("10>>>2 = " + (10>>>2));System.out.println("-10>>>2 = " + (-10>>>2));}}결과치102 = 210>>>2 = 2-10>>>2 = 1073741821Process Exit...11. instanceof 연산자{구분사용예결과▶ 왼쪽의 핸들 변수의 형이 오른쪽 클래스와 동일할때string s = new string("abc");if (s instanceof string) ...true▶왼쪽의 핸들 변수의 형이 오른쪽클래스의 하위 클래스일때string s = nSecurityException-대개의 경우 applet에서 발생한다.-로컬파일에 접근하려고 할때 발생-애플릿이 다운로드되어진 호스트가 아닌 또다른 호스트에 접근하려고 할때 발생3예외처리◎Error, RunTimeException 클래스와 관련된 예외는 처리효율보다는 처리에 드는 노력이 너무 커 자바프로그램에서 처리하지않고 JVM에서 처리를 맡는다.◎Error, RunTimeException 클래스외에 다른클래스들과 연관된 예외들은 자바프로그램에서 직 접처리해야 한다.(처리하지 않으면 Compile 시 에러)◎예외를 처리하는 방법⇒예외가 발생된 메소드내에서 처리하는 방법(try,catch 절 사용)⇒예외가 발생된 메소드를 호출한 메소드에서 예외의 처리를 넘겨주는 방법(throws 절 사용)4사용자 정의 예외▶사용자는 새로운 예외를 정의하여 사용할 수 있다.▶새로운 예외는 반드시 Exception 클래스로부터 상속되어 생성되어야 한다.Class UserException extends Exception{//사용자 정의 예외는 Exception 클래스로부터 상속.public UserException(String message){//생성자에게 값을 넘겨줌.(String 문자열)super(message);//상위클래스인 Exception 클래스의 생성자를 호출하여 예외객체 생성.}}5예외 처리 방법 1.(try. catch . finally 블록 사용)1. 예외처리 방법중 예외가 발생한 메소드내에서 직접 처리하는 방법.try {....//try 블록 ! 예외가 발생한 가능성이 있는 문장을 지정한다.} ex) (ArithmeticException e)catch (예외타입 1 매개변수1) {//예외처리 블록1 : 예외의 종류에 따라 처리하는 처리블럭}catch (예외타입2. 매개변수2){//예외처리블럭2} finally { // 마감하는 작업을 주로한다.// finally 블록 : 예외의 발생여부와 상관없이 무조건 수행되는 블록.}2. 예외의 인위적 발생★ 프로그램에서 인e with the -deprecation flagjavac -deprecation Name.java== operator vs equals() (6-30){{. == (relation operator) :. equals( ) :Object 클래스 안에 들어 있음⇒ 단, equal( )는 String, Wrapper class에 한해서는 object의 content내용이 같은지 비교class A {......A a = new A();A a1 = new A();String s = new String("Hello");String s1 = new String("Hello");String s2 = "Hello"; // 리터럴 pool에 생성하여 같은 문자열일String s3 = "Hello"; // 경우 같은 곳을 가리킴if (a == a1) // falseif (a.equals(a1)) // falseif (s==s1) // falseif (s.equals(s1)) // trueif (s2 =s3) // trueif (s2.equals(s3)) // true// String이 primitive data형처럼 생성될 경우 동일한 문자열이 있다면 같은 것을 가리키지만new라는 것에 의해 reference로 생성이 되면 항상 새로운 것을 pointing한다toString() Method (6-32). java.util 에 있다.. converts an object to a StringWrapper Class (6-39). primitive data type들을 wrapping 하고 있는 class{Primitive data typeWrapper classbooleanBooleanbyteBytecharCharactershortShortintIntegerlongLongfloatFloatdoubleDoublepublic class IntegerClass {public static void main(String[] args) {String s = "255";int i = Inte 넣을 수도 있다. 만약 여러분의 객체 가 끝나버릴때 어떠한 일을 수행하도록 하고 싶다면 finalize() 메쏘드를 오버라이드하면 된다. 자바는 객체가 쓰레기 수거되기 바로 직전에 finalize() 메쏘드를 구동시킨다. 따라 서 여러분은 이 메쏘들 이용해 그 객체가 외부에 할당하고 있는 다른 리소스를 해 제 시켜줄 수가 있다. 고전적인 예제가 객체가 열어둔 파일이 계속해서 열려 있을 수 있게 되는 경우이다. 객체는 그 파일이 닫혀져 있는지를 finalize()코드 내에서 확인하고 그것을 닫을 수 있다.자바는 여러분의 프로그램에서 각 객체마다 정확히 한번만 수행될 것이다. finalize()는 protected로 선언되어 있으며 리턴값이 없고 Throwable 객체를 던진다.또한 여러분 자신의 객체에 대한 finalize()메쏘드를 구동할 수 있다. 일반 적으로 finalize()메쏘드를 자신을 위해 구동시키지는 않을 것이다. 그러나 자바가상 머신이 이를 여러분들을 위해 대신 해 줄 것이다. 만약 여러분이 finalize()를 구동 한다면, finalize()가 Throwable을 던지는 것으로 선언 되었는지를 확인하라. 그리고 protected로 선언되었는지도 확인하라. 그래야만 올바른 접근 권한을 갖는 객체만이 이 메쏘드를 구동할 수 있기 때문이다.finalize()를 오버라이딩 하고 있을 경우에 항상 여러분들 자신의 수퍼클래스의 finalize()메쏘드를 여러분들의 메쏘드에서 실행하도록 해 주야 한다.주의 할 것은 여러분이 try와 catch블럭을 finalize()메쏘드 내에서 실행할 경우에 잡히지 않은 예외(exception)들은 무시된다. 공식 문서에서는 finalize()가 프로그램이 exit할때 모든 객체에 대해서 실행된다고 하고 있다. 그러나 어떤 플렛폼이나 자바의 예전버전에서는 이것이 항상 적용되는 말은 아니다. 때때로 finalize()는 단지 자바 가상머신이 메모리 부족을 느끼지 않을 경우에는 실행되지 않는다. 따라서 이때는 직접 쓰레기0; i
제 2장 ERP 개요보유기능: ERP 패키지 부류에 속하는 기능1. 산업별 복합기능의 지원하나의 기업에서 다양한 업종과 제품을 취급하는 경우반복적 생산에서 연속생산, 프로젝트형 생산까지 지워물류, 유통, 금융 및 공공업무 지원2. 분산/통합 지원업무적 분산/통합 지원: 회계, 인사, 영업, 설계, 생산, 물류 기능간의 분산/통합 지원조직적 분산/통합 지원: 본사/지사, 사업부, 영업소, 물류센터 등 기업 내에 조직상으로 분리된 업무의 분산 및 통합 지원 기능지역적 분산/통합 지원: 고객, 거래처, 공급자, 협력업체 등 지역적으로 분산된 기업 외부의 거점과의 분산/통합 지원 기능3. 다국적 기업지원글로벌 기업/다국적 기업 지원: multi-language, multi-currency 지원각국의 회계나 세무 제도에 맞도록 각국화한(Localization)한 기능.4. 설치 및 시스템 설정 용이PC용 프로그램 같이 설치 용이, version-up 용이Parameter 설정/재설정 용이기준정보 설정을 위한 산업별, 업부별로 표준 템플릿 제공/복사하여 사용 가능5. 패키지 제공 기능의 수정과 변경필요에 따라 기업에서 요구하는 기능에 대해 기존 패키지의 메뉴, 화면, 보고서, 데이터 등을 쉽게 추가 및 변경 할 수 있는 기능 지원6. 추가설계 및 개발지원기업에서 요구하는 추가업무 개발과 그 연계가 용이추가되는 업무가 전문적이기 때문에 지원이 되지 않으면 쉽게 연계가 되어야 함: Risk Management, CAD, PDM, EDI, 프로젝트관리, JIT, Forecasting, scheduling, 운송관리, 자동화관련 패키지API(Application program Interface) or BAPI(Business Application Programming Interface) 확보data conversion 방법 제공7. BPR 지원상위레벨 BPR, 업무프로세스와 단위 업무를 분석하여 ERP 시스템과 연결하는 Mapping 작업 후 세부레벨의 BPR 진행.8. 시뮬레이션 기능CRP, Forecasting, MPS, Scheduling에 대한 시뮬레이션 기능 지원이 가능해야 함.9. 사용자 중심의 GUI 및 멀티미디어 지원10. 다양한 하드웨어와 소프트웨어의 유연한 지원: H/W, S/W, Network, DB11. 최신의 컴퓨터 기술 내장클라이언트/서버 구조, 분산 데이터 관리객체지향 구조와 언어4세대 언어, CASE(Computer Aided Software Engineering) 도구12. 정보기술 지원과 연동 기능: 데이터 웨어하우징 기술, EDI 지원13. 웹지원 기능: 기업의 출장자, 고객, 공급자 등이 어디서나 ERP 시스템과 접속 가능구축환경: 클라이언트/서브 시스템클라이언트/서브 시스템의 구성 요소프리젠테이션 요소(Presentation Component): ERP 시스템의 응용프로그램과 현업 사용자간의 인터페이스를 관리비즈니스 요소(Business Component): Application Processing Logic Component, COBOL, C, 4GL 등으로 작성된 ERP 프로그램을 사용하여 데이터를 변형시키는 작업을 수행데이터 관리 요소(Data Access Component): 데이터의 처리와 변경을 관리하며, 데이터 베이스 관리 소프트웨어를 사용하기도 함.1. 클라이언트/서브 분산형태분산 프리젠테이션형(Distributed Presentation)서브: 사용자 인터페이스 관리, DB, P클라이언트:P, B원격 프리젠테이션형(Remote Presentation)서브: B, DB클라이언트:P분산 로직형(Distributed Logic): 분산기능형서브: B(데이터 처리 응용 프로그램)클라이언트: B(사용자의 데이터 입출력 응용 프로그램)원격 데이터 관리형(Remote Data Management)서브: DB클라이언트:P, B분산 데이터 관리형(Distributed Data Management)서브와 클라이언트에 응용 프로그램의 DB가 분산되어 있음구성형식에 따른 3가지 계층일층구조 애플리케이션(One Tiered Applications)강력한 호스트 컴퓨터(메인/미니급): 프리젠테이션, 애플리케이션, DB관리터미널이층구조 애플리케이션(Two Tiered Applications)클라이언트 비대형: 강력한 PC 클라이언트(P,B)단순 서버: DB관리서버 비대형: 강력한 미니 컴퓨터 서버(P,B, DB )단순 클라이언트: P, B삼층구조 애플리케이션(Three Tiered Applications)서브 1: 애플리케이션 로직 서브서브 2: DB 관리 서브클라이언트 1,…,N: 프리젠테이션사용자 인터페이스문자형 UI(User Interface): 윈도 기능 없음, 고정된 폰트 크기, 화면 탐색 기능이 ‘완료, 그리고 진행’ 형태GUI-1세대: 그래픽 환경을 지원하고 있으나 화면의 80% 이상이 텍스트로 구성, 화면 탐색 기능이 ‘완료, 그리고 진행’ 형태GUI-2세대: 화면의 50% 이상이 아이콘이나 풀다운 메뉴로 구성되어 그래픽으로 제어, , 화면의 크기를 조절, 다양한 폰트GUI-3세대: GUI-2세대 + 멀티미디어 기능, ERP 애플리케이션 패키지와 타 애플리케이션간의 데이터 교환이 가능
ERP의 배경과 추세1. ERP의 배경기업의 4가지 장수 비결기업의 내외적 경영환경 변화에 재빠르게 적응 할 수 있는 민첩성기업문화를 바탕으로 구성원을 단결시키는 결속력보수적 자금운용효율적 투자기업환경의 변화기업의 세계화국제화무역자유화에 의한 무역장벽 파괴기업의 경쟁자는 전세계 기업다국적 외국 기업의 국내 진출국내 기업의 세계화 공장 추진다국적 기업의 관리 수단으로 국제화, 세계화가 가능한 정보 시스템의 요구정보의 다량화, 분산화정보화 시대의 도래: 정보의 효율적 수집/가공 필요이종 컴퓨터 시스템간의 정보 교환 원활: 분산된 조직의 정보 관리 통합제품의 수명주기 단축과 수익률 감소고객 욕구의 다양화로 제품의 수명주기가 단축됨제품 개발 기간 과 비용의 감소 필요성: 상대적으로 기업의 이윤이 적어짐단기간의 제품 개발과 판매에 신속히 대응 할 수 있는, 유연성 있는 기업 시스템의 구축 필요생산 품질의 초고급화 요구최고기능, 최고 품질수준 요구고객 개인의 기호와 감성에 적합한 일품생산 제조시스템 구축 필요품질보증시스템, 일품생산 제조시스템을 지원하는 기업 정보시스템 필요지적 작업자의 등장지식화의 시대 도래: 부의 근원이 지식지적 작업자의 사무 효율 향상 필요외부 경쟁자의 강력한 도전기업 시스템 전체의 경쟁력 확보 필요ERP 시스템 도입과 구축 필요보다 나은 고객 지원 체계고객 정보의 효율적 관리, 고객 요구에 대한 신속한 대응, 정기적 고객 만족도 조사 등 고객과 친밀한 신정보시스템 구축 필요ERP 탄생에 기여한 주요 IT(Information Technology)GUI(Graphic User Interface)문자 중심의 시스템 구성에서 기업의 모든 사람이 쉽게 접근 할 수 있는 기술 이용개방형 시스템stand-alone 시스템에서 시스템 상호간의 연계와 통합이 필요: 정보와 물류의 종합관리 필요개방형 시스템은 이기종간의 시스템 연계를 원활히 지원해 주는 통합 시스템의 기본 골격클라이언트/서브 시스템공용성이 높은 정보는 서버시스템에서 보관/관리하고, 개별 정보는 클라이언트 시스템에서 보관/관리하는 개념에서 출발: 시스템의 소형화에 기여관계형 데이터베이스와 객체지향 기법분산 정보 환경의 정보시스템의 기초로 활용: RDB객체지향 기법에 의한 ERP 시스템의 개발은 향후 모든 ERP 시스템의 구조를 변화시키는 핵심 역할을 담당할 것으로 보임.제 4세대 언어와 CASE4GL의 등장: 사용자가 컴퓨터 프로그래밍에 대한 전문지식이 없더라도 원하는 업무의 전산 프로그램을 간단하고 용이하게 개발 할 수 있도록 해줌.CASE 도구: 소프트웨어 개발의 생산성 증대와 개발 자동화를 지원워크플로기업의 기간 업무에 대한 자동화표준화 지향관련 업무간의 연계성정보의 효율적 관리와 운영정보시스템의 연관성 강조EDI(Electronic Data Interchange)데이터를 표현하는 표준화된 양식데이터의 상호 교환 용이사람의 간섭이나 데이터의 재입력 과정 없이 수신자의 컴퓨터에 자동으로 입력되어 처리되는 것을 목표데이터 웨어하우스기업의 여러 부서에서 갖고 있는 raw data를 사용자의 요구와 필요에 맞도록 정보를 효율적으로 가공하여 테이블이나 각종 그래픽으로 분석해 주는 기술웹기술웹기술의 계속적 발전Web-Enabled ERP2. 정보기술의 추세정보기술의 3대 변화퍼스널 컴퓨팅에서 워크 그룹 컴퓨팅으로stand-alone 시스템에서 통합시스템으로내부 컴퓨팅에서 기업간 컴퓨팅으로정보기술의 8대 요소기술 전환컴퓨터 칩: 반도체에서 마이크로 프로세스로시스템: 호스트 시스템에서 네트워크시스템으로소프트웨어 공급: 공급자 독점에서 개방형 표준으로정보의 형태: 단일 미디어에서 멀티미디어로고객과 공급자와의 관계: 종속관계에서 협력관계로소프트웨어 개발 방식: 개인의 독립된 기술에 의한 개발에서 모듈화와 표준화를 지향하는 공동개발 형태로사용자 인터페이스: 문자형에서 GUI로응용프로그램: 독자형에서 통합형/모듈형에 의한 재사용 프로그램으로[표 1-1] 정보기술의 변천 추세4. ERP의 특징1) 파라미터 설정에 의한 시스템 유연성 부여Parameter setup 기능의 강화; 여러 종류의 업무처리 방식 제공2) 교육과 컨설팅 중심의 시스템 구축으로 성공률 향상MRP-II 시스템에서는 애플리케이션 소프트웨어의 비중이 높지 않아 하드웨어에 종속된 소프트웨어 시스템으로 인식되는 경향: 환경이 변하면 자체적으로 소프트웨어를 수정/보완함기업의 업무가 변함에 따라 계속적으로 수정/보완하는 것이 어렵게 되어 MRP의 성공률이 20%-30% 수준에 머무름ERP는 애플리케이션 소프트웨어의 비중이 높아 프로젝트 팀원과 사용자에 대한 교육이 강조됨: 심한 경우에는 전체 ERP 시스템 구축 비용의 70%-80%를 교육과 컨설팅 비용이 차지3) BPR을 수행하는 ERP 시스템 구축표준 비즈니스 프로세스 제공: 가능하면 수정 없이 사용토록 기업의 업무 프로세스를 표준 비즈니스 프로세스로 개선 할 것을 제안업무 재설계(BPR)4) 최신의 정보기술을 채용한 기업정보시스템Web-enabled, EDI, Data Warehouse, multi-media, GUI, Client/Server architecture5) 차이분석(Gap Analysis)에 의한 기능추가(add-on Customizing)Gap Analysis: 패키지와 기업 업무 요구사항의 차이를 분석Add-on Customizing: 패키지가 제공하는 방법과 CASE 도구를 이용하여 부족기능에 대한 모듈 개발6) 산업별 특화된 솔루션 제공제조업 위주의 ERP 시스템이 은행, 건설, 엔지니어링, 병원, 보험, 도소매, 공공부문 등에 특화 된 솔루션 제공전 산업분야를 지원하는 통합시스템으로 발전하는 것이 목표7) 전체구조의 명확하고 도입, 구축순서가 준비됨다국적 환경, 글로벌화 대응, 복수공장 관리 가능유연성, 확장성이 확보됨통합 DB 채택으로 정보의 일원화와 공유화가 가능
외주관리구매: 외부로부터 기업에 필요한 자재를 매입 외주: 독자적인 사양과 설계도에 따라 자사에서 생산 할 작업을 사외로 의뢰하여 위탁가공 토록 하는 것 외주를 주는 이유 설비부족 기술 부족 원가저렴 설비 투자 자본 절약 위험분산 계열기업으로 흡수하여 지배하기 위해외주관리외주공장의 평가: 품질, 납기, 가격, 수량 품질의 평가 로트의 불량율 Claim 발생건수 납기평가 납기준수율 = 100 납기내 납품건수 / 총 납품건수 납기지연이 발생하는 이유 발주측 원인: 긴급발주, 단납기, 도면/시발서 지연, 원자재 지급 지연, 계획/사무절차 지연. 사양의 변경, 납기변경 수주측 원인: 납기관리 운영시스템의 미비, 능력이상의 수주, 원자재 공급지연, 불량품 발생, 결근, 공수부족외주관리외주관리의 기능 조사관리기능 외주업체 개발 및 선정 가격조사 원가인하 품질검사기능 설계도면, 작업준비서 준비 품질관리 지도 납품검사 납기관리기능 외주계획 및 발주 독촉, 지도 납품 지원, 육성기능 시설, 공구, 치구 대여 기술지도, 교육 재정지원 및 원가관리 지도외주관리외주계약사항 기본계약사항: 거래원칙, 거래상 기밀 유지, 2차 외주 승인 여부, 기계 및 치공구 대여 조건, 위험 및 손해 분담 여부, 납품검사 및 인도조건, 대금 결재 방법, 기술상의 위임사항 및 분쟁처리, 공업소유권, 계약해제 부대계약사항: 단가, 납기, 수량, 운송방법, 운송운임 등창고관리목표 품질: 보관 중인 자재의 손상, 변질, 도난방지 자재 특성에 따른 보관방법, 위치, 건물, 용기 고려 원가: 보관비용, 입출고비용의 절감 건물비용, MHS 비용의 절감 납기: 필요한 자재의 결품 방지, 불출의 신속화자재 치공구입고저장 보관출고창고관리의 기능입고시 수령기능: 발주서 접수, 하역작업의 계획 및 인력, 장비 수급 보관기능: 보관방법, 경제적 재고수준, 인수와 인도방법 결정, 대장과 현 재고수준의 일치 상태 점검 출고기능: 출고전표 수령, 출고의 기장처리 필요 없는 자재, 사장자재, 폐재 처리창고의 종류보관대상에 따른 분류 원자재 창고 부품창고 완제품 창고 소모품 창고 보관 방법에 따른 분류 독립창고: 자재의 종류와 성질에 따라 건물의 구조와 양식을 달리 함 야적창고: 대형의 중량물, 변질의 염려가 적은 것(원목, 주물, 시멘트) 현장창고: 작업현장 창고, 반제품, 치공구, 소모품창고의 배치건물 배치 방식에 따라 집중식: 공통자재 분산식: 전용품목, 크고 무거운 것 자재 종류별 배치 제품별 배치출고 자재의 원가계산법개별법: 본래의 가격, 식별 가능 FIFO LIFO 이동평균법 표준가격법: 일정 기간 동안 표준가격을 정해서 사용재고실사(재물조사)재고실사 목적 현 재고수준 파악 재고대장과 실 제 수량의 비교 재고수준의 적부 검토 과잉재고 품목, 사장품의 실태 파악 보관방법과 사무처리 방법의 적부 검토 재고실사 방법 정기적 일제 조사법 순환 재고실사법창고설비운반설비: 트럭, 포크리프트, 손수레, 트레일러, AGV, 컨베이어, 엘리베이터, 에스컬레이터 절단설비: 가스절단기, 핸드쇼, 셰어링미싱, 재단기, 톱 보관설비: rack, deck, tank, 선반, 칸막이선반, 상자 계량설비: 저울 등 방화설비: 저수탱크, 소화전, 소화기, 화재경보기, 포말소화기 조명기구: 창문, 전등, 형광등 보온, 냉동설비{nameOfApplication=Show}