정보처리기사/[inflearn] 필기 (완)

정보처리기사 - 제1과목 소프트웨어 설계 / 요구사항 확인(1)

web_seul 2022. 2. 23. 17:46

혹시 제 블로그 보시고 정보처리기사 공부하시는 분들께.. 인프런 정보처리기사 강의를 무료로 들을수있는 기회가 있어서 해당 강의위주로 들었는데 추천하진않아요.. 전체적인 그림이 전혀 그려지지않는..ㅠ 그래서 저는 유튜브에 <주간컴공>으로 다시들었습니다(근데 주간컴공은 5과목 영상이 없어요;;)

 

 제 1과목 요구사항 확인 

▷ 요구사항 확인 A

소프트웨어 생명주기 : 비용산정, 개발계획 뒷받침,  표준화 가능, 관리 용이

1. 폭포수형 모형

 폭포수 모델을 따르기 위해서는 완전히 순차적으로 한단계씩 진행해 나가야한다. 폭포수 모델은 전 단계가 수행되어 완료되기 전에는 다음단계로 진행할 수 없도록 제한한다.

사용자의 요구사항이 명확해야함 (이전 단계 수정x)

계획(타당성/ 비용,자원,기간 산정) -> 요구분석(요구사항 문서화) -> 설계(데이터구조, 알고리즘 설계) -> 구현(코드화)

-> 테스트(오류) -> 유지보수(고객, 변화 수용)

 

2. 프토로타입 모형

개발초기에 시스템의 모형(원형, prototype)을 간단히 만들어 사용자에게 보여주고, 사용자가 정보시스템을 직접 사용해보게 함으로써 프토토타입을 재구축하는 과정을 사용자가 만족할 때까지 반복해 나가면서 시스템을 개선시켜 나가는 방식.

요구가 부정확할 때, 초기 오류발견, 변경 용이, 모형을 만드는 시간 및 자원 비용, 

요구분석 -> 프로토타입 설계 -> 프로토타입 개발 -> 고객평가

 

3. 나선형 모형

고객과의 소통을 통해서 계획수립과 위험분석, 구축, 고객 평가의 과정을 거쳐서 소프트웨어를 개발하는 방식이다. 복잡해지고 있는 소프트웨어 개발 환경에 위험 요소를 분석하고 해결할 수 있도록 지원하는 모델이다.

고비용, 대규모 시스템에 적합, 정밀함

계획수립 -> 위험분석 -> 개발 -> 고객평가 -> 계획수립 ->...

 

4. 애자일

고객과의 소통에 초점을 맞춘 방법론이다.

소규모에 적합, 우선순위 부여, 개인 상호작용, 문서화보다 실행SW에 가치, 고객협업, 변화대응

* Agile의 12가지 원칙

1) 초기부터 지속적으로 고객만족 - 초기부터 개발물을 제공하는 것이 risk감소, value 증가

2) 요구사항 변경 수용 - 변화 수용, 고객의 경쟁력

3) 짧은 배포 간격 - 2주~2달

4) 기획자, 현업과 개발자는 함께 일하기

5) 동기부여된 팀원들로 프로젝트팀 만들기 - 신뢰

6) 얼굴보고 대화하기 - 정보전달에 효율적, 효과적

7) 동작되는 소프트웨어로 진도 측정

8) 지속 가능한 개발 속도 유지 - Agile은 초반부터 결과물이 필요해서 초반에 더 힘듦

9) 좋은 기술, 설계에 관심 - 우수한 기술 및 디자인에 대한 지속적인 고나심은 민첩성(agility)을 향상시킴

10) 단순성 - 수행되지 않은 작업량을 최대화하는 기술은 필수적

11) 자기 조직화 팀 - 의사 결정권자는 팀내에서 소통

12) 정기적으로 효율성 제고 - 회고(retrospective)

 

 

▷ 요구사항 확인 B

> 요구사항 확인 : 분석모델에 대해 확인하고 현행 시스템에 대한 분석

> 현행 시스템 분석 : 지식(산업분야, 플랫폼, 프로젝트 환경, 가상화, 클라우드), 기술(환경분석, 운영체제, 저장장치, 네트워크, DBMS, 가상화)

 

