반응형
1과목에서 출제 경향이 제일 높은 부분을 발표 스터디를 공유하려고 한다.
1 ) 소프트 웨어 개발 환경
1. 운영체제(OS)
- 하드웨어와 소프트웨어 자원을 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 시스템 소프트 웨어
- 종류 : windows, UNIX, Linux, iOS, Android 등
2. DBMS
- 대량의 데이터를 저장하고 있는 데이터 베이스를 CRUD 하는 관리 프로그램
- 분석 시 고려사항 : 가용성, 성능, 기술 지원, 상호 호환성, 구축 비용
- 종류 : Oracle, IBM, SQL Server, MySQL, MongoDB
3. 미들웨어(OS와 응용프로그램 사이에 위치)
- 애플리케이션에게 운영체제가 제공하는 서비스를 추가 및 확장하여 제공하는 컴퓨터 소프트웨어
종류
- DBMS : 데이터베이스와 연결
- RPC : 원격 프로시저를 마치 로컬 프로시저처럼 호출
- MOM : 메시지 기반의 비동기형 메시지를 전달하는 방식
- TP-Monitor : 온라인 트랜잭션(상태 변환을 위한 논리적인 작업의 단위) 업무에서 트랜잭션을 처리, 감시
- ORB : 객체지향 미들웨어로 코바(분산된 컴퓨터를 통신회선으로 연결, 공통 기능 사용을 지원) 표준 스펙을 구현
- WAS : 클라이언트/ 서버 환경보다는 웹 환경을 구현
4. 저장 장치(Storage System)
- DAS: 하드 디스크와 같은 데이터 저장 장치를 호스트 버스 어댑터에 직접 연결하는 방식
- NAS : 서버와 저장 장치를 네트워크로 연결하는 방식으로, 구성 설정이 간편
- SAN : DAS의 빠른 처리와 NAS의 스토리지 공유 장점을 합친 방식
- N-SCREEN : 하나의 콘텐츠를 TV, PC, 스마트폰, 태블릿 등 다양한 기기를 통해 이용할 수 있는 서비스
- NFC(Near Field Communication) :무선태그(RFID) 기술 중 하나로 13.56 MHz의 주파수 대역을 사용하는 비접촉식 통신 기술
2 ) 소프트 웨어 개발 방법론
1. 구조적 방법론(1970)
- 모듈(부품) 중심으로 개발, 분할과 정복 방법으로, 하향식으로 기능을 분해, 재사용성, 유지 보수성이 낮음
- 하향식 설계 : 상위에 있는 Main User Function에서 시작하여 기능을 하위 기능들로 분할해하면서 설계
- 상향식 설계 : 하위 기능들을 묶어서 제일 상위에 있는 Main User Function으로 설계
2. 정보공학 방법론(1980)
- 정보 시스템 개발에 필요한 관리 절차와 작업 기법을 체계화한 방법론, 자료 구조 중심의 방법론으로 비교적 안정적
3. 객체지향 방법론(1990)
- 데이터와 그 데이터에 관련되는 동작을 모두 포함하는 방법론 데이터는 실체이고, 동작은 절차, 방법, 기능을 의미
- 객체 중심으로 캡슐화, 추상화 기술이 필요
4. 컴포넌트 기반 방법론(2000)
- 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 애플리케이션을 작성하는 방법론
- 생산성과 품질을 높이고, 유지보수의 비용을 최소화할 수 있는 개발 방법론
- 소프트웨어 위기를 극복하기 위한 방법론
- 위기(문제점): 비용 증대, 유지보수 비용, 기술보다 관리적인 면 강조, 개발 기간 연장, 성능 및 신뢰성이 부족
5. 애자일(Agile) 방법론(2000년 이후)
- 소프트웨어 개발 단계의 변화에 신속하게 대응하기 위하여 요구사항을 지속적으로 분석하고 반영하여 시간 지연을 최소화하는 방법론
- 프로세스와 도구 중심이 아닌 개발 과정의 소통을 중요하게 생각하는 소프트웨어 개발 방법론 반복적인 개발을 통한 잦은 출시를 목표
- 원칙 : 소통, 협력, 적응 지속, 가치 전달, 피드백
- 5가지 가치 : 의사소통, 용기, 피드백, 단순함, 존경
- 애자일 방법론의 종류 : 익스트림 프로그래밍, 스크럼, 린, DSDM(사용자가 적극적으로 개발에 참여에 영향), FDD(기능 개발 중심)
선언문
- 개인과 상호작용을 프로세스와 도구보다 중시
- 동작하는 소프트웨어를 포괄적인 문서보다 중시
- 고객과의 협력을 계약의 협상보다 중시
- 변화의 대응을 계획의 수행보다 중시
XP(익스트림 프로그래밍)
- 소프트웨어 개발 방식을 애자일 모형으로 개발하는 대표 방법
- 문서화를 강조하지 않고, 변경을 추구하며 개발 초기부터 소프트웨어 검사를 병행할 것을 강력히 권고
스크럼
- 애자일 방법론 중 하나로 프로젝트 관리를 위한 상호 점진적 개발 방법론
- 매일 정해진 시간, 장소에서 단기간에 개발하는 개발하는 개발팀을 위한 프로젝트 관리 중심
- 스크럼 5가지 가치 : 확약, 전념, 정직, 존중, 용기
- 스크럼 요소 : 백로그(BackLog), 스프린트(Sprint), 스크럼 미팅
린(Lean)
- 낭비적 요소를 제고하고, 개발 결과를 측정, 성과를 분석하여 품질을 향상
- 7가지 원칙 : 낭비적인 요소 제거, 품질 내재화, 지식 창출, 가능한 늦게 결정, 가능한 빠르게 인도, 사람 존중, 전체 공정 최적화
6. 테일러링(Tailoring) 개발 방법론
- 개발하려는 소프트웨어 특성에 맞게 융통성 있게 적용하는 방법론
- 테일러링 개발 방법론의 필요성
- 내부 기준 : 목표 환경, 요구사항, 프로젝트 규모, 기술 환경
- 외부 기준 : 법적 제양 사항, 표준 품질 기준
7. 보안 개발 방법론
- MS-SDL : 보안 수준이 높은 안전한 S/W를 개발하기 위해 MS사 가 자체적으로 수립
- Seven Touchpoints : 실무적으로 검증된 개발 보안 방법론 중 하나, 생명주기 방법론
- CLASP : 소프트웨어 개발 생명주기 초기 단계에서 보안을 강화하기 위한 정형화된 프로세스
- CWE : 소프트웨어의 보안 취약점을 유발하는 원인을 7가지(입력 데이터 검증 표현, 보안 기능, 시간 및 상태, 오류 처리, 코드 품질, 캡슐화, API 악용)로 정리
반응형
'정보처리기사' 카테고리의 다른 글
정처기#11 검색 (0) | 2022.02.04 |
---|---|
정처기#10 자료구조 (0) | 2022.02.03 |
정처기 #8,9 화면,애플리케이션 설계 (0) | 2022.01.26 |
정처기 #7 요구사항 정의 (0) | 2022.01.26 |
정처기 #5,6 테일러링을 위한 품질관리, 소프트웨어 개발의 생명주기 (0) | 2022.01.24 |
댓글