본문 바로가기

정보처리기사77

[정보처리기사] Part01-03-2. 객체 지향 설계 * 객체 지향 (Object Orient) ☞ 실세계 개체를 속성과 메소드가 결합된 형태의 객체로 표현하는 개념 ☞ 구현 대상을 하나의 객체로 보고 객체와 객체들 간 관계로 모델링 하는 방법 ☞ 개발 측면에서 SW 위기 해결 위한 대안과 생산성 저하에 따른 재사용성, 확장성 필요에 의해 등장 ☞ 사용 측면에서 컴퓨팅 환경에 대한 보다 많은 기능, 단순성, 사용 편의성 요구가 증대 ◎ 객체 지향 프로그래밍 (Object Oriented Programming) - 컴퓨터 프로그래밍 패러다임 중 하나 - 컴퓨터 프로그램을 명령어 목록으로 보는 시각에서 벗어나 여러 개 독립된 단위(객체)들의 모임으로 파악하고자 함 - 각각의 객체는 메시지 주고 받고, 데이터 처리 가능 - 프로그램을 유연하고 변경 용이하게 만들.. 2022. 2. 25.
[정보처리기사] Part01-03-1. 공통 모듈 설계 * 공통 모듈 ☞ 날짜 처리 위한 유틸리티 모듈 등과 같이 전체 프로그램 기능 중 공통적으로 사용 가능한 모듈 의미 ◎ 모듈화 - SW 성능 향상시키거나 시스템 수정 및 재사용, 유지 관리 용이케 하여 프로그램 효율적으로 관리 가능토록 시스템 분해하고 추상화하는 기법 의미 - 모듈 크기가 과도하게 작은 경우 모듈 개수가 많아져 모듈 간 통합 비용 과다 발생 - 모듈 크기가 과도하게 큰 경우 모듈 간 통합 비용 상대적으로 감소하는 대신 하나의 모듈 개발하는 데 소용되는 비용 커짐 1. 응집도 - 모듈 내부 구성 요소 간 관계 밀접 정도 - 응집도 높을수록 필요한 요소들로 구성되어 짐 - 응집도 낮을수록 요소들 간 관련성 적은 요소들로 구성되어 짐 - 품질 측면에서 가장 높은 품질은 기능적 응집도이며, 가장.. 2022. 2. 25.
[정보처리기사] Part01-02-2. UI 설계 * UI 흐름 및 상세 설계 1. UI 설계 단계 ① 문제 정의 - 시스템 목적 기술하고 해결해야 할 문제 정의 ② 사용자 모델 정의 - 사용자 특성 명확히 하지 않고는 시스템 사용성 확보 불가하므로 사용자 특성 결정 - 사용자 컴퓨터 SW와 작업에 대한 지식 정도에 따라 초보자, 중급자, 숙련자로 분류 가능 ③ 작업 분석 - 항상 해결해야 할 문제 정제하고 사용자 특징들 세부화하고 시스템 통해 수행되어야 할 작업들 정의 ④ 컴퓨터 오브젝트 및 기능 정의 - 분석 작업을 컴퓨터의 어떤 사용자 인터페이스 통해 표혀할 것인지를 정의 - 실제로 사용자는 시스템 이용해 작업할 경우, 컴퓨터 오브젝트 통해 수행 ⑤ 사용자 인터페이스 정의 - 컴퓨터나 작업 수행 방법에 대해 상호작용하는 오브젝트 선택하고 시스템 상.. 2022. 2. 24.
[정보처리기사] Part01-02-1. UI 요구사항 확인 * UI ☞ 사람과 사물 또는 시스템 사이에서 의사소통 할 수 있도록 일시적 또는 영구적인 접근 목적으로 만들어진 물리적, 가상적 매개체 ▶ UI 종류 ▷ 그래픽 사용자 인터페이스 (GUI) - 그래픽과 텍스트로 이루어져 있으며 객체지향 인터페이스와 응용 프로그램지향 인터페이스 공존 ▷ 웹 기반 인터페이스 (웹 사용자 인터페이스, WUI) - 인터넷과 웹 브라우저 통해 웹 페이지 열람하고 조작하는 인터페이스 ▷ 명령 줄 인터페이스 (CLI) - 사용자가 컴퓨터 자판 등을 이용해 명령 문자열 입력하여 체계 조작하는 인터페이스 ▷ 텍스트 사용자 인터페이스 (TUI) - 문자열 기반 사용자 인터페이스와 구분 위해 그래픽 사용자 인터페이스 발명된 뒤에 만들어진 용어 ▷ 터치 사용자 인터페이스 ▶ UI 세 분야 .. 2022. 2. 24.
[정보처리기사] Part01-01-3. 분석모델 확인 (2) * 분석 자동화 도구 1. 유즈케이스 모델 검증 ▶ 유즈케이스 모델 검증 ▷ 액터 - 기능 구현에 관계되는 액터가 모두 도출되었는가? - 액터 목록에서 액터 명이 역할 중심으로 명명되었는가? - 요구사항 정의서, 요구사항 기술서에 외부/내부 액터가 모두 도출되었는가? - 액터 목록과 액터 명세서에 기록된 액터가 타당한지 확인함 ▷ 유즈케이스 - 요구기능 구현에 필요한 유즈케이스가 모두 도출 되었는가? - 도출된 유즈케이스를 논리적으로 연결하여 누락된 기능 파악 - 도출된 유즈케이스가 유즈케이스 목록과 유즈케이스 명세서에 반영 되었는가? - 도출된 유즈케이스 논리적인 합이 과업 범위와 일치하는지 비교 - 도출된 유즈케이스들이 논리적으로 그룹화 되었는지 확인 - 유즈케이스 기능 범위가 다른 유즈케이스 기능 .. 2022. 2. 24.
[정보처리기사] Part01-01-3. 분석모델 확인 (1) * 모델링 ☞ 실세계 물리현상을 특정 목적에 맞춰 이용하기 쉬운 형식으로 표현하는 일 의미 ▶ 개념 모델링 (Conceptual Modeling) - 실세계 문제에 대한 모델링이 SW 요구사항 분석 핵심 - 문제 도메인의 엔티티들과 그들의 관계 및 종속성 반영 ▶ UML (Unified Modeling Language) - 객체 지향 SW 개발 과정에서 산출물을 명세화, 시각화, 문서화 할 때 사용되는 모델링 기술과 방법론 통합해 만든 표준화된 범용 모델링 언어 ■ UML 특징 □ 가시화 언어 - 개념 모델 작성 시 오류 적고 의사소통 용이케 함 □ 구축 언어 - 다양한 객체지향 프로그램 언어로 변환 가능 (순공학, 역공학) □ 문서화 언어 - 시스템에 대한 평가, 통제, 의소소통 문서 □ 명세화 언어 .. 2022. 2. 24.
[정보처리기사] Part01-01-2. 요구사항 확인 (2) * 소프트웨어 개발 방법론 1. 애자일 (Agile) - 전체 개발 단계에서 변화에 대한 신속한 대응으로 요구사항 지속적으로 분석, 반영하여 배포 시간차 최소화 - SW 개발 방법에 있어 아무런 계획 없는 개발 방법과 계획이 지나치게 많은 개발 방법들 사이에서 타협점 찾고자 함 ▶ 애자일 선언문 (Agile Manifesto) - 공정과 도구보다 개인과 상호작용 - 포괄적인 문서보다 작동하는 소프트웨어 - 계햑 협상보다 고객과의 협력 - 계획을 따르기보다 변화에 대응하기 ▶ 애자일 방법론 종류 ▷ XP (eXtreme Programming) - 의사소통 개선과 즉각적인 피드백에 의한 단순한 코딩으로 SW 품질 높이기 위한 방법론 - 1~3주 반복 (iteration) - 5가지 가치 : 용기, 단순성, .. 2022. 2. 24.
[정보처리기사] Part01-01-2. 요구사항 확인 (1) * 요구 공학 (Requirements Engineering) ☞ 시스템 요구사항 문서 생성, 검증, 관리하기 위해 수행되는 구조화된 활동 집합 ☞ 이해관계자 사이에 효과적인 의사소통 수단 제공하고 요구사항에 대한 공통 이해 설정 ☞ 요구사항 손실 방지 및 에러 감지로 불필요한 비용 절감하고 요구사항 변경 추적 가능케 함 ▶ 개발 절차 ▷ 타당성 조사 - 시스템 구축 가능성 평가 : 비용, 일정, 기술, 법률 제약 사항 - 활용 기법 = 질문지(AS-IS 문제점, 통합 시 문제점), SWOT 분석 ▷ 도출 (Elicitation) - SW가 해결해야 할 문제 이해하고 요구사항이 어디에 있고, 어떻게 수집할 것인가와 관련되어 있음 - 활용 기법 = 인터뷰, 포커스 그룹, 집단 창의력 기법, 설문조사, 관찰.. 2022. 2. 24.
[정보처리기사] Part01-01-1. 현행 시스템 분석 * 현행 시스템 파악 ▶ 단계 및 각 활동별 주요 특징 ▷ 구성/기능/인터페이스 파악 - 시스템 구성 현황 파악 - 시스템 기능 파악 - 시스템 인터페이스 현황 파악 ▷ 아키텍처 및 소프트웨어 구성 파악 - 아키텍처 파악 - 소프트웨어 구성 파악 ▷ 하드웨어 및 네트워크 구성 파악 - 시스템 하드웨어 현황 파악 - 네트워크 구성 파악 ▶ 목표시스템 정의 절차 및 산출물 ▷ 1단계 : 현행 시스템 분석 1. 현행 시스템 구성/기능/인터페이스 현황 파악 단계 - 산출물 : 현행 시스템 분석서, 현행 시스템 기능 정의서, 현행 인터페이스 현황 정의서 2. 현행 시스템 아키텍처 및 소프트웨어 구성 현황 파악 단계 - 산출물 : 현행 시스템 아키텍처 구성도, 현행 소프트웨어 구성도 3. 현행 시스템 하드웨어 및 .. 2022. 2. 21.
[정보처리기사] Part05-01-1. 소프트웨어 개발방법론 선정 (1) 소프트웨어 개발 생명주기 (Software Development Life Cycle) ☞ 소프트웨어를 어떻게 개발할 것인가에 대한 추상적 표현 ☞ 순차적 또는 병렬적 단계로 구성되며 개발 모델 또는 소프트웨어 공학 패러다임으로 정의 ☞ 타당성 검토 > 분석 > 설계 > 개발 > 테스트 > 운영 > 유지보수 > 폐기 ▶ 특징 ▷ 효율적 자원 사용 → 전체 프로젝트 비용 산정과 개발 계획 수립 가능한 기본 골격 제시 → 개발 생명주기 각 단계에 관련된 활동들 정의 ▷ 산출물 표준화 → 용어, 산출물 등 일관성 있도록 산출물 표준화 → 참여자들 간 의사소통 기준과 용어 표준화 가능케 함 → 단계별 활동들 통해 다음 단계에 활용될 수 있는 산출물 작성됨 ▷ 프로젝트 관리 → 원활한 프로젝트 수행 위한 프로젝트 .. 2022. 2. 16.