[카테고리:] 소프트웨어공학

칸반(KANBAN)

1. 적시 개발을 지원하는 간판, 칸반(KANBAN)의 개요 (1) 칸반(KANBAN)의 정의 적시 개발(Just-in-time Development)을 지원하는 방법론으로 매우 적은 규칙을 가지고 있는 Agile 방법론 (2) 칸반(KANBAN)의 특징 워크플로우 가시화: 일을 작게 분할하여 카드에 기록하여 보드에 게시 WIP 제한: Work-in-process 제한하여 동시에 진행될 수 있는 항목 제한 플로우의 측정: 한 항목을 완료 소요 평균 시간 산정하여 최적화  

반응형 프로그래밍 (Reactive Programming)

1. 비동기 데이터 처리, 반응형 프로그래밍 (1) 반응형 프로그래밍 (Reactive Programming)의 개념 이벤트나 변화에 반응하기 위해 비동기적 데이터 처리 및 흐름 기반 프로그래밍 패러다임 (2) 반응형 프로그래밍 특징 Responsive (응답성) – 사용자 요청에 응답 Resilient (탄력성) – 장애허용성, 고장감지/수정 Elastic (유연성) – 작업량변화에도 응답성유지 Message Driven (메시지중심) – 비동기 메시지 전달   2. 반응형 프로그래밍의 실행 방식 및 구성 요소 (1) 반응형 프로그래밍의 실행

XP (eXtreme Programming)

1. SW 개발방법론의 Agility 강조, XP의 개요 (1) XP (eXtreme Programming)의 정의 짧은 주기의 반복(Iteration)을 통해 요구 변화에 신속하게 대응하여 위험을 줄이고 고객 관점의 고품질 SW를 빠르게 전달하는 Agile 방법론의 기법 (2) XP의 특징 개발자, 관리자, 고객 간 조화로 개발 생산성을 높이고자 하는 접근법 고객 요구사항 변경에 적극적, 긍정적으로 대처 (3) XP의 등장배경 RUP의 산출물 부담과 신속한 개발의 어려움 Time

SCRUM

1.  팀 생산성 극대화 개발 방법론, SCRUM의 개요 (1) SCRUM의 개념 작은 개발팀, 짧은 개발 주기, 팀 집중력과 생산성 유지로 점진적, 반복적으로 SW를 개발하는 Agile 방법론의 한 유형 (2) SCRUM의 특징 구분 내용 협업 중심 항상 팀 단위로 생각하며, 협업을 통해 고품질의 제품을 효율적으로 생산하기 위한 환경 제공 사회공학기법 프로젝트 이해관계자들의 적극적인 협력과 참여를 촉진하여 관련자의 성취감 충족을 목적으로 함 Sprint 수행 통상 30일 기간의 Time

Agile 프로세스

1. 단순 설계의 시작, Agile 프로세스 개요 (1) Agile 프로세스 정의 절차와 산출물 보다는 소프트웨어 자체에 초점을 맞춘 방법론으로, 사람이 중심이 되어 변화에 유연하고 신속하게 적응하면서 효율적으로 시스템을 개발할 수 있는 방법론 (2) Agile 프로세스 특징 특징 내용 사람 중심 개발팀의 기술이 인식되고 활용됨 구성원들은 규정된 프로세스 없이 자체 작업 방식 개발 고객 참여 고객이 프로세스

테일러링 (Tailoring)

1. 프로젝트 최적화 방법론, 테일러링 (1) 테일러링의 개념 표준 프레임워크를 기반으로 실제 업무 분야 별 여건에 맞게 수정, 보완하는 작업 (2) 테일러링의 필요성 구분 관점 필요성 내부적 요건 개발 환경 – 시스템 개발 유형 및 환경 상이 요구 사항 – 우선적으로 요구되는 사항이 상이 프로젝트 규모 – 사업비, 참여 인력, 기간, 규모 상이 보유기술 – 프로세스, 방법론, 산출물 등 상이 외부적 요건 IT Compliance – 프로젝트 별

요구공학 (Requirement Engineering)

1. 프로젝트의 성공 위한 Fundamental, 요구공학의 필요성 (1) 요구공학 (Requirement Engineering)의 개념 고객 요구를 체계적으로 수집, 분석, 명세화, 검증하고 추적, 변경하는 요구사항 도출 및 관리 기법 (2) 요구공학의 필요성 구분 필요성 세부 내용 비즈니스 관점 연속성 – 비즈니스 연속성 파괴요소 산재 확장성 – 기업의 환경변화 신속한 대응 재무적 관점 비용절감 – 사전 점검 대비 사후 요구 비용 과다 효율성 – 신속하고 정확한 요구반영, 비용최소 인적 관점 이해도 – 업무 이해도에

객체지향 모델의 정보 은닉 (Information Hiding)

1. 인터페이스로만 객체 접근, 객체지향 모델의 정보 은닉 (1) 정보 은닉 (Information Hiding)의 개념 개념도 개념 코드 내부 데이터와 메서드를 숨기고 공개 인터페이스를 통해서만 접근이 가능하도록 하는 코드 보안 기술 (2) 정보 은닉의 목적 객체에 포함된 정보의 손상과 오용 방지 데이터 변경 시에도 다른 객체에 영향 없이 독립성 유지 객체를 부품화하여 이식성과 호환성 확보   2. 정보 은닉을 위한 접근제한자

객체지향 설계원칙 (Object Oriented Model)

1. Object Oriented Paradigm, 객체지향 설계원칙 (1) 객체지향 설계원칙 개념 객체, 클래스 간 높은 응집도, 낮은 결합도 기반 모델 구축 소프트웨어 설계원칙 (2) 객체지향 설계원칙 특징 특징 세부 설명 캡슐화 (Encapsulation) – 관련 Data, Operation을 부분적 공개 – 접근 제한 및 시스템 영향 최소화 추상화 (Abstraction) – 공통 속성이나 기능을 묶어 명명 – 클래스를 이용하여 추상 모델 생성 다형성 (Polymorphism)

정보공학 방법론

1. 소프트웨어 개발방법론의 개요 정보공학 방법론 배경 (1) 소프트웨어 개발방법론의 개념 개발에 관한 계획~구축의 정형적 방법과 절차, 도구 등 공학적 기법으로 체계화/표준화한 이론 (2) 소프트웨어 개발방법론의 발전 배경 개발방법론은 구조적 방법론 → 정보공학 방법론 → 객체지향 방법론 → CBD 방법론으로 발전중   2. 정보공학 방법론의 개요 (1) 정보공학 방법론 개념 기업의 정보시스템을 구축하기 위해 계획, 분석, 설계 등 전 과정을 정형화 시킨 방법론