✅소프트웨어 공학 정의✅
효율적으로 품질 높은 소프트웨어를 개발하기 위한 학문
✅소프트공학의 3 R✅ (재공학, 역공학, 재사용 영어도 외우고 한글도 외우자)
역공학 - Reverse Engineering
역으로 산출한다고 생각하자
CASE도구를 이용하여 하는 작업이다.
현재 소프트웨어가 아닌 과거 소프트웨어를 타고 역으로 올라가서 소스코드를 산출하여 문서를 작성하는것
재공학 - Re Engineering
현재 있는 소프트웨어를 부시는게 아니고 유지보수 하는 작업
추가 , 수정 등 현재의 상태를 품질향상 유지보수 하는 작업이다
재공학과정
분석 ➡ 재구성 ➡ 역공학 ➡ 이관
재사용 - Re Use
실패 위험율이 감소한다ex ) 프로젝트를 진행할때 다른 프로젝트의 잘 만든 모듈을 사용한다고 생각하자쉽게 쉽게생각.. 쇼핑몰 주로 php로 만드는데 함수를 사용한다던지 app사용한다던지 기존에 있던걸 가져와서 사용하는 작업
재사용의 방법에는 합성중심, 생성중심 등.. 교재 읽어보자 부족한 부분은 나중에 또 정리하면서 추가
✅소프트웨어의 개발단계(안외우면 멍청이 바보.)✅
❗❗계획 ➡ 요구사항분석 ➡ 설계 ➡ 구현 ➡ 테스트 ➡ 유지보수❗❗
계획
RFP문서 (갑님이 담당 업체를 선정하기 위해 요구사항을 전달하는 문서)
(Request For Proposal의 약자로 회사에서 프로젝트를 담당할 업체를 선정하기 전에, 요구사항을 정리하여 후보 업체들에게 전달하는 문서.)
이때 이 문서를 보고 비용 . 기간등 예측한다
요구사항분석
선정된 업체는 고객의 요구사항을 분석해야함
요구사항분석과 설계는 실상 같이 간다고 생각하면 됨 사실 명확하게 구분 짓지는 않지만 시험을 봐야하니 구분해두자
요구사항 분석때는 고객의 머릿속을 끄집어 내는것이 가장 중요하다 .
요구사항을 잘 끄집어 내서 유도하고 협상하는 과정
설계
일단 모델링, 그림 등 으로 쉽게 알아두자
구현
코딩, 디버깅 , 모듈테스트 등 개발자들이 투입되서 개발되는 과정이 이 시기이다.
테스트
개발한 프로그램을 검사, 평가하는 과정이다.
유지보수
만들어 놓은 프로그램의 문제점을 수정하고 사용할 때 버그도 수정하고 필요한 기능추가 등 발전을 시키는 단계이다
과정중에 가장 돈이 많이 든다!
✅소프트웨어의 개발방법론(필기 실기 나올 확률 매우 높음)✅
구조적방법론, 정보공학방법론, 객체지향방법론, CBD분석론, 애자일방법론
구조적방법론
하향식 방법론에 속한다
나씨 - 슈나이더만차트 사용
❗전체 시스템을 기능에 따라 나누어 개발하고 이를 통합하는 분할과 정복 접근 방식의 방법론❗
(문제집 보니 구조적 방법론 물어볼 때 요거 많이 물어봄)
정보공학방법론
주로 기업에서 사용한다
데이터 중심의 방법론이고 개발주기를 이용해 대형 프로젝트를 수행하는 체계적인 방법론
객체지향방법론
객체라는 기본단위로 시스템 분석 및 설계 방법론
객체, 속성, 메서드 구성
현실세계의 객체를 속성과 메서드형태로 표현했다.
캡상추다정보은닉( 캡슐화, 상속, 추상화, 다형성, 정보은닉)
컴포넌트기반방법론(CBD)
소프트웨어를 구성하는 컴포넌트를 조립해 새로운 응용프로그램을 작성하는 방법론
개발기간 단축 생산성 향상
기능추가가 쉽다.
❗재사용❗이 가능하다
애자일방법론
빠르게 개발하는 방법론
절차보다는 사람이 중심이 되어 변화에 유연 신속하게 적응하면서 효율적으로 개발하는 방법론
고객니즈를 판단해서 빠르게 빠르게 개발
(XP, SCRUM, 린(Lean)이 있음)
❗xp의 5가지 핵심가치❗(무조건 외우고 가자)
(의단용존피)
의지, 단순성, 용기, 존중, 피드백
12가지 기본원리는 그냥 책에서 쓰윽 훑자..
SCRUM
매일 정해진 시간, 장소에서 짧게 회의하는 방법론
백로그, 스프린트...등등....
린(lean)
도요타 나오면 린임 외우삼
7가지 원칙 있으면 린, 칸반보드사용
✅소프트웨어의 개발모델(필기 실기 나올 확률 매우 높음)✅
폭프나반폭포수모델, 프로토타이핑모델, 나선형모델, 반복적모델
폭포수모델(Water fall)
물이 떨어지면 거꾸로 돌아갈수 없듯이 단계를 확실히 마무리 지은후에 다음 단계로 넘어가는 모델가장 오래된 모델이다고전적 생명주기 모델이라고 한다요구사항변경 어렵다문서를 명확하게 하고 넘어간다절차 (계획 분석 설계 구현 테스트 유지보수 💨 아까 위의 소프트웨어 개발단계랑 동일하다)
프로토타이핑모델
고객이 요구한 주요기능을 프로토타입으로 구현해 피드백 반영하여 소프트웨어를 만들어가는 모델시제품을 보여준다 (완제는 아님 , 주로 html, 이미지등을 이용해서 보여줌)아무래도 시제품을 보여주다 보니 시간이 오래걸리고 사용자 평가가 들어간다
나선형모델
시스템 개발시 위험을 최소화 하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델(모델에서 위험 나오면 나선형임)
❗절차 무조건 외워야됨❗
계획 ➡ 위험분석 ➡ 개발 ➡ 평가
반복적모델
사용자의 요구사항을 일부분 반복적으로 개발하여 최종 시스템으로 완성하는 모델
RAD모델
CASE도구를 사용하여 만듬짧게 개발 (60-90일 정도)
V모형
폭포수모델 + 테스트작업
단위테스트 ➡ 통합테스트 ➡ 시스템테스트 ➡ 인수테스트
'STUDY(개인 기록) > 자격증' 카테고리의 다른 글
| 정렬 알고리즘(정보처리기사) (0) | 2025.02.24 |
|---|---|
| 삼항연산자(정보처리기사) (1) | 2025.02.24 |