플랫폼 

개념: 소프트웨어를 구동시키는데 쓰이는 하드웨어와 소프트웨어의 결합 환경

유형: 싱글 사이드 플랫폼, 투 사이드 플랫폼, 멀티 사이드 플랫폼

기능: 소프트웨어 개발 및 운영비용 감소, 커뮤니티 형성(네트워크)

기능 특성 확인방법: 기능테스트, 사용자 인터뷰, 문서점검

현행 시스템 분석하기에서 플랫폼의 성능 특성을 알아야하는 이유: 사용자가 사용하기에 속도가 느린지 빠른지 파악, 현재 시스템의 플랫폼 성능에 따른 속도 저하여부 확인

플랫폼 성능 특성 확인 방법 : 성능 테스트, 문서점검, 사용자 인터뷰

성능 특성 측정 항목: 경과시간(완료 시간), 사용률(CPU,메모리자원 사용률), 응답시간(응답 도착시까지 소요시간), 가용성(일정시간내 처리하는 일의 양)

 

> 현행 시스템 파악

현행시스템 파악 절차1단계: 시스템 구성(업무 구분, 주요기능, 명칭 등), 기능(주요 기능과 하부 및 세부기능), 인터페이스 파악(소통, 데이터, 프로토콜)2단계: 아키텍처 구성(사용된 기술요소), 소프트웨어 구성(SW 제품명, 용도, 라이센스 등) 파악3단계: 하드웨어 구성(서버사양, 비용 구축 난이도) , 네트워크 구성(서버 연결방식, 장애 원인파악 용도) 파악

 

> 현행 시스템 파악 :  운영체제 분석, 네트워크 분석, DBMS 분석, 비즈니스 융합 분석

 

> 운영체제 분석

운영체제(OS: Operating System)의 개념 : 하드웨어와 소프트웨어 자원을 관리 

현재 시스템의 운영체제 분석 : 현재 운영 체제(종류, 버전)

운영체제의 종류 및 특징 : Unix(대용량처리, 안정성요구), Linux(중대용량), MS window(개인pc), Ios(apple, 스마트폰), Android(구글, 스마트폰)

 

> 네트워크 분석

네트워크의 개념 : 디지털 전기통신망, 분산되어 있는 컴퓨터를 통신망으로 연결, OSI(Open System Interconnection) 7 Layer의 정의(물리(LAN구축), 데이터링크(신뢰성있는 전송), 네트워크(라우터-신속), 전송(외부로(종단간) 신뢰성있는 전송- 최단경로), 세션(물리적 연결), 표현(암호화, 코드변환), 응용 계층(서비스))

현재 시스템의 네트워크 분석 : 네트워크 구조를 분석, 사내 인터넷 데이터 센터(IDC) 분석

현재 시스템의 네트워크 구성도 작성 : 서버의 위치, 서버 간의 네트워크 연결 방식

 

> 데이터베이스 분석

 데이터베이스의 개념 : 데이터베이스 생성, 조회, 변경 등의 관리

데이터베이스의 기능 : 중복성 통제, 데이터 공유, 데이터 접근 통제, 인터페이스 제공 /  관련성 표현, 무결성(정확) 보장

현재 시스템의 데이터베이스 시스템 분석 : DBMS (액세스, SQL 등의 종류 파악, 테이블의 수, 데이터 증가, 백업형식 등)

논리, 물리 테이블의 구조파악 : 정규화 정도, 조인의 난이도 파악

 

> 비즈니스 융합분석

비즈니스 융합의 개념

비즈니스(Business) : 영리를 목적으로 행하는 모든 활동

비즈니스 모델 : 요소들의 구성체

비즈니스 융합 : 비즈니스 모델의 적용범위 확대

비즈니스 융합 유형 : 제품융합, 서비스융합, 제품과 IT융합, 서비스와 IT융합, 제품의 서비스화, 서비스의 제품화, 제품과 서비스 융합

비즈니스 융합 분석 : 고객분석, 제품 및 서비스 분석, 사업구조 분석

 

 

반응형