Certificate/정보처리기사 97

[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. 감성공학사용자가 제품을 사용한 경험을 통해 얻은 복합적인 감각인간의 삶을 ..

[1과목 소프트웨어 설계] 화면설계 - 019. UI 상세 설계

1. UI 시나리오 문서사용자 인터페이스 기능 구조, 대표 화면, 화면 간 인터랙션의 흐름, 예외처리 등 문서로 정리한 것순차적으로 묘사UI 설계자 or 인터랙션 디자이너가 UI 시나리오 문서 작성 2. UI 시나리오 문서 작성 원칙UI의 기능과 작동 방식을 한 눈에 이해할 수 있도록 구체적계층(Tree)구조 또는 플로우차트(Flowchart) 표기법으로 작성인터랙션 흐름을 정의, 화면산의 인터랙션 순서(Sequence), 분기(Branch), 조건(Condition), 루프(Loop) 등 명시예외 상황의 다양한 케이스 정의UI 일반 규칙을 지키면서 기능별 상세 기능 시나리오 정의 3. UI 시나리오 문서 작성을 위한 일반 규칙주요 키의 위치와 기능공통 UI 요소기본 스크린 레이아웃기본 인터랙션 규칙공통..

[1과목 소프트웨어 설계] 화면설계 - 018. 유용성 평가

사용자가 시스템을 통해 원하는 목표를 얼마나 효과적으로 달성할 수 있는가에 대한 척도시스템 문제점을 찾고 개선방향 제시사용자 모형과 개발자 모형 간 차이를 최소화 해야 함 1. 실행 차를 줄이기 위한 UI 설계 원리 검토1) 사용 의도 파악불필요한 기능, 중복되는 기능 파악2) 행위 순서 규정순서 세분화, 임의로 행위 순서 변경가능한 친숙하도록 설계3) 행위의 순서대로 실행행위 순서대로 실행할 때 어려움이 없어야 함과도한 상호작용 피함의도한 행위를 효율적으로 실행할 수 있도록 피드백, 취소기능, 디폴트 값을 적절하게 설정 2. 평가 차를 줄이기 위한 UI 설계 원리 검토수행한 키 조작의 결과를 사용자가 빠르게 지각하도록 유도키 조작으로 변화된 시스템의 상태를 사용자가 쉽게 인지하도록 유도사용자가 가진 원..