정보처리기사 98

[1과목 소프트웨어 설계] 인터페이스 설계 - 029. 시스템 인터페이스 요구사항 분석

1. 시스템 인터페이스 요구사항 구성시스템 인터페이스독립적으로 떨어져 있는 시스템끼리 서로 연동하여 상호작용하기 위한 접속방법이나 규칙요구사항 명세서 구성인터페이스 이름연계 대상 시스템연계 범위 및 내용송신 데이터연계 방식인터페이스 주기기타 고려사항 2. 시스템 인터페이스 요구사항 분석소프트웨어 요구사항 분석 기법을 적절히 이용요구사항 분해 시 적절한 수준으로 세분화요구사항 분석 누락 시 누락된 요구사항이나 제한조건 추가상대적 중요도를 평가하여 우선순위 부여 3. 시스템 인터페이스 요구사항 분석 절차시스템 인터페이스 요구사항 목록 구성시스템 인터페이스 요구사항과 관련된 자료 준비 (요구사항 및 아키텍처 정의서, 현행 시스템의 대 · 내외 연계 시스템 현황 자료)기능적 요구사항, 비기능적 요구사항 분류목록..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 028. ⭐ 디자인 패턴

모듈의 세분화된 역할이나 모듈 간의 인터페이스와 같은 코드를 작성하는 수준의 세부적인 구현 방안을 설계할 때 참조할 수 있는 전형적인 해결방법 또는 예제문제 및 배경, 실제 적용된 사례, 재사용이 가능한 샘플코드 등으로 구성개발 과정 중에 문제가 발생하면 새로 해결책을 구상하는 것보다 문제에 해당하는 디자인 패턴을 참고해 적용하는 것이 더 효율적한 패턴을 변형하거나 특정 요구사항을 반영하면 유사한 형태의 다른 패턴으로 변화되는 특징 존재GoF(Gang of Four) : 생성패턴 5개, 구조패턴 7개, 행위패턴 11개💡 아키텍처 패턴 VS 디자인 패턴아키텍처 패턴은 디자인 패턴보다 상위 수준 설계아키텍처 패턴 : 전체 시스템 구조를 설계다자인 패턴 : 서브 시스템에 속하는 컴포넌트들과 관계를 설계디자인..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 027. ⭐ 코드

컴퓨터를 이용해 자료를 처리하는 과정에서 분류, 조합 및 집계를 용이하게 하고, 특정자료의 추출을 쉽게하기 위해 사용하는 기호정보를 신속, 정확, 명료하게 전달일정한 규칙에 따라 작성정보 처리의 효율과 처리된 정보의 가치에 많은 영향💡 코드의 주요기능식별 기능 : 데이터 간의 성격에 따라 구분 가능분류 기능 : 특정 기준이나 동일한 유형에 해당하는 데이터를 그룹화배열 기능 : 의미를 부여하여 나열표준화 기능 : 다양한 데이터를 기준에 맞추어 표현간소화 기능 : 복잡한 데이터를 간소화 1. 코드 종류순차 코드 (Sequence Code) = 일련번호 코드자료 발생 순서, 크기 순서 등 일정 기준에 따라 최초 자료부터 차례로 일련번호를 부여하는 방법1,2,3,4 ...블록 코드 (Block Code) = ..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 026. ⭐ 공통 모듈

여러 프로그램에서 공통적으로 사용할 수 있는 모듈자주 사용되는 계산식, 사용자 인증과 같은 기능들재사용성 확보, 중복 개발 회피를 위해 설계과정에서 공통부분을 식별하고 명세를 작성할 필요가 있음💡 공통 모듈 명세기법정확성(Correctness) : 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성명확성(Clarity) : 중의적으로 해적되지 않도록 명확하게 작성완전성(Completeness) : 모든 것을 기술일관성(Consistency) : 공통 기능들 간 상호 충돌이 발생하지 않도록 작성추적성(Traceability) : 요구사항 출처, 관련 시스템 들의 관계를 파악할 수 있도록 작성 1. 재사용 (Reuse)비용과 개발 시간을 절약하기 위해 이미 개발된 기능 파악, 재구성 하여 새로운 시스템..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 025. ⭐ 모듈 (Module)

분리됨 시스텝의 기능들서브루틴, 서브시스템, 작업 단위 등 같은 의미로 사용단독으로 컴파일 가능, 재사용 가능각 모듈은 서로 독립됨하나의 기능만을 수행하고 다른 모듈과의 과도한 상호작용 배체독립성이 높을수록 수정 시, 다른 모듈에게 거의 영향이 미치지 않으며, 오류가 발생해도 쉽게 발견하고 해결 가능독립성 = 결합도↓ + 응집도↑ + 모듈의 크기 작게 1. 결합도 (Coupling)모듈 간에 상호 의존하는 정도 / 모듈 간의 연관관계결합도가 약할수록 품질이 높고, 강할수록 품직이 낮음결합도가 강하면 시스템 구현 및 유지보수 작업이 어려움1) 자료 결합도 (Data Coupling)모듈 간 인터페이스가 자료 요소로만 구성될 때모듈이 다른 모듈을 호출하면서 매개변수로 데이터를 넘겨주고, 결과를 다시 돌려주는..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 024. ⭐ 객체지향 분석 및 설계

