본문 바로가기
반응형

정보관리기술사&컴퓨터응용시스템기술사62

[요구사항 수집] 프로젝트 목표달성의 지표 I. 프로젝트 목표달성의 지표, 요구사항 수집 가. 요구사항 수집 정의 이해관계자들이 필요로 하는 요구사항을 파악하고 문서화하는 단계로 프로젝트 목표달성의 평가 기준 나. 요구사항의 구성요소 구분 종류 기능 요구사항 -제품과 서비스의 요구사항 -SW의 기능 및 특성 비기능 요구사항 품질관련 요구사항 II. 요구사항 수집 DFD 및 수집기법 가. 요구사항 수집 DFD(Data Flow Diagram) 나. 수집기법 도구 및 기법 설명 전문가 판단 비즈니스 분석, 요구사항 도출, 분석 등 전문지식을 갖준 개인이나 그룹의 전문성 고려 데이터 수집 -브레인스토밍 아이디어 도출을 위한 집단적 창의적 발상 기법 이해관계자간 대화를 통해 정보 수집 -핵심전문가 그룹 제안된 제품, 서비스에 대한 기대사항과 의견 교환을.. 2021. 1. 12.
[린(Lean) 프로세스], 낭비요소 제거를 통한 프로세스 향상 I. . 낭비요소 제거를 통한 프로세스 향상, 린(Lean)의 개요 가. 린(Lean)의 정의 - 낭비의 제거를 통해 프로세스를 지속적으로 개선, 수행속도를 높이고, 소프트웨어의 품질을 향상시키는 기법 (개발 프로세스가 아닌, 경영 기법, 사상임) 나. 린의 특징 특징 설명 신속성 - Lean은 낭비를 발견하고 제거함으로 고객에 가치를 빠르게 제공 생산성 향상 - 생산성 향상을 위해 사용하는 Lean 원칙을 SW 개발에 적용 결함제거 - SW 개발의 가장 큰 낭비는 결함이고 결함 제거 개념이 Agile과 유사 (Agile보다 큰 개념) - 프로젝트 초기 고객과의 접촉을 많이 하여, 낭비 및 폐기를 줄이는 프로세스 II. 린의 개발원칙 및 낭비요소 가. 린의 개발원칙 (7개) 개발원칙 설 명 낭비제거(El.. 2021. 1. 12.
[CI/CD 지속적통합/지속적배포], Devops 의 핵심 구성요소 CI / CD 란? CI/CD는 애플리케이션 개발 단계를 자동화 하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 “ 인테그레이션 헬(integration hell) “)을 해결하기 위한 솔루션입니다. 지속적 통합(Continuous integration) 지속적인 통합을 수행하는 개발자는 변경 사항을 가능한 자주 main-line 브랜치로 병합합니다. 빌드를 작성하고 빌드에 대해 자동화된 테스트를 실행하여 개발자의 변경 사항을 검증합니다. 이렇게 하면 릴리스 일정에 따라 변경사항을 릴리스 브랜치에 병합하려 할 때 일반적으로 .. 2021. 1. 10.
[객체지향 프로그래밍(OOP)], 재사용성과 객체 표현 기법 I. 재사용성과 객체 표현 기법, 객체지향의 개요 가. 객체지향 프로그래밍(OOP, Object-Oriented Programming)의 정의 - 실세계의 개체(Entity)를 속성(Attribute)과 메소드(Method)가 결합된 형태의 객체(Object)로 표현하는 개념으로 실세계의 문제 영역에 대한 표현을 소프트웨어 해결영역으로 매핑 - 구현대상을 하나의 객체로 보고, 그 객체를 객체와 객체들 간의 관계로 모델링하는 방법 나. 객체지향 프로그래밍의 등장배경 개발측면 - 소프트웨어 위기 해결을 위한 대안 - 생산성 저하에 따른 재사용성, 확장성 필요 사용측면 - 기능성, 단순성, 사용자편의성 요구 증대 다. 객체지향 프로그래밍의 특징 구분 설명 모형의 적합성 - 객체 중심의 모형은 인간의 사고방식과.. 2021. 1. 9.
[객체지향 설계 5원칙] 유지보수와 확장에 용이한 시스템을 위한 원칙 I. 유지보수와 확장에 용이한 시스템을 위한, 객체지향 설계 5원칙의 개요 가. 객체지향(Object-Oriented) 설계원칙의 개념 - 코드 작성시 유지보수, 유연성, 확장성을 용이하게 하기 위해 SRP, OCP, LSP, ISP, DIP로 구성된 설계 원칙 → 시스템에 새로운 요구사항이나 변경이 있을 때 영향도를 최소화하는 설계 나. 객체지향 설계원칙의 필요성 - 잘못 관리된 의존성 때문에 Design Smell 발생하여 유지보수/확장의 어려움 ※ Spaghetti Code → 의존성 관리에 대한 가이드 필요 [참고] Design Smell Rigidity (경직성) 특정 모듈을 수정하면 다른 모듈을 계속 수정해야 함 Fragility (취약성) 특정 모듈의 수정이 다른 모듈에 문제를 일으킴 Imm.. 2021. 1. 6.
[Agile 방법론] 작동하는 SW 중심 I. 작동하는 소프트웨어 중심, 애자일 방법론의 개요 가. 애자일(Agile) 방법론의 정의 - 절차와 산출물 보다는 소프트웨어 중심으로 요구사항 변화에 유연, 신속하게 대응하여 효율적으로 개발할 수 있는 방법론 - 고객과 협업, 실행가능 SW, 환경과 고객 변화 대응의 가치를 강조하는 애자일 방법론 선언문 - (The Manifesto for Agile Software Development) - 전통적인 모델은 산출물 위주의 거대하고 무거운 방법론에 해당한다. 이러한 방법론은 요구 사항의 변화에 유연하게 대처하기 어렵다는 큰 문제점 나. 애자일 방법론의 등장배경 등장배경 설명 S/W 개발환경의 변화 적시성(Time-to-Market)과 적시 배포(Release)의 중요성 증대 기존 개발방법론의 한계 문.. 2021. 1. 6.
나선형 모델(Spiral Model), 위험 최소화를 위한 진화적 프로토타이핑 I. 위험 최소화를 위한 진화적 프로토타이핑, 나선형 모델의 개요 가. 나선형 모델(Spiral Model) 정의 - 시스템 개발 위험을 최소화하기 위해 나선으로 돌면서 계획, 위험분석, 개발, 평가의 단계를 반복하면서 점진적으로 소프트웨어를 완성하는 모델 - 개발된 Prototype을 지속적으로 발전시켜 최종 SW에 이르게 하는 모델 - Waterfall Model 및 Prototyping Model의 장점에 위험 분석을 추가한 모델 나. 나선형 모델의 특징 특 징 설 명 위험 최소화 위험식별 및 대응계획 수립을 통한 위험 최소화 점진적 구체화 반복, 진화적, 프로토타입 개선으로 시스템을 구체화 고수준 품질 고객평가(Feedback)에 따른 진화적 라이프 사이클 - 대규모 시스템 및 위험 부담이 큰 시.. 2020. 12. 30.
OSI 7 Layer OSI 7 Layer I. OSI 7 Layer의 개요 가. OSI 7 Layer의 정의 네트워크 통신 시 발생하는 여러 가지 충돌 문제를 완화하기 위하여, 국제 표준기구(ISO)에서 네트워크 구조를 제시한 네트워크 표준 모델 (ISO 7498) TCP/IP와 비교하여, 교육, 연구 등에 OSI 7 Layer를 표준(de jure)으로 사용하며, 산업 현장에서 일반적으로 TCP/IP를 표준(de facto)으로 사용하여 네트워크 계층 모델을 적용 나. OSI 7 Layer의 특징 포괄적 모델 네트워크 표준을 하나의 모델로 포괄하여 구현 시 참조 모델로 활용 개념적 모델 계층구조(Layered Architecture)의 정의 및 설명 도구 계층화 네트워크 통신기능을 Layer로 나눔으로써 Layer간 영향.. 2020. 12. 26.
해밍 거리란? 해밍 거리 블록 부호 이론에서, 해밍 거리(Hamming距離, : Hamming distance)는 곱집합 위에 정의되는 거리 함수이다. 대략, 같은 길이의 두 문자열에서, 같은 위치에서 서로 다른 기호들이 몇 개인지를 센다. '1011101'과 '1001001'사이의 해밍 거리는 2이다. (1011101, 1001001) '2143896'과 '2233796'사이의 해밍 거리는 3이다. (2143896, 2233796) "toned"와 "roses"사이의 해밍 거리는 3이다. (toned, roses) 2020. 12. 25.
프로토타이핑 모델(Prototyping Model), 고객의 원활한 의사소통을 위한 시제품을 통한 점진적 개발 방법 Ⅰ. 고객과 원활한 의사소통을 위한 시제품을 통한 점진적 개발 방법, 프로토타이핑 모델의 개요 가. 프로토타이핑 모델(Prototyping Model)의 정의 - 사용자의 요구사항을 충분히 분석할 목적으로 시스템의 일부분을 시험적으로 구현하고, 사용자의 피드백을 받아 다시 요구사항에 반영하는 과정을 반복하는 개발 모델(점진적 개발 방법) 나. 프로토타이핑 모델의 특징 특징 내용 점진적 상세화 신속하게 모형을 개발 후 사용자들의 피드백을 통해 시스템 개선/보완 사용자 참여 적극적 사용자 참여를 유도하여 요구 분석의 어려움을 해결 의사소통 도구 요구사항 도출과 이해에 있어 사용자와 의사소통 수단으로 활용 요구사항 도출 고객이 원하는 것이 무엇인지 구체적으로 잘 모르는 경우, 간단한 시제품을 개발하여 보여줌으.. 2020. 12. 22.
[CBD(Component Based Development)], 제품생산성과 품질향상을 위한 방법론 I. 제품생산성과 품질향상 위한 CBD(Component Based Development) 방법론의 개요 가. CBD(Component Based Development) 방법론의 정의 - 객체지향 개발 방법론의 단점인 SW 재사용 한계 개선, 기 개발된 SW 컴포넌트를 조립하여 새로운 시스템 구축하는 방법 나. CBD 방법론의 등장배경 구분 내용 OOP 문제점 해결 필요 OOP는 코드수준의 재사용 - CBD는 실행모듈 단위로 재사용 가능 - 새로운 기능 추가/변경 용이 조직의 변화 (과거) 부서중심 단일업무 - 가상조직, e-Biz., 고객 중심 업무로 변화 (재사용성/상호운용성/생산의 적시성/사용자 위주) - 객체지향 개발 방법론(OOP) 문제점인 개발 생산성, 재사용성, 시스템 유지보수성 등 해결 위.. 2020. 12. 22.
[RAD(Rapid Application Development)], 사용자 참여와 도구를 활용한 개발속도 향상 방법 I. 사용자 참여와 도구를 활용한 개발속도 향상 방법, RAD의 개념 가. RAD(Rapid Application Development)의 정의 - 2~3개월의 짧은 생명주기로 소프트웨어를 개발하는 순차적인 프로세스 모델 - 노력의 최소화, 빠른 개발, 좋은 품질을 위해 SW 개발도구(Visual Tool, Code Generation Tool)사용 나. RAD의 특징 특징 설명 사용자 참여 프로토타이핑 사용 및 사용자가 요구사항정의, 분석, 설계 과정에 적극참여 도구 활용 CASE 도구, RDB, 재사용 Library 등의 도구 적극 활용 단기 적합성 2~3개월 정도의 짧은 기간으로 기술적 위험이 적고 빠른 개발이 요구될 때 적합 II. RAD 개발 모델의 개념도 및 구성요소 가. RAD 개발 모델의 .. 2020. 12. 21.
반응형