126 . 소프트웨어 개발 방법론
소프트웨어의 개발, 유지 보수 등에 필요한 수행방법과 수행과정에서의 기법과 도구를 정의 .
구조적 방법론 -> 타당성 검토, 계획, 요구,설계, 구현, 시험 ,운용 단계를 거친다 <옛날에 많이 했다>
(DIVIDE AND CONQUER)로, 복잡한 문제를 다룬다 . 정형화된 분석
정보공학 방법론 -> 계획, 분석, 설계 구축에 정형화된 기법들을 통합 적용한다.
(ERD를 활용해, 정보 전략으로 시스템을 구축한다) . 대형 정보 시스템
객체 지향 방법론 -> ENTITY를 활용하여 , 각 객체로 만들어 객체들을 조립하는 방법론이다
컴포넌트 기반 -> 컴포넌트(문서,파일,라이브러리등 자원)의 조합으로 애플리케이션을 만든다.
애자일 방법론 -> 기억나지? 애자일? 일정 한 주기마다 개발 과정을 반복한다.
고객 평가 이후 . 다시 반복된다 . 하지만 반복에 대한 언급이 없을 수도 있다. ㄹ
익스트림 프로그래밍, 스크럼 (스프린트 형태) 를 반복한다.
제품 계열 방법론 -> 임베디드시 유리하다.
127. SW의 발전 추세
소프트웨어 재사용은, 이미 인정받은 소프트웨어의 전체나 일부분을 사용
합성 중심 : 전자칩 같은 모듈을 만들어서 완성. 생성중심 : 명세를 구체화 하여 생성
소프트웨어 재공학은, 기존 소프트웨어를 그대로 쓰지 않고 개조나 개선하는 것이다.
ANALYSIS(기존 소프트웨어 명세서를 확인하여 동작을 이해),
재구성(기존 소프트웨어를 변경), 역공학(기존 소프트웨어를 분석), 이식(기존 소프트웨어를 재사용) 등을 진행한다.
실제 사용을 위해 변환하는 것은 이식이라고 한다.
CASE 개요 (COMPUTER AIDED SOFTAWRE ENGINEERING)
소프트웨어를 개발할떄 쓰이는 설계,검사,디버깅 과정 등을 도구를 써서 자동화한다.
소프트웨어의 개발 단축, 자동화 기법, 표준 확립, 재사용 유리 등의 기능이 있다.
CASE TOOL이라고 한다. (이때 쓰이는 도구)
(일괄처리와 같은 처리자체에 때한 기술은 없다. 소스 코드 생성 등도. )
CASE 도구는 상위버전, 하위 버전 이렇게 2가지이다.
그래픽지원,오류 검정등을 진행한다.
128. 상향식 비용 산정 기법
<LOC는 비용에 대한 얘기이다>
LOC (SOURCE OF LINE CODE) -> 각 웟니 코드수의 비관치, 낙관치, 기대치를 사용한다. (WORST,BEST,AVEARGE)
예측치는 = (낙관치+4기대치+비관치 ) / 6
노력 = LOC / 1인당 생산 라인 수 (평균)
개발 비용 = 노력 X 단위 비용
개발 기간 = 노력 / 투입인원
생산성 = LOC / 노력 -> 1인당 생산성 이다.
*인원에 주의하자 .
129. 수학적 산정 기법
COCOMO 모형, PUTNAM모형, FP모형등이 존재한다.
이러한 모형들은 , 개발 비용 산정의 자동화를 목적으로 한다.
1. COCOMO
LOC를 예측하고, 이를 비용 산정 식에 대입하여 비용 산정
(LOC를 쓰는거다 )
COCOMO는 조직형, 반분리형, 내장형이 있다.
조직형 = 2.4 X KDSI, 개발기간은 2.5 X MM으로 구한다.
기관 내부에서 소규모 소프웨어로 일관 자료 처리, 비지니스 자료 처리용으로 소규모 소프트웨어를 개발하는 것
(계산 전용 소프트웨어 조직 생성)
반분리형 - SEMI-DETACHED MODE
트랜잭션 처리 시스템,운영체제등 30만 라인 이하 소프트웨어 개발
(좀 큰 조직형)
내장형 - 초대형 규모 소프트웨어 처리 개발 .
(내장이 EMBADED야. 초규모인거 알지)
PUTNAM은 , 노력의 분포를 가정한다.
RALYEIGH -NORDEN곡선을 따른다 .
FP 모형은, FUNCTION POINT!
기능 요인 별 가중치 부여, 합산하여 총 기능 점수를 산출한다.
SLIM,ESTIMACS등으로 개발화 추정 도구도 있다.
130 . 프로젝트 일정 계획
프로젝트의 프로세스를 이루는 소작업 파악, 노력을 분배하고 일정을 정하는 것
<즉, 과정에 따라 노력의 분배를 어떻게 할까?>
PERT -> 전체 작업의 관계를 표시한다. (예측이 어려울때)
CPM -> 프로젝트 완성에 필요한 작업을 나열하고 소요 기간을 예측한다.
의존 관계와 작업을 나타낸다. 다음 작업의 진행을 의미한다.
<임계경로란, 최대 거리 > (LIM이니까)
간트 차트 -> 프로젝트의 각 작업들의 시작과 종료를 도표로 표현한다.
<막대 그래프>
131. 소프트웨어 개발 방법론 결정
일정,비용,인력,위험,품질등을 관리하는 프로젝트 관리 .
(최소 비용으로 사용자 만족 개발 위하여 ) 보안은 X
재사용 현황을 반영한다.
132. 소프트웨어 개발 표준
SIO/IEC 12207 . 생명 주기 프로세스로, 기본생명주기->지원생명주기 -> 조직생명주기 순으로 표준을 제공
CMMI -> 능력 성숙도 통합 모델. 초기,관리,정의,정량적관리,최적화 형태로 성숙도가 있다.
(우리처럼 커간다..)
SPICE-> 소프트웨어 품질, 생산성 향상을 위하여.
고객 공급자, 공학, 지원, 관리, 조직 프로세스로 진행한다.
국제 표준이다!
불완전, 수행, 관리, 확립(공학 원칙에 기반, 프로세스가 수행되는 단계), 예측. 최적화의 단계를 가진다.
133. 개발 방법론 테일러링
테일러는 제단. 상황, 특성에 맞게 사용기법 절차등을 수정 보완.
특징정의,표준 선정, 커스터마이징,세부 커스터마이징
내부적으론 환경,요구사항,규모,기술에 따라.
외부적으로 법, 표준에 따라 .
134. 개발 프레임워크
프레임워크는, 여러가지 기능을 제공해주는 소프트웨어 시스템이다
스프링 , 전자정부 등 등 ..
프레임워크는 모듈화 -> 모듈화를 강화하고, 설계 변경을 최소화 한다.
재사용성 -> 이미 있는 기능을 그대로 쓴다 (ANNOTATION)
확장성 -> 인터페이스 확장 .
제어의 역흐름 -> 객체의 제어가 프레임워크에 넘겨진다. (기억하지?)
스프링(가볍다), 전자정부(스프링을 기반으로함) , 닷넷(마이크로 소프트) 등을 쓴다.
135. 네트워크 관련 신기술
지능형 초연결망 -> sde,iot,클라우드 등을 수용하게 한다.
소프트웨어 정의 네트워킹은 SDN : 컴통망 기억하자 .
네트워크를 컴퓨터처럼 모델링하고 제어한다. 제어가 효율적이다
SDDC : 데이터 센터의 모든 자웡늘 가상화 하여 자동으로 관리되게
SDS : DATA STORAGE를 가상화하여 사용하는 기술이다.
IOT는 사물인터넷 . 알지?
올조인 : 오픈소스 기반 플랫폼. 메시 네트워크 : 특수 목적을 위한 메시구조의 네트워크 . 피코넷 : 블루투스
메시 네트워크 : 차세대 이동통신을 위한 대규모 디바이스 네트워크
클라우드 컴퓨팅 : 컴퓨팅 자원을 중앙 컴퓨터에 두고, 인터넷을 통해 작업을 수행한다.
모바일,인터클라우드 등이 있다.
클라우드 기반 HSM : 클라우드를 기반으로 암호화 키 생성과 저장 처리 등을 진행한다.
파스타 : 개방형 컴퓨팅 플랫폼
징 : 초고속 데이터 전송.
파장 분할 다중화 ( 파장 별 분할) 개방형 링크드 데이터(공개 데이터), SSO <SINGLE SIGN ON >
(1번 로그인으로 모든 사이트)
스마트 그리드 (정보 기술을 전력에 접목) ,메타버스 .
136 . 네트워크 구축
성형(STAR), 링형(RING), 버스형 (BUS) <한개의 회선(bus)에 여러가지 장치 연결) - 추가와 제거가 용이, 계층형 (Tree), Mesh(기존 무선 랜 한계극복, 특수 목적 네트워크 기술) VPN은 가상이니까, 헷갈리지 말자.
LAN : 근거리 통신망. VLAN : 가상LAN 환경 . WIFI는 WPA를 암호화 표준으로 사용한다.
802.IEEE / 802.11e .QOS 기능 지원 . 802.11i -> 보안 기능 표준.
csma /cd (detect). csma/ca ( 충돌 대기 )
137. 경로, 트레픽 제어
경로제어가 ROUTING이야.
ROUTING PROTOCOL
RIP - BELLMAN FORD (BF) <작을때, 15HOP정도에 사용)
OSPF- > 다익스트라 사용 . BGP는 , GATEWAY간 라우팅 테이블을 전송하는 프로토콜 .
FLOW CONTROL -> Stop and Wait. ACK를 받은 후에야 전송. SLIDING WINDOW는 그렇지 X CONGESTION CONTROL -> SLOW START,혼잡 회피 .
138. SW 신기술 용어인공지능.딥러닝(인간의 두뇌를 모델로한 인경신경망 기반 기술),가상현실,증강현실(화면 + 가상정보), GRAYWARE(검정색일지 , 흰색일지 모른다. 즉, 나쁠지 좋을 지모르는 공유웨어), MASHUP (웹에서 제공하는 정보 및 서비스 사용해서 새로운 소프트웨어만드는, MASH(섞기)), VAPORWARE (판매하기로 했으나 안하는 것), SOA (SERIVCE ORIENTED ARCHITECTURE) (기업의 소프트웨어 정보 시스템을 구축) . 디지털 트윈 (현실속의 사물을 가상화, 실험용으로 주로 사용). 텐서플로 (머신러닝 전용 라이브러리). DOCKER( 컨테이너라는, OS에 제한받지 않는 파일들을 묶어둔 것을 관리). SCRAPY (DATA CROLLING에 사용)
139. 보안 관련 신기술
블록체인이란, P2P를 사용하여 온라인 거래 정보를 PEER에 분산 저장하는 기술. BITLOCKER -WINDOW 전용 암호화 기능 . BAAS( 서비스형으로 제공되는 블록체인 형태) <BLOCKCHAIN AS SERVICE> . TCP WRAPPER (외부 컴퓨터의 접속 인가) . 허니팟 ( 공격자를 유도) . DPI(DEEP PACKET INSPECTION)OWASP라는 곳에서 악성 파일과 보안 취약점 등을 연구한다.
140. HW 신기술
HACMP : 각 시스템 간 공유 디스크로 클러스터링. 다수 시스템을 동시 연결
HIGH AVAILABILITY CLUSTERING MULTIPROCESSING
N SCREEN -> 동시에 여러가지 화면 ( 유튜브 화면 보이기 등)
141. SECURE OS
SECURE OS란? 커널 + 보안 기능 . 시스템 보호
기존의 OS의 보안 취약점을 해소하기 위하여 , 보안 기능을 갖춘 프로그램과 하드웨어 간 연결을 담당하는 커널을 이식한다. 암호,논리,시간,물리적 분리한다 .
참조 모니터 : 격리성,검증가능성,완전성을 지녀야한다.
이렇게 커널을 통해서 식별,인증,접근통제객체 사용 보호, 조정, 신뢰 경로 지정 등을 한다.
142. DB 신기술
빅데이터 ( 막대한 양), 브로드 데이터 ( 마케팅 데이터) , 메타 데이터 (데이터의 데이터) , 디지털 아카이빙 (디지털 정보 자원을 보존하기 위한 작업) , 하둡 !! 오픈 소스를 기반으로 한 초대형 스토리지 형성. 분산 컴퓨팅 플랫폼. PC들로 스토리지를 형성하고 그 안에 데이터 처리 . (RDB와의 전송시 스쿱이라는 도구를 사용) , 맵 리듀스 : 대용양 데이터 분산 처리 목적
타조 - 하둡 기반 데이터 웨어하우스 (SQL을 사용해서 바로 읽을 수 있다.
데이터 마이닝 (데이터 웨어 하우스에서 목적에 맞는 데이터 발견
OLAP (다차원 데이터를 통하여 의사결정 활용 ) -
TRANSLATE는 X
* 데이터 웨어하우스는 데이터를 주제별로 통합 한 것
143. 회복 / 병행 제어
(Recovery) 회복 : 트랜잭션 수행중 장애시, 손상이전으로 복구 : 로그 등을 사용 회복 기법 : 연기 갱신 -> 트랜잭션 완료까지 연기즉각 갱신 -> 부분 완료 전이라도 즉각적으로 데이터베이스에 반영 -> 특정 로그가 필요하다. 그림자 페이지 기법 , 검사점 기법 . 등도 있다.
병행 제어 : 동시 트랜잭션시, 트랜잭션간의 작용 제어 . <db의 공유를 최대화>
1. LOCKING -> LOCK을 요청하고, LCOK이 되었을때마다 해당 단위 접근
2. 타임 스태프 순서 -> 트랜잭션 간의 처리 순서를 미리 선택하는 기법중 최고 .
로킹 단위 : DBMS, 파일 등이 로킹 단위 . 너무 크면 병행성 수준 감소. (공유도가 낮아진다)
144. 교착상태 (Dead Lock)
둘 이상의 프로세스들이 자원을 점유 .
상호 배제 (한번에 한개 프로세스), 점유대기 ( 점유 위해 대기하는 프로세스가 등장), 비선점(뺐을수 없다), 환형대기 (원형 형태로 대기 )
이 모든 조건 만족시만 dead lock!
예방 (사전 시스템 제어) -> 회피 ( 은행원 알고리즘 이라는, 모든 고객의 요구가 충독되게 현금 할당) -> 발견 -> 회복 .
145~ 153 쓰던 도중 컴퓨터 꺼져서 날라감.. 나중에 다시 쓰자.
SAN은, 네트워크의 고속 전송과 멀티 프로토콜 기능을 활용하여 동일 저장자치 데이터를 공유하게한다
stoarge network!
브리지는 lan과 lan을 연결하낟. 브라우터는 , lan의 연결과 rotung기능을 모두 추가한다.
신호의 증폭은 리피터에서 수행한다.
macㅡ 강제 접근통제
rbacㅡ 역할기반
dac ㅡ 임의 접근 통제
(pac 없음에 주의하자)
인증이 AUTHENTICATOIN. 인가가 AUTHORIZATION
154. 서버 인증 :
보안 서버란, SSL 인증서를 갖춰야한다 .
인증이란, 네트워크를 통해 등록여부와 위변조 여부등을 확인한다.
1. 지식기반 인증 : PW를 기반으로 이걸 알고있니(아이핀도)
2.소 유기반 인증: 신분증을 가지고 있니, 메모리 카드나 OTP
3. 생체 기반 인증 : 지문,홍채,얼굴
행위기반,위치기반 인증등도 있음.
155. 보안 아키텍처 : 식별과 관계정의를 모두 진행하는 구조 (자주 수정되어서는 안된다)
관리적 보안 :정보보호 정책,정보보호 조직, 정보자산 분류, 업무 연속성 관리
물리적 보안 : 건물 및 사무실 출입 통제, 전산실 관리 , 시스템 보호 설치 , 관리 지침
기술적 보안 : 사용자 인증, 접근 제어 등 .
보안 프레임워크 : 뼈대와 골조를 의미한다.
155. 로그 분석 : 리눅스는 VAR/LOG 디렉터리 에서 기록한다.
커널 로그 - /dev/console . 커널에 관련된 내용을 표시
다암기는 말도안되고 .
tmp로끝나거나 lastlog가 로그인 로그아웃.
156 : 보안 솔루션
방화벽 , ids(침입탐지시스템) . 이상탐지, 오용탐지(이미 입력된애들)
ips(침입 방지까지! 시스템)
vpn(사설 통신망)
ssh(저렴한, 시큐어 셀) - 22번 포트, 키 인증, 서비스 수행
'자바 , 기타 공부 > 정보처리기사 공부' 카테고리의 다른 글
정보처리기사 실기 집중 공부할 부분 (0) | 2024.02.23 |
---|---|
오답노트 (2회독) (2) | 2024.02.06 |
2단원 소프트웨어 개발 (1) | 2024.01.06 |
1장 - 소프트웨어 설계of 꼭 주의!!gof 주의! (1) | 2024.01.02 |
3,4 과목 (1) | 2024.01.02 |