코딩뿌셔
[1과목] 소프트웨어 설계 - 인터페이스 설계 본문
01 요구사항 확인
02 시스템 아키텍처
03 미들웨어 솔루션
01 요구사항 확인
▶ 요구공학(Requirements Engineering)
: 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동
▷ 요구사항 분류
분류 | 설명 |
기능적 요구사항 | 시스템이 제공하는 기능이나 서비스에 대한 요구사항, 입력 반응, 상황에 대한 동작 (특성 : 기능성, 완전성, 일관성) |
비기능적 요구사항 | 시스템이 수행하는 기능 이외 사항, 시스템 구축에 대한 제약사항에 관함, 품질, 보안 (특성 : 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성, 품질관련 요구사항, 제약사항) |
▷ 요구공학 프로세스 (요구사항 개발 단계)
프로세스 | 설명 |
요구사항 도출 | 소프트웨어가 해결해야 할 문제를 이해, 고객으로부터 제시되는 추상적 요구에 대해 관련 정보 식별, 수집 방법 결정, 수집된 요구사항 구체적 표현 단계 |
주요 기법 : 인터뷰, 브레인스토밍, 델파이 기법, 롤플레잉, 워크숍, 설문조사 | |
요구사항 분석 | 추출된 요구사항에 대해 충돌, 중복, 누락 등 분석을 통해 완전성과 일관성 확보 |
분석 절차 : 요구사항 분류 → 개념 모델링 생성/분석 → 요구사항 할당 → 요구사항 협상 → 정형분석 주요 기법 : 자료 흐름 지향(데이터 프름도 및 자료사전) , 객체 지향 분석 |
|
요구사항 명세 | 체계적으로 검토, 평가, 승인될 수 있는 문서를 작성 |
명세 원리 검증 항목 : 명확성, 완전성, 검증 가능성, 일관성, 수정 요이성, 추적 가능성, 개발 후 이용성 | |
요구사항 확인 및 검증 |
사용자 요구가 올바르게 기술되었는지 검토, 베이스라인 설정 |
주요 기법 : 요구사항 검토, 정형 기술 검토(동료검토, 워크스루, 인스펙션), 프로토타이핑 활용, 모델 검증, CASE 도구 활용, 베이스라인을 통한 검증 등 |
- 동료 검토(Peer Review) : 2~3명이 진행하는 리뷰 형태, 요구사항 명세서 작성자가 설명하고 이해관계자들이 설명을 들으면서 결함을 발견한느 형태
- 워크 스루(Walk Through) : 오류를 조기에 검출하는 데 목적, 회의전 사전 검토한 후 짧은 시간 동안 회의 진행, 리뷰를 통해 오류 검출 및 문서화
- 인스펙션(Inspection) : 소프트웨어 요구, 설계, 원시코드 등 저작자 외 다른 전문가 또는 팀이 검사하여 오류 발견
02 시스템 아키텍처
▶ 시스템(System)
: 하나의 공통적인 목적을 수행하기 위해 조직화된 요소들의 집합체
▷ 구성요소
입력 (Input) |
출력 (Output) |
처리 (Process) |
제어 (Control) |
피드백 (Feedback) |
▶ 시스템 아키텍처(System Architecture)
: 시스템 구조, 행위, 동작 원리를 설명하는 프레임워크
▷ 설계 원칙
- 대규모 트랜잭션 처리 및 온라인 성능 보장
- 시스템 아키텍처 확장성 보장
- 서비스 고가용성 보장
- 운영관리 효율성
- 시스템 보안 강화
03 미들웨어 솔루션
▶ 미들웨어(Middleware)
: 서로 다른 프로토콜이나 시스템 운영체제, 데이터베이스와 애플리케이션간 통신 지원 소프트웨어(분산시스템 관점 : 위치 투명성 제공, 재사용 가능한 서비스 구현 제공)
▷ 솔루션 유형
DB 미들웨어 | 원격 프로시저 호출 (RPC) |
메시지 지향 미들웨어 (MOM) |
트랜잭션 처리 (TP) |
레거시웨어 (Legacyware) |
객체 기반 미들웨어 (ORB) |
WAS (Web Application Server) |
▶ 웹 서버
: 웹 브라우저 요청을 받아 HTTP를 통해 웹 브라우저에서 요청하는 HTML문서나 오브젝트를 전송해주는 서버
※ 웹 애플리케이션 서버 : 동적 서버 콘텐츠 수행 가능 (웹 서버와 큰 차이점!!)
'자격증 > 정보처리기사' 카테고리의 다른 글
[2과목] 소프트웨어 개발 - 통합 모듈 (0) | 2022.07.07 |
---|---|
[1과목] 소프트웨어 설계 - 애플리케이션 설계 (0) | 2022.07.06 |
[1과목] 소프트웨어 설계 - 화면 설계 (0) | 2022.07.05 |
[5과목] 정보시스템 구축관리 - 소프트웨어 개발방법론 (0) | 2022.07.04 |
[4과목] 프로그래밍 언어 활용 - 네트워크 기초 활용 (0) | 2022.07.03 |