1. 객체지향 분석 (OOA; Object Oriented Analysis)사용자 요구사항 분석해 요구된 문제와 관련된 모든 클래스(객체), 이와 연관된 속성과 연산, 그들 간ㄴ의 관계 등을 정의하여 모델링하는 작업객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나누어서 분석객체는 클래스로부터 인스턴스화되고, 클래스를 식별하는 것이 객체지향 분석의 주요한 목적 2. 객체지향 분석 방법론1) Rumbaugh(럼바우) 방법가장 일반적인 방법객체모델, 동적모델, 기능모델로 나누어 수행2) Booch(부치) 방법미시적(Micro) 개발 프로세스와 거시적(Macro) 개발 프로세스를 모두 사용클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의3) Jacobson 방법Use Case를 강조4) Coa..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 023. ⭐ 객체지향 (Object-Oriented)

개체(Entity)를 하나의 객체(Object)로 만들어 작성구조적 기법의 문제점의 해결책으로 채택유지보수 고려하지 않고 개발공정에만 집중개발 이후, 추가 요구사항 대응 어려움재사용 불가해 유사 소프트웨어 개발 시 시간과 인력 소모복잡한 구조를 단계적 · 계층적으로 표멀티미디어 데이터 및 병렬처리 지원사용자와 개발자가 쉽게 이해객체, 클래스, 캡슐화, 상속, 다형성, 연관성1. 객체 (Object)데이터와 데이터를 처리하는 함수를 묶어 놓은 하나의 모듈데이터 : 속성(Attribute), 상태, 변수, 상수, 자료 구조함수 : 메소드(Method), 서비스(Service), 동작(Operation), 연산객체의 메소드는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수행객체 특성독립적으로 식별 가능한..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 022. ⭐ 아키텍처 패턴

1. 아키텍처 패턴 장점시행착오 줄여 개발 시간 단축, 고품질의 소프트웨어 생산안정적인 개발 가능의사소통 간편개발에 참여하지 않은 사람도 손쉽게 유지보수 수행 가능개발 전 예측 가능 2. 레이어 패턴 (Layers pattern)계층으로 구분하여 구성, 고정적인 방법각 서브 시스템들이 계층 구조를 이룸하위 계층은 상위 계층에 대한 서비스 제공자상위 계층은 하위 계측의 클라이언트서로 마주보는 두 개 계층 사이에서만 상호작용변경 작업 용이특정 계층만 교체해 시스템 개성 가능OSI 참조 모델 3. 클라이언트-서버 패턴 (Client-Server pattern)하나의 서버 컴포넌트와 다수의 클라이언트 컴포넌트로 구성사용자는 클라이언트와만 의사소통서버는 클라이언트 요청에 대비해 항상 대기 상태 유지요청과 응답을 ..

[1과목 소프트웨어 설계] 애플리케이션 설계 - 021. ⭐ 소프트웨어 아키텍처

소프트웨어의 골격이 되는 기본 구조구성하는 요소들 간의 관계를 표현하는 시스템의 구조이해관계자들의 의사소통 도구좋은 품질 유지비기능적 요구사항 : 나타난 제약 반영기능적 요구사항 : 구현하는 방법을 찾는 해결과정애플리케이션 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 결정모듈화, 추상화, 단계적 분해, 정보은닉💡 상위설계 & 하위설계 상위설계하위설계별칭아키텍처 설계, 예비 설계모듈 설계, 상세 설계설계 대상시스템의 전체적인 구조시스템의 내부 구조 및 행위세부 목록구조, DB, 인터페이스컴포넌트, 자료구조, 알고리즘1. 모듈화 (Modularity)프로젝트 재사용성 향상너무 작게 나누면 개수가 많아져 모듈 간 통합 비용 多너무 크게 나누면 개수가 적어 통합 비용은 적게 들지만 노듈 하나..

[1과목 소프트웨어 설계] 화면설계 - 020. HCI / UX / 감성공학

1. HCI (Human Computer Interaction of Interface)사람이 시스템을 편리하고 안전하게 사용할 수 있도록 연구하고 개발최적의 사용자 경험(UX)을 만드는 것사람과 컴퓨터의 상호작용 2. UX (User Experience)사용자가 시스템이나 서비스를 이용하면서 느끼고 생각하게 되는 총체적인 경험단순히 기능이나 절차상의 만족뿐 아니라 사용자가 참여, 사용, 관찰하고, 상호 교감을 통해서 알 수 있는 가치있는 경험UI : 사용성, 접근성, 편의성 중시UX : UI를 통해 사용자가 느끼는 만족이나 감정UX 특징주관성 (Subjectivity)정황성 (Contextuality)총체성 (Holictic)3. 감성공학사용자가 제품을 사용한 경험을 통해 얻은 복합적인 감각인간의 삶을 ..