2장. 통합구현 & 소프트웨어 패키징 2-0. 단위 모듈 구현 - 단위 모듈 : 소프트웨어 구현에 필요한 여러 동작 중 한가지 동작을 수행하는 기능을 모듈로 구현한 것 - 단위 기능 명세서 : 설계 과정에서 작성하는 기능 및 코드 명세서나 설계 지침과 같이 단위 기능을 명세화한 문서들을 의미 - IPC : 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 프로그래밍 인터페이스 집합 Shard Memory Socket Semaphores Pipes&Named Pipes Message Queueing 2-1. 단위 모듈 테스트 - 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증 - 테스트 케이스 : 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지 확인, 명세 기반 ..
1장. 데이터 입, 출력 구현 1-0. 자료구조 - 일련의 자료들을 조직하고 구조화 하는 것 - 종류 선형구조 : 순서가 있는 구조 배열 : 동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합. 선형리스트 연속리스트(배열과 같이 연속되는 기억장소에 저장되는 자료구조) 연결리스트(임의의 공간에 기억, 자료 항목 순서에 따라 노드와 포인터를 이용하여 서로 연결시킨 자료구조) 스택 : 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조, 후입 선출 큐 : 리스트의 한쪽에서는 삽입 작업이 이루어지고 다른 한쪽에서는 삭제 작업이 이루어지는 자료구조, 선입선출 비선형 구조 : 순서가 없는 구조 그래프 : 간선의 방향성 유무에 따라 방향그래프와 무방향 그래프로 이루어짐. 트리 :..
4장. 인터페이스 설계 4-0. 시스템 인터페이스 요구사항 분석 - 시스템 인터페이스 요구사항 구성 : 독립적으로 떨어져 있는 시스템들끼리 서로 연동하여, 상호작용 하기 위한 접속 방법이나 규칙을 의미. - 분석 절차 ( 요구사항 선별 - 자료 준비 - 요구사항 분류 - 분석 및 수정) 4-1. 요구사항 검증 - 설계 및 구현 전에 사용자들의 요구사항이 요구사항 명세서에 정확하고 완전하게 기술이 되었는지를 검토하고, 개발 범위의 기준인 베이스 라인을 설정. - 검증 방법 동료 검토 : 작성자가 명세서 내용을 직접 설명하고, 동료들이 이를 들으면서 결함을 발견하는 형태의 검토 방법 워크 스루 : 검토회의 전에 요구사항 명세서를 미리 배포하여, 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견하는 검토 ..
3장. 소프트웨어 아키텍처 3-0. 소프트웨어 아키텍처 - 소프트웨어의 골격이 되는 기본구조. - 추상화 : 포괄적인 개념을 설계한 후 차례로 세분화 하여 구체화 시켜나가는 것 - 단계적 분해 : 하향실 설계 전략으로, 문제를 상위의 중요 개념으로부터 하위의 개념으로 구체화 시키는 분할 기법 - 정보은닉 : 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져, 다른 모듈이 접근하거나 변경할 수 없도록 하는 기법 3-1. 아키텍처 패턴 - 문제 해결의 윤곽 제시, 원칙과 지침의 역할. 레이어 패턴 : 계층으로 시스템을 구분하여 구성하는 고전적인 방법중의 하나 클라이언트-서버 패턴 : 하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성되는 패턴 파이프-필터 패턴 : 데이터스트림의 절차의 각 단계를 ..
2장. 화면 설계 2-0. 사용자 인터페이스(UI) - 사용자와 시스템 간의 상호작용이 원활하게 이루어지도록 도와주는 장치나 소프트웨어 - 사용자 인터페이스 구분 CLI : 명령과 출력이 텍스트 형태로 이루어지는 인터페이스 GUI : 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행. NUI : 사용자의 말이나 행동으로 기기를 조작 - 기본원칙 (직유학유) 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 한다. 유효성 : 사용자의 목적을 정확하고 완벽히 달성한다. 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 한다. 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화한다. - 사용자 인터페이스의 3가지 분야 ( 제어, 구성, 기능) 2-1. UI 표준 및 지침 UI 표준 : 전체 시스템에 포함된..
1장 요구사항 확인 1-0. 소프트웨어 생명주기 - 소프트웨어 개발 단계와 각 단계별 주요 활동. 소프트웨어 생명주기라고도 함. ex) 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형 1-1. 폭포수 모형 - 소프트웨어 개발도 이전 단계로 돌아갈 수 없음. - 각 단계를 확실하게 매듭지어야 함. - 두 개 이상의 과정을 병행할 수 없음. - 메뉴얼 작성 필요. 1-2. 프로토타입 모델 - 기능적인 부분만 중점(인터페이스 중점) - 폭포수 모형의 단점을 보완한 모델 - 견본 시제품을 만들어 최종 결과물을 예측. 1-3. 나선형 모델 - 계획 - 분석 - 개발 - 평가의 순서대로 반복 - 여러 번의 개발 과정을 거침. - 점진적 개발, 위험관리, 최소화가 목적 1-4. 애자일 모델 - 절차와 모델..