[정보처리기사 필기정리] 메티코드 강의 후기 :: 2강 소프트웨어 개발

2024. 12. 8. 22:16메타코드/정보처리산업기사

 

 

이미지를 눌러 메타코드 가기


 

강의목차

 

 

 

 

 

 

정보처리기사 2강 공부한드아!!!

 

 

 

 

 

 

 

 

 

강의 정리 및 필기

 

♣통합구현

개별적으로 만들어진 소프트웨어들을 한 곳에 모아 완성된 프로그램을 만드는 과정.

컴파일

- 사용자가 코딩을 한 고수준의 언어를 저수준의 언어로 변환하는 작업

테스트

-오류를 찾는 작업

디버그

-오류를 수정하는 작업

 

소프트웨어 재사용

-이미 개발된 소프트웨어의 전체 또는 일부분을 재사용하는 기법

재공학

-기존 소프트웨어 유지.

-분석,재구조,역공학

- - 분석- 재공학을 설계하기 위해 동작을 이해하는 단계

- - 재구조- 추상적인 수준에서 구조를 다른 형태로 바꾸어보는 작업

- - 역공학- 기존에 만들어진 소프트웨어를 분석하여 설계를 알아내는 방법

- - 아식- 기존 소프트웨어를 새로운 환경에서 사용할 수 있도록 변경

재개발

-기존의 것을 허물고 참조하여 새로 개발

 

재공학이 재개발에 비해 갖는 장점

-위험부담감소

-비용 절감

-시스템 명세의 오류 억제

 

통합구현관리

-IDE - 개발과 관련된 모든 작업을 처리하는 환경을 제공하는 프로그램

 

IDE 기능

-coding

-compile

-debugging

-deployment

 

소프트웨어 형상 관리

-개발의 전체비용을 줄이고 개발 과정의 여러 방해 요인을 최소화

ex)git

 

형상 관리 도구의 주요 기능

-체크인

-케트아웃

-커밋

 

형상 관리의 절차

-형상식별

-형상통제

-형상감사

-형상기록

 

♣ 제품 소프트웨어 패키징

소프트웨어 패키징

0-개발 완료된 소프트웨어를 배포 가능한 단위로 묶어 사용자가 쉽게 설차, 실행 할 수 있도록 하는 과정

툭징

-사용자 중심으로 진행

고려사항

-다양한 이기종 연동을 고려

 

DRM

-디지털 콘첸트의 불법 복제와 무단 사용 방지 기술

-사용 권한 관리, 과금,유통단계를 제어하고 관리하는 기술

-크랙 방지, 정책 관리, 암호화, 키 관리, 식별 기술, 저작권 표현,요ㅏㅁ호화 파일 생성, 인증 

 

제품 소프트웨어 매뉴얼

-사용자가 솦트웨어를 설치하고 사용하는 데 필요한 정보를 제공하는 문서

-사용자 관점에서 작성되어야 함

 

매뉴얼 작성 정차

컴포넌트 명세서 -> 적송자참 종우ㅏ -> 설명서 구성요소 정의 -> 구성요소별 내용 작성->사용설명서검토->사용자 매뉴얼

=>충분한 시간 투자가 중요

 

국제 제품/프로세스 품질 표준

-국제 표준

 

품질 목표

-이식성

-신뢰성

-효율성

-유지보수성

-사용성

-기능성

 

소프트웨어 공학

-품질을 올리고 생산성과 작업 만족도를 올리는 것이 목적.

기본원칙

-현대 프로그래밍 기술을 계속적으로 적용

-품질 유지를 위한 지속적인 검증 시행

-결과에 대한명확한 기록 유지

공학적으로 잘된 소프트웨어 설명

-신뢰성이 높고 유지보수 용이함

-사용자 수준에 맞는 인터페이스

-충분한 테스팅

소프트웨어 공학 관련 법칙

-Brooks우ㅢ 법칙- 일정이 지연된다고 프로젝ㅌ 말기에 새로운 인원을 투입하면 더 지연됨

-pareto의 법칙- 소프트웨어 오류의 80%는 전체 모듈의 20%에서 발견된다

 

소프트웨어 버전 관리

 

소프트웨어 버전 관리 도구의 형상 관리 역할

-이전 버전이라 리비전에 대한 정보에 점급 가능하여 배포본 관리에 유용

-불필요한 사용자의 소스 수정 제한

-동일한 프로젝트에 대해 여러 개발자 동시개발 가능

-빠른 오류 복구 가능

 

♣ 애플리케이션 테스트 관리

소프트웨어 테스트

-예상대로 작동하는지 확인하기 위해 오류를 찾아내고 품질을 보장하는 과정

테스트 케이스

-입력값, 실행조건, 예상 결과를 명시한 일련의 집합

-테스트의 목표와 방법을 정한 후 작성

테스트 오라클

-정답지

-참, 샘플링,휴리스틱,일관성 검사가 존재

 

태ㅔ스트레벨

단위테스트->통합테스트->시스템테스트->인수테스트

 

단위테스트

-모듈이 정확히 구현되었는지 점검

찾을 수 있는 것들

-오류에 따른 결과

-탈출구가 없는 반복문의 사용

-틀린 계산수식에 의한 잘못된 결과

*화이트박스테스트

*블랙박스테스트

통합테스트

-개별 모듈이 결합되어 상호작용할 때 시스템이 올바르게 동작하는 지 확인하는 것

-상향식과 하향식 존재

 

상향식

-하위 모듈에서 상위 모듈로 테스트

-Test driver는 아직 개발되지 않은 상위 모듈을 대신해 하위 모듈을 호출함

 

하향식

-상위 모듈뷰토 하위 모듈ㅀ 테스트를 진행하는 방식

stub은 아직 개발되지 않은 하위 모듈을 대신해 사용되는 모듈

 

시스템 테스트

-시스템의 모든 기능이 통합된 상태에서 제대로 동작하는지 확인

 

인수 테스트

-시스템이 최종 사용자의 요구사항을 만족하는지 확인

알파테스트

-내부 팀 또는 선택된 사용자가 통제된 개발자 환경에서 징행되는 테스트

베타 테스트

-개발자 없이 실제 사용자가 소프트웨어를 사용해 보고 피드백을 제공하는 테스트

강도테스트

-시스템에 과다 정보량을 부과하여 과부하 시에도 시슷템이 정상적으로 작동되는지 테스트

 

소프트웨어 테스트의기본 원칙

-결함 집중. 대부분의 결함은 소수의 특정 모듈이나 부분에 집중적으로 발생함(파레토 버빅)

살충제패러독스

-동일한테스트 케이스만 반복하면 새로운 결함을 찾기어려움

오류부재의 궤변

-소프트웨어에 오류가 없더라도 요구사항을 충족시켜주지 못하면 실패한 시슷템임

완벽한 테스팅은 불가능

-모든시나리오를 테스트하는 것음 불가능, 테스트는언제나 제한적

 

 

 

 

강의간단요약및느낀점

정보처리기사 필기....이번 강은 외워야 하는 것들이 많다. 처음부터 많은 양을 하려니 헷갈리고 그런다...이름이랑 내용 쉽게 외울 수 있는 방법 없을꽈...

정보처리기사 기출부터 풀면서 답을 외우고 나중에 강의 보면서 이게 이거구나~하고 이해하는게 내 방법에는 더 맞을지도..?

 

 

이미지를 눌러 정보처리기사 공부하러 가기