본문 바로가기
정보처리기사

정처기 #8,9 화면,애플리케이션 설계

by 싼쵸 2022. 1. 26.
반응형

화면 설계

1 ) UI 요소

  1. Text box : 텍스트 입력
  2. Password box : 비밀번호 입력
  3. Radio button : 여러 개 중에 1개 택일
  4. Checkbox button : 여러 개 중에 중복 택일
  5. Select box : 드롭다운 형식의 1개 택일
  6. Textarea box : 여러 줄의 텍스트 입력
  7. submit button : 서버로 입력한 데이터를 전송
  8. reset button: 입력한 데이터 제거(초기화)
  9. Toggle button : 여러 개의 선택 항목 중 하나의 버튼만 선택 가능

2 ) UI 설계 원칙

  • 직관성
  • 유효성
  • 학습성
  • 유연성

3 ) UI 개발 시스템의 필수 기능

  • 사용자 명령을 받아들일 프롬프트 기능
  • 사용자 명령 입력의 검증 기능
  • 에러 처리와 에러 메시지 처리 기능
  • 도움말 지원 기능

 

애플리케이션 설계

1 ) 모듈의 공유도(Fan-in)와 제어도(Fan-out)

  • 공유도(Fan-in) : 얼마나 많은 모듈이 주어진 모듈을 호출하는 가를 나타내는 척도
  • 제어도(Fan-out) : 주어진 모듈이 호출하는 모듈의 개수

2 ) 공통 모듈의 원칙

  • 정확성(Correctness)
  • 명확성(Clarity)
  • 완전성(Com-pletness)
  • 일관성(Consistency)

3 ) 공통 모듈의 재사용 범위에 따른 분류

  • 함수와 객체 재사용 : 클래스나 메서드 단위로 사용, 소스코드 등을 재사용
  • 컴포넌트 재사용: 컴포넌트 단위로 재사용, 컴포넌트 자체 수정 못하고 인터페이스를 통해 통신
  • 애플리케이션 재사용 : 공통 업무 기능을 제공하기 위해 애플리케이션을 공유

4 ) 소프트웨어 재사용의 2가지 기본 기술

생성 중심(Generation Based, 모듈화) : 재사용 단위를 찾아 발전

합성 중심(Composition Based, 모델화) : 모듈을 생산성 있게 조립하는 기술

 

5 ) 소프트웨어 재사용의 이점

  • 개발 시간과 비용을 단축
  • 프로젝트 실패의 위험 줄임
  • 개발 지식을 공유
  • 소프트웨어의 품질, 생산성 향상

6 ) 모듈의 평가 기준

  • 결합도(연관성) : 모듈 간의 관계성의 척도, 작게 할수록 좋은 설계
  • 응집도(완성도) : 한 모듈 내에 요소 간의 연관 정도, 크게 할수록 좋은 설계

7 ) 소프트웨어 모듈 결합도

  • 결합도 낮음(높은 품질) ---------------------------------> 결합도 높음(낮은 품질)
  • 자료 결합도 -> 스탬프 결합도 -> 제어 결합도 -> 외부 결합도 -> 공통 결합도 -> 내용 결합도

8 ) 소프트웨어 모듈 응집도

  • 응집도 낮음(낮은 품질) ---------------------------------> 응집도 높음(높은 품질)
  • 우연적 응집도 -> 논리적 응집도 -> 시간적 응집도 -> 절차적 응집도 -> 통신적 응집도 -> 순차적 응집도 -> 기능적 응집도

응집도의 유형

  • 우연적 응집도 : 모듈 내부의 루틴들이 뚜렷한 관계없이 묶인 경우로 응집도가 가장 약하고 가장 좋지 않은 모듈
  • 논리적 응집도 : 모듈 내부의 루틴들이 같은 범주에 속하는 기능끼리 묶인 모듈
  • 시간적 응집도 : 모듈 내부의 루틴들이 시간적으로 수행시기가 같은 기능끼리 묶인 모듈로 같은 시간에 처리되어야 하는 활동들이 묶인 경우의 응집도
  • 절차적 응집도 : 모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우의 응집도
  • 기능적 응집도 : 모듈 내부가 하나의 단일 기능으로 존재하는 경우로 응집도가 강하고 가장 좋은 모듈
  • 통신적 응집도 : 모듈 내부의 루틴들 중 작업 대상이 같은 기능 기리 묶인 모듈
  • 순차적 응집도 : 모듈 내부의 루틴들이 이전의 명령어로 부터 나온 출력 결과를 그다음 명령어의 입력 자료로 사용하는 경우의 응집도

