본문 바로가기

정보처리기사

(22)
[정보처리기사] Chapter 02. 소프트웨어 개발: 통합 구현 1. 단위 모듈 구현 (중요도: C) 소프트웨어 구현에 필요한 여러 동작 중, 한 가지 동작 수행 기능을 모듈로 표현한 것이 단위 모듈(Unit Module)이다. 단위 모듈로 구현되는 하나의 기능을 단위 기능이라고 칭하며, 단위 모듈은 사용자나 다른 모듈로부터 값을 전달받아 시작되는 작은 프로그램을 의미하기도 한다. 하나의 기능을 단위로 지칭하기 때문에 두 개의 단위 모듈이 합쳐지면 두개의 기능을 구현할 수 있다. 단위 모듈의 구성 요소는 처리문, 명령문, 데이터 구조 등이 있으며, 다른 모듈에 호출되거나 삽입되기도 한다. 또한 독립적인 컴파일이 가능하다. 단위 모듈을 구현하기 위해서는 단위 기능 명세서를 작성한 후 입·출력 기능과 알고리즘을 구현해야 한다. 단위 모듈 구현 순서: 단위 기능 명세서 작..
[정보처리기사] Chapter 01. 소프트웨어 개발: 데이터 입출력 구현 1. 자료 구조 (중요도: A) 자료 구조란 프로그램에서 사용하기 위한 자료를 기억장치 공간 내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석하는 것을 말한다. 자료구조는 다음과 같은 특징을 가진다. ◍ 자료의 표현과 그것과 관련된 연산이다. ◍ 일련의 자료들을 조직하고 구조화 하는 것이다. ◍ 어떠한 자료 구조에서도 필요한 모든 연산들을 처리할 수 있다. ◍ 자료 구조에 따라 프로그램 실행시간이 달라진다. 1.1. 자료 구조의 분류 1.2. 선형 구조(Linear Structure) 1) 배열(Array) 배열은 동일한 자료의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합이다. 정적인 자료 구조로 기억장소의 추가가 어려우며, 데이터 삭제 시 데이터가 ..
[정보처리기사] Chapter 04. 소프트웨어 설계: 인터페이스 설계 1. 시스템 인터페이스 요구사항 분석 (중요도: B) 시스템 인터페이스는 개발을 목표로 하는 시스템과 외부 시스템을 연동하는데 필요한 시스템 인터페이스에 대한 요구사항을 기술한 것으로 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여 상호 작용하기 위한 접속 방법이나 규칙을 의미한다. 시스템 인터페이스 요구사항 명세서에는 인터페이스 이름, 연계 대상 시스템, 연계 범위 및 내용, 연계 방식, 송신 데이터, 인터페이스 주기, 기타 고려사항등이 포함되어야 한다. 1.1. 시스템 인터페이스 요구사항 분석 요구사항 명세서에서 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류하고 조직화해 요구사항 명세를 구체화하고 이를 이해관계자에게 전달하는 일련의 과정이다. 기능적 요구사항은 시스템이 무엇을 하고 어떤 기..
[정보처리기사] Chapter 03. 소프트웨어 설계: 애플리케이션 설계 1. 소프트웨어 아키텍처 (중요도: A) 1.1. 소프트웨어 아키텍처의 설계 소프트웨어 아키텍처는 소프트웨어의 골격이 되는 기본 구조이자, 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체이다. 소프트웨어 개발 시 적용되는 원칙과 지침이며, 이해 관계자들의 의사소통 도구로 활용된다. 사용자의 비기능적 요구사항(기능적 요구 사항 외에 품질이나 제약사항에 관한 것)을 반영하고, 기능적 요구사항(시스템이 갖춰야할 필수적인 기능에 대한 요구항목)을 구현하는 방법을 찾는 해결 과정이며, 기본 원리 로는 모듈화, 추상화, 단계적 분해, 정보은닉이 있다. 1) 모듈화(Modularity) 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을..
[정보처리기사] Chapter 02. 소프트웨어 설계: 화면 설계 1. 사용자 인터페이스 (UI, User Interface) (중요도: A) 사용자 인터페이스는 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치, 소프트웨어를 말한다. 초기의 사용자 인터페이스는 단순히 사용자와 컴퓨터 간의 상호작용에 국한되었지만 점차 사용자가 수행할 작업을 구체화시키는 기능 위주로 반전하였고, 최근(2020년 기준)에는 정보 내용을 전달하기 위한 표현 방법으로 변경되었다. 1.1. 사용자 인터페이스의 3가지 분야 ◍ 물리적 제어에 관한 분야: 정보 제공과 전달 ◍ 기능에 관한 분야: 모든 사용자가 편리하고 간편하게 사용 ◍ 콘텐츠의 상세적인 표현과 전체적인 구성에 관한 분야 1.2. 사용자 인터페이스의 특징 ① UI는 사용자 만족도에 가장 큰 영향을 미치는 요소이다. ..
[정보처리기사] Chapter 01. 소프트웨어 설계: 요구사항 확인 1. 소프트웨어 생명주기 (중요도: A) 소프트웨어 생명주기는 소프트웨어의 개발의 단계를 나누고 각단계의 활동 영역을 세분화한 것으로, 소프트웨어의 비용, 개발 계획을 말한다. 제품의 표준화와 관리가 용이하여 개발 비용의 감소를 위해 사용한다. 대표적으로 4가지 모형이 있지만, 실제로는 더욱 많은 모형이 존재한다. 1.1. 폭포수형 모형 폭포수 모델은 개발의 단계별로 점진적으로 개발을 진행하는 모형이다. 폭포수 모델은 전 단계가 수행되어 완료되기 전에는 다음 단계로 진행할 수 없도록 제한하기 때문에, 순차적으로 한 단계, 한 단계를 진행해 나가야한다. 폭포수형은 오래전부터 사용된 모델이지만, 사용자의 새로운 의견 반영이나 수정이 용이하지 않다는 단점이 있다. 때문에 소프트웨어의 요구사항이 명확한 경우에만..