1. 소프트웨어 패키징의 개요모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것사용자 중심 진행소스코드를 모듈화하여 패키징 : 향후 관리를 고려소프트웨어 사용 환경을 이해하여 다양한 환경에서 소프트웨어를 손쉽게 사용할 수 있도록 일반적인 배포 형태로 패키징2. 패키징 시 고려사항사용자의 시스템 환경(운영체제, CPU, 메모리 등)에 필요한 최소 환경을 정의UI는 사용자가 눈으로 직접 확인할 수 있도록 시각적인 자료와 함께 제공하고 매뉴얼과 일치시켜 패키징Managed Service 형태로 제공 : 하드웨어와 함께 관리될 수 있도록 함내부 콘텐츠에 대한 암호화 및 보안 고려다른 여러 콘텐츠 및 단말기 간 DRM 연동 고려사용자 편의성을 위한 복잡성, 비효율성 문제 고려제품 소프트웨어 종류에 ..
1. 디자인 패턴 Design Pattern의 개요각 모듈의 세분화된 역할이나 모듈들 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미디자인 패턴 구성 : 문제 및 배경, 실제 적용된 사례, 재사용이 가능한 샘플 코드 등개발 과정 중에 문제가 발생하면 새로 해결책을 구상하는 것보다 문제에 해당하는 디자인 패턴을 참고하여 적용하는 것이 더 효율적한 패턴에 변형을 가하거나 특정 요구사항을 반영하면 유사한 형태의 다른 패턴으로 변화되는 특징이 있음GoF의 디자인 패턴수많은 디자인 패턴들 중 가장 일반적인 사례에 적용될 수 있는 패턴들을 분류하여 정리유형에 따라 생성 패턴 5개, 구조 패턴 7개, 행위 패턴 11개로 구성2. 디자..
1. 코드의 개요컴퓨터를 이용하여 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게하고 특정 자료의 추출을 쉽게 하기 위해서 사용하는 기호정보를 신속, 정확, 명료하게 전달할 수 있게 함일정한 규칙에 따라 작성되며, 정보 처리의 효율과 처리된 정보의 가치에 많은 영향을 미침코드의 주요 기능식별 기능 : 데이터 간의 성격에 따라 구분이 가능분류 기능 : 특정 기준이나 동일한 유형에 해당하는 데이터 그룹화 가능배열 기능 : 의미를 부여하여 나열 가능표준화 기능 : 다양한 데이터를 기준에 맞추어 표현할 수 있음간소화 기능 : 복잡한 데이터 간소화 가능2. 코드의 종류순차 코드 Sequence Code : 자료의 발생 순서, 크기 순서 등 일정 기준에 따라서 최초의 자료부터 차례로 일련 번호를 부여하는 ..
1. 공통 모듈의 개요여러 프로그램에서 공통적으로 사용할 수 있는 모듈자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능들이 공통 모듈로 구성될 수 있음모듈의 재사용성 확보, 중복 개발 회피를 위해 설계 과정에서 공통 부분을 식별하고 명세를 작성할 필요가 있음공통 모듈 구현의 명세 기법정확성 Correctness : 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성명확성 Clarity : 해당 기능을 이해할 때 중의적으로 해석되지 않도록 명확하게 작성완전성 Completeness : 시스템 구현을 위해 필요한 모든 것을 기술일관성 Consistency : 공통 기능들 간 상호 충돌이 발생하지 않도록 작성추적성 Traceability : 기능에 대한 요구사항의 출처, 관련 ..
1. 모듈의 개요모듈화를 통해 분리된 시스템의 각 기능들 = 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등단독으로 컴파일이 가능, 재사용 가능모듈의 기능적 독립성 : 소프트웨어를 구성하는 각 모듈의 기능이 서로 독립됨을 의미하는 것, 모듈이 하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용을 배제함으로써 이루어짐독립성이 높은 모듈일수록 모듈을 수정하더라도 다른 모듈들에게는 거의 영향을 미치지 않음, 오류가 발생해도 쉽게 발견하고 해결할 수 있2. 결합도 Coupling모듈 간에 상호 의존하는 정도, 두 모듈 사이의 연관 관계다양한 결합으로 모듈을 구성할 수 있음결합도가 약할수록 품질이 높고, 강할수록 품질이 낮음결합도가 강하면 시스템 구현 및 유지보수 작업이 어려움결합도의 종류 :..
1. 객체지향 분석의 개념사용자의 요구사항을 분석하여 요구된 문제와 관련된 모든 클래스(객체), 연관된 속성과 연산, 그들 간의 관계 등을 정의하여 모델링하는 작업소프트웨어 개발을 위한 비즈니스를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어 분석분석가에게 중요한 모델링 구성 요소(클래스, 객체, 속성, 연산)를 표현해서 문제를 모형화할 수 있게 해줌객체는 클래스로부터 인스턴트화되고, 이 클래스를 식별하는 것이 객체지향 분석의 주요한 목적2. 객체지향 분석의 방법론Rumbaugh 럼바우 방법 : 가장 일반적으로 사용되는 방법, 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행하는 방법Booch 부치 방법 : 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법, ..