1. 단순 설계의 시작, Agile 프로세스 개요 (1) Agile 프로세스 정의 절차와 산출물 보다는 소프트웨어 자체에 초점을 맞춘 방법론으로, 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 방법론 (2) Agile 프로세스 특징 특징 내용 사람 중심 개발팀의 기술이 인식되고 활용됨 구성원들은 규정된 프로세스 없이 자체 작업 방식 개발 고객 참여 고객이 프로세스
1. 프로젝트 최적화 방법론, 테일러링 (1) 테일러링의 개념 표준 프레임워크를 기반으로 실제 업무 분야 별 여건에 맞게 수정, 보완하는 작업 (2) 테일러링의 필요성 구분 관점 필요성 내부적 요건 개발 환경 – 시스템 개발 유형 및 환경 상이 요구 사항 – 우선적으로 요구되는 사항이 상이 프로젝트 규모 – 사업비, 참여 인력, 기간, 규모 상이 보유기술 – 프로세스, 방법론, 산출물 등 상이 외부적 요건 IT Compliance – 프로젝트 별
1. 프로젝트의 성공 위한 Fundamental, 요구공학의 필요성 (1) 요구공학 (Requirement Engineering)의 개념 고객 요구를 체계적으로 수집, 분석, 명세화, 검증하고 추적, 변경하는 요구사항 도출 및 관리 기법 (2) 요구공학의 필요성 구분 필요성 세부 내용 비즈니스 관점 연속성 – 비즈니스 연속성 파괴요소 산재 확장성 – 기업의 환경변화 신속한 대응 재무적 관점 비용절감 – 사전 점검 대비 사후 요구 비용 과다 효율성 – 신속하고 정확한 요구반영, 비용최소 인적 관점 이해도 – 업무 이해도에
1. 인터페이스로만 객체 접근, 정보 은닉 (1) 정보 은닉 (Information Hiding)의 개념 개념도 개념 코드 내부 데이터와 메서드를 숨기고 공개 인터페이스를 통해서만 접근이 가능하도록 하는 코드 보안 기술 (2) 정보 은닉의 목적 객체에 포함된 정보의 손상과 오용 방지 데이터 변경 시에도 다른 객체에 영향 없이 독립성 유지 객체를 부품화하여 이식성과 호환성 확보 2. 정보 은닉을 위한 접근제한자 및 코드
1. Object Oriented Paradigm, 객체지향 설계원칙 (1) 객체지향 설계원칙 개념 객체, 클래스 간 높은 응집도, 낮은 결합도 기반 모델 구축 소프트웨어 설계원칙 (2) 객체지향 설계원칙 특징 특징 세부 설명 캡슐화 (Encapsulation) – 관련 Data, Operation을 부분적 공개 – 접근 제한 및 시스템 영향 최소화 추상화 (Abstraction) – 공통 속성이나 기능을 묶어 명명 – 클래스를 이용하여 추상 모델 생성 다형성 (Polymorphism)
1. 소프트웨어 개발방법론의 개요 정보공학 방법론 배경 (1) 소프트웨어 개발방법론의 개념 개발에 관한 계획~구축의 정형적 방법과 절차, 도구 등 공학적 기법으로 체계화/표준화한 이론 (2) 소프트웨어 개발방법론의 발전 배경 개발방법론은 구조적 방법론 → 정보공학 방법론 → 객체지향 방법론 → CBD 방법론으로 발전중 2. 정보공학 방법론의 개요 (1) 정보공학 방법론 개념 기업의 정보시스템을 구축하기 위해 계획, 분석, 설계 등 전 과정을 정형화 시킨 방법론
1. 초고속 제품 개발 모델, RAD의 개요 (1) RAD (Rapid Application Development) Model의 개념 2~3개월 짧은 개발 주기로 제품 개발을 위한 순차적인 프로세스 모델로 빠른 개발을 위해 Visual Tool, Code Generation Tool을 사용 (2) RAD의 특징 특징 내용 사용자 참여 프로토타이핑 사용 및 요구사항 정의 등 적극 참여 도구 활용 CASE 도구, RDB, 재사용 Library 등 도구 활용 단기적 합성 단기에 기술적 위험이 적고
1. 높은 품질의 소프트웨어 개발 모델, 반복적 모델 (1) 반복적 모델 (Iterative Model)의 개념 사용자의 요구사항 일부분 혹은 제품의 일부분을 반복적으로 개발하여 고품질의 최종 시스템으로 완성해 가는 모델 (2) 반복적 모델의 종류 구분 내용 증분형 (Incremental) 사용자의 요구사항의 일부분을 반복적으로 개발하여 대상 범위를 확대해 가며 최종 제품을 완성해가는 과정 진화형 (Evolutional) 시스템의 프로토타입을 개발하면서 지속적으로 개선하여 발전시켜 나가는 방법 2. 증분형 모델의 개념도 및 특징
1. 프로토타이핑 모델 진화, 나선형 모델의 개요 (1) 나선형 모델(Spiral Model)의 개념 시스템을 개발하면서 생기는 위험을 최소화하기 위해 나선을 돌면서 완벽한 시스템으로 개발하는 모델 (2) 나선형 모델의 특징 특징 내용 대규모 대규모 시스템 및 위험 부담이 큰 시스템 개발에 적합 위험감소 프로젝트 완전성 및 위험감소와 유지보수 용이 장기화 관리가 중요하나 매우 어렵고 개발시간이 장기화 가능
1. 사용자 중심 SDLC, 프로토타이핑 모델의 개요 (1) 프로토타이핑 모델 (Prototyping Model)의 정의 사용자의 요구사항에 따라 프로토타입 제품을 신속히 개발하여 제공한 후 사용자의 피드백을 통해 개선하고 보완해가는 SDLC 모델 (2) 프로토타이핑 모델의 특징 특징 내용 점진적 개발 빠르게 모형을 개발하여 피드백을 통해 시스템을 개선, 보완 사용자 참여 사용자 참여를 유도하여 요구 분석의 어려움을 해결