9 ) N-S(Nassi-Schneiderman) 도표

  • 논리의 기술에 중점을 둔 도형 표현 방법
  • 임의의 제어 이동이 어려움
  • 그래픽 설계 도구
  • 상자 도표
  • 복합조건 처리 시 시각적으로 명확히 식별

10 ) HIPO(Hierarchy Input Process Output) 도표

  • 기능과 자료의 의존 관계를 동시에 표현
  • 하향식(Top-Down) 개발에 적합
  • 보기 쉽고 이해 용이
  • 차트 종류: 가시적 도표(도식 목차), 총체적 도표(총괄 도표), 세부적 도표(상세 도표)

11 ) 시스템 아키텍처(상위 설계)의 설계

  • S/W 아키텍쳐 설계에 제약을 하는 상위 설계임
  • 제약 안에서 세부적인 설계 작업을 수행하는 상세 설계가 존재
  • H/W와 S/W로 구성된 시스템의 아키텍처
  • 전체적인 아키텍처 설계, 인터페이스의 정의, 사용자 인터페이스 설계 수행

계층화 패턴(Layered Pattern)

  • 표현 계층(Presentation Layer) - UI 계층(UI Layer)
  • 프로세스 계층(Process Layer) - 서비스 계층(Service Layer)
  • 비즈니스 논리 계층(Business Login Layer) - 도메인 계층(Domain Layer)
  • 데이터 접근 계층(Data Access Layer) - 영속 계층(Persistence Layer)

파이프- 필터 패턴(Pipe-filter Patter)

데이터 스트림을 생성하고 처리하는 시스템에서 사용

서브 시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브 시스템으로 넘겨주는 과정을 반복

12 ) 코드의 기능

식별 기능, 분류 기능, 배열 기능, 간소화 기능, 표준화 기능, 연상 기능, 암호화 기능, 오류 검출 기능

13 ) 코드의 유형 분류

순차 코드(Sequence Code) : 일정한 일련번호를 부여하는 방법으로 자료가 발생하는 순서나 도착하는 순서 또는 어떤 논리적인 순서로 배열하여 놓고, 차례로 코드부여

블록 코드(Block Code) : 회사에서 사원번호 부여 시 전체 네 자리로 구성하는 경우, 앞의 두 자리는 부서 구분이고, 나머지 두 자리는 일련번호를 부여하는 경우의 코드

10진 코드(Decimal Code) : 도서관에서 도서 정리를 목적으로 만든 것으로 코드의 내용이 좌측과 우측으로 분리되어 좌측 부분은 그룹 분류에 따르고, 우측 부분은 10진수의 원칙에 따라 세분화하는 코드

그룹 분류 코드(Group Classification Code) : 전체 대상을 대분류, 중분류, 소분류로 구분해 놓고 각 분류별로 개개의 대상을 표현하도록 한 후 합쳐 구성하는 코드

연상 코드(Mnemonic Code) : 대상 항목의 명칭 등을 코드에 반영하여 대상에 대한 연상이 가능하도록 한 코드

표의 숫자 코드(Significant Digit Code) : 대상 항목의 중량, 면적, 용량들의 물리적 수치를 이용하여 만든 코드

 

14 ) 시스템 연계 기술

연계 기술 설명
DB Link 데이터베이스에서 제공하는 DB Link 객체를 이용한다.
수신측에서 DB Link를 생성하고 송신측에서 해당 DB Link를 직접 참조하는 방식이다.
사용방법: 테이블명@DBLink명
DB Connection 수신측의 WAS에서 송신측 데이터베이스로 연결하는 DB Connection Pool을 생성한다.
사용방법 : Data Source = DB Connection Pool명
API/ OpenAPI 송신측의 데이터베이스에서 데이터를 가져와 제공하는 응용 프로그래밍 인터페이스 프로그램이다.
API명, 입출력 인수 사용 정보가 필요하다.
JDBC 수신측의 프로그램에서 JDBC 드라이버를 이용하여 송신 시스템 데이터베이스와 연결한다.
DBMS 유형, DBMS서버 IP와 Port, DB Instance 정보가 필요하다.
Hyper Link 웹 응용에서 하이퍼링크를 이용한다.
Socket 서버는 통신을 위한 Socket을 생성하여 Port를 할당한다.
클라이언트의 통신 요청 시 클라이언트와 연결하고 통신하는 네트워크 기술이다.
Web Service 웹 서비스에서 WSDL과 UDDI, SOAP프로토콜을 이용하여 연계한다.
출처 이기적 정보처리 기사
반응형

댓글