12. 제품 소프트웨어 패키징 제품 소프트웨어 패키징하기 사용자 중심의 패키징 수행 제품 소프트웨어 패키징의 개념 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정 제품 소프트웨어 패키징 적용 시 특성 전체 내용을 포함하는 메뉴얼 작성 버전 관리 / 릴리즈 노트 고객, 사용자 편의성 중심 모듈화 제품 소프트웨어 패키징을 위한 모듈 빌드 제품 소프트웨어 패키징은 모듈들을 통해 수행되므로, 최초 소스 개발 시 해당 모듈 단위 및 모듈화를 통해 제품 소프트웨어 패키징을 수행 소프트웨어 모듈 및 패키징 모듈화 개념 모듈을 이용하여 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법. 모듈화의 장점 프로그램의 효율적인 관리 소프..
11. 응용 SW 기초 기술 활용 데이터베이스 기초 활용하기 데이터베이스 종류 데이터베이스 데이터베이스 개념 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합 데이터베이스 종류 파일 시스템 종류 ISAM : Indexed Sequential Access Method. 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템 VSAM : Virtual Storage Access Method. 대형 운영체제에서 사용되는 파일 관리 시스템 계층형 데이터베이스 관리시스템(HDBMS; Hierarchical Database Management System) 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스 접근 속도가 빠르지만, 종..
11. 응용 SW 기초 기술 활용 운영체제의 특징 운영체제의 종류 운영체제(OS; Operating System)의 개념 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어 한정된 시스템 자원을 효과적으로 사용할 수 있도록 관리 및 운영함으로써 사용자에게 편리성을 제공 컴퓨터 시스템과 사용자 간의 인터페이스 기능을 담당 운영체제의 종류 윈도즈 운영체제 MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 응용 프로그램으로서, 마이크로소프트사가 개발 윈도즈 운영체제 특징 그래픽 사용자 인터페이스(GUI) 제공 선점형 멀티태스킹 방식 제공 자동감지 기능 제공 OLE(Object Linking and Embedding) 사용 : 개체를 현재 작성 중인 문서에 자유롭게 연결..
10. 프로그래밍 언어 활용 기본 문법 활용하기 변수 활용 변수 : 어떤 값을 주기억 장치에 기억하기 위해서 사용하는 공간 식별자 : 프로그램의 구성요소를 구별하기 위한 기준 바인딩 : 변수와 변수에 관련된 속성을 연결하는 과정 선언 : 변수에 이름, 데이터 타입 등의 속성을 부여하는 작업 영역 : 이름이 사용되는 범위를 의미 할당 : 변수에 메모리 공간을 바인딩하는 작업 데이터 타입 : 변수가 가질 수 있는 속성 및 속성 값의 길이 연산자 : 데이터 처리를 위해 연산을 표현하는 기호 명령문 : 프로그램을 구성하는 문장으로, 지시 사항을 처리하는 단위 자료구조 개념 컴퓨터에 데이터를 삽입, 삭제, 수정하게 해주는 논리적인 공간 구조 자료 구조 분류 단순 구조 : 프로그래밍 언어에서 제공하는 기본 데이터 ..
9. 소프트웨어 개발 보안 구축 소프트웨어 개발 보안 설계 소프트웨어 개발 보안 설계 SW 개발 보안의 개념 소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동을 말함. SW 개발 보안의 구성요소 기밀성 : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 가용성 : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성 무결성 : 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 SW 개발 보안 용어 자산 : 조직의 데이터. 조직의 소유자가 가치..
8. SQL 응용 절차형 SQL 작성하기 프로시저 프로시저의 개념 절자형 SQL을 활용하여 특정 기능을 수행할 수 있는 트랜잭션 언어. 일련의 SQL 작업을 포함하는 데이터 조작어를 수행. 프로시저 구성 선언부(DECLARE) : 프로시저의 명칭, 변수와 인수, 데이터 타입을 정의 시작/정의부(BEGIN/END) : 프로시저의 시작과 종료 제어부(CONTROL) : 순차적 처리, 조건문과 반복문을 이용 SQL : DML문, DDL 중 TRUNCATE 사용 예외부(EXCEPTION) 실행부(TRANSACTION) : 트리거에서 수행된 DML 수행 내역의 DBMS의 적용 또는 취소 여부를 결정하는 처리부 프로시저 구성 상세 선언부 CREATE [OR REPLACE] PROCEDURE 프로시저_명 파라미터_명..
7. 애플리케이션 테스트 관리 애플리케이션 테스트 케이스 설계 애플리케이션 테스트 케이스 작성 소프트웨어 테스트의 이해 소프트웨어 테스트 개념 개발된 응용 애플리케이션이나 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등을 만족하는지 확인하고, 노출되지 않은 숨어있는 소프트웨어의 결함을 찾아내는 활동 소프트웨어 테스트 필요성 오류 발견 관점 오류 예방 관점 : 동료 검토, 워크스루, 인스펙션 품질 향상 관점 소프트웨어 테스트 원리 테스팅은 결함이 존재함을 밝히는 것 : 결함x 증명 못함 완벽한 테스팅은 불가능 개발 초기에 테스팅 시작 결함집중 : 적은 수의 모듈에서 대다수의 결함 발견 살충제 패러독스 : 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그 발견 못함 테스팅은 정황에 의존적..
6. 화면 설계 UI 요구사항 확인 UI 요구사항 확인 UI 개념 넓은 의미에서 사용자와 시스템 사이에서 의사소통할 수 있도록 고안된 물리적, 가상의 매개체. 좁은 의미로는 정보 기기나 소프트웨어의 화면 등에서 사람이 접하게 되는 화면. UI 유형 CLI : 정적인 텍스트 기반 인터페이스 GUI : 그래픽 반응 기반 인터페이스 NUI : 직관적 사용자 반응 기반 인터페이스. 신체 부위를 이용. OUI : 유기적 상호작용 기반 인터페이스. 현실에 존재하는 모든 사물이 입출력장치로 변화할 수 있는 사용자 인터페이스. UI 설계 원칙 직관성 : 누구나 쉽게 이해하고, 쉽게 사용할 수 있어야 함 유효성 : 정확하고 완벽하게 사용자의 목표가 달성될 수 있도록 학습성 : 초보와 숙련자 모두가 쉽게 배우고 사용할 수..
5. 인터페이스 구현 인터페이스 설계 확인 외부, 내부 모듈 간 공통 기능 및 데이터 인터페이스 확인 인터페이스 설계서 이 기종 시스템 및 컴포넌트 간 데이터 교환 및 처리를 위해 각 시스템의 교환되는 데이터 업무, 송수신 주체 등이 정의된 문서. 인터페이스 목록 + 상세 데이터 명세 + 세부 인터페이스 정보. 인터페이스 목록 인터페이스 번호 및 인터페이스가 되는 시스템의 정보 및 관련 요구사항 ID를 목록 형태로 보여줌 인터페이스 명세 각 인터페이스 번호 당 인터페이스가 되는 데이터, 데이터 형식, 송수신 시스템의 정보 등을 구체화하는 문서. 인터페이스 목록에 있는 각 인터페이스의 상세 정보. 상세 기능 인터페이스 정의서 데이터 송, 수신 시스템 간의 데이터 저장소와 속성 등의 상세 내역 시스템 인터페..
4. 서버 프로그램 구현 개발환경 구축 개발환경 구축 개발환경 구축의 개념 구현될 시스템 요구사항의 명확한 이해가 필요 개발 도구와 서버의 선정이 이루어져야 하고, 개발에 사용되는 도구들의 사용 편의성과 성능, 라이선스를 확인 개발 도구의 분류 구현 도구 : 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구. ex) Eclipse, intelliJ, Spring Tool Suite, NetBeans, Visual Studio 테스트 도구 : 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 ex) xUnit, PMD, Findbugs, Cppcheck, Sonar 형상관리 도구 : 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구 ex) CVS, Sub..
3. 통합 구현 연계 데이터 구성 연계 요구사항 분석 연계 요구사항 분석의 개념 서로 다른 두 시스템 장치, 소프트웨어를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정. 요구사항 분석 기법 인터뷰 체크리스트 : 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등 점검을 통해 요구사항을 도출 설문지 델파이 기법 : 전문가 지식을 통해 분석 브레인스토밍 : 소속된 인원들의 아이디어로 요구사항 분석 참고문서 코드 정의서 테이블 정의서 응용 프로그램 구성도 시스템 구성도 개체 정의서 데이터베이스 개념 모델링 단계에서 도출한 개체의 타입과 관련 속성, 식별자 등의 정보를 개괄적으로 명세화한 정의서 테이블 정의서 논리 및 물리 모델링 과정에서 작성하는 설계 산출물로 테이블을 구성하는 ..
2. 데이터 입출력 구현 논리 데이터 저장소 확인 논리 데이터 모델 검증 논리 데이터 모델링 개념 데이터베이스 설계 프로세스의 기초 설계 단계로 비즈니스 정보의 구조와 규칙을 명확하게 표현할 수 있는 기법. 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델 논리 데이터 모델링 특성 포용성 정규화 완전성 독립성 논리 데이터 모델링 속성 개체 속성 관계 개체-관계 모델 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델. 개체, 속성, 관계로 기술한 모델. 개체-관계 다이어그램 기호 개체 : ㅁ 관계 : ◇ 속성 : Ο 다중 값 속성 : ◎ 관계 속성 연결 : - 정규화 정규화의 개념 관계형 데이터베이..
1. 요구사항 확인 현행 시스템 분석 현행 시스템 파악 현행 시스템 파악 개념 현행 시스템이 어떤 하위 시스템으로 구성되어 있고, 제공 기능 및 연계 정보는 무엇이며 어떤 기술 요소를 사용하는지를 파악하는 활동. 사용하고 있는 소프트웨어 및 하드웨어는 무엇인지, 네트워크의 구성은 어떻게 되어 있는지 파악하는 활동. 현행 시스템 파악 절차 구성/기능/인터페이스 파악 → 아키텍처 및 소프트웨어 구성 파악 → 하드웨어 및 네트워크 구성 파악 소프트웨어 아키텍처 여러 가지 소프트웨어 구성요소와 그 구성요소가 가진 특성 중에서 외부에 드러나는 특성, 그리고 구성요소 간의 관계를 표현하는 시스템의 구조나 구조체를 의미. 소프트웨어를 설계하고 전개하기 위한 지침이나 원칙 소프트웨어 아키텍처 프레임워크 소프트웨어 집약..