본문 바로가기

카테고리 없음

소프트웨어 구축(공학/ 방법론)

  • ㅓㄴ소프트웨어 구축
    • 소프트웨어의 공학
      • 공학이 만들어진 이유 : 소프트웨어 위기가 찾아옴 그래서 공학이 만들어짐
      • 목적 : 효율적인 비용과 일정으로 품질 높은 소프트웨어를 만드는 학문
    • 소프트웨어 공학에 3R
      • 역공학 : 원시코드(이미 개발한 소스)를 보면서 문서를 추출하는 단계이다. *역으로 산출해가는 과정[과정 : 계분설구테배유]
        • CASE(RAD  모델 : CASE도구를 통해서 빠르게 개발하는 것)
          • 상위 CASE 도구 : 설계, 분석
          • 하위 CASE 도구 : 개발, 테스트, 문서화
      • 재공학 : 유지보수의 생산성으로 소프트웨어의 위기를 극복
        • 그대로둠
        • 재공학 과정
          • 분석 -> 재구성(리팩토링) -> 역공학 -> 이관
      • 재사용
        • 재사용의 종류 
          • 컴포넌트 재사용
          • 함수와 객체 재사용
          • 애플리케이션 재사용
        • 재사용 방법
          • 합성 중심 : 끼어맞추는 것, 조합
          • 생성 중심 : 추상화
    • 소프트웨어 개발 단계
      • 실제 프로젝트 시작
        • 계획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 배포 -> 유지보수
        • 요구사항 분석부터 테스트까지 개발이라고 한다.
    • 소프트웨어 방법론
      • 개발 방법론의 종류
        • 구조적 방법론 - 하향식, 순차적
        • 객제지향 개발 방법론 : 상향식
          • 클래스 : 공통된 속성과 메소드 묶은 객체를 추상화한 것
          • 객체 : 실체화하는 것이며, 인스턴스라고도 한다.
          • 메시지 : 명령을 내림
          • 캡슐화 : 외부에 노출시키지 않고, 인터페이스를 통해서 접근이가능하도록함
          • 정보은닉 : 객체들간에 외부 객체에게 숨기는 것 
          • 상속 : 부모 클래스것을 자식 클래스가 물려받는것(오버라이딩 = 재정의)
          • 추상화 : 공통의 성질을 모아둔것
          • 다형성 : 오버로딩, 오버라이딩
        • 애자일 방법론 : 변화에 빠른 대응 / 소단위로 조금씩 개발하는 것
          • 애자일 방법론 종류
            • XP : 5대 가치, 12실천사항
              • 5대 가치
                • 피존의용단새
                  • 피드백
                  • 존중
                  • 의사소통
                  • 용기
                  • 단순성
              • 12가지 실천사항
                • 공통 코드 소유
                • 짝 프로그래밍
                • 주 40시간 작업
                • 계획게임
                • 코드 표준
                • 고객 참여
                • 테스트 주도 개발
                • 짧은 릴리즈 주기
                • 지속적인 통합
                • 단순 설계
                • 메타포
                • 리팩토링
            • 스크럼 : 정해진 장소, 정해진 시간, 짧은 주기로 개발
              • 제품 백로그 : 전체 주기의 기능 명세
              • 스프린트 백로그 : 짧은 주기에 완료해야하는 기능 주기(시간)의 기능 명세
              • 스프린트 : 반복적인 개발 주기
              • SM : 스크럼 회의에서 문제를 해결하는 역할
            • FDD : 기능
        • 폭포수 모델링 : 변화가 불가능, 후반부에서야 결과 확인, 앞 단계가 완료되면 다음 단계로 진행
        • 프로트타입 모델링 : 시제품으로 빠르게 개발하여 고객에게 검증받기위한 모델링
        • 나선형 모델링 : 계획 및 정의 -> 위험 분석 -> 개발 -> 고객 평가 / 위험 요소를 추출하는 것이 목적
        • RAD 모델은 위 역공학에서 설명함
        • V형 : 단위테스트 -> 통합테스트 -> 시스템테스트 -> 인수테스트