2014년 1월 8일 수요일

[소프트웨어공학] 소프트웨어 공학의 개념

- 자료를 직접 입력 또는 첨부파일 첨부 둘중에 하나를 하려 하였으나 첨부파일이 안되네요.
- 감리사, 기술사.
- 게시된 자료를 가지고 개인적인 학습은 가능 하나 무단 배포 및 게시를 금지 합니다.



1. 소프트웨어 공학


1.1  소프트웨어 공학의 개념


1) 소프트웨어 공학이란?


l  소프트웨어 공학이란?
     -     소프트웨어의 생산과 관련된 모든 부분에 공학적 원리와 방법을 적용시킨것.
     -     팀을 이루어 하는 작업을 말한다.
           프로그래밍을 팀을 이루어 하는 작업이라고 생각 하는 사람이 많을 것이나 
           프로그래밍은 개인적인 작업이다.
     -     기법/도구 보다는 관리기술과 방법론을 더 중요시 함.
     -     소프트웨어를 경제성 있게 개발하기 위해 공학적 원리를 웅용하고 확립시킨 이론.
     -     소프트웨어의 개발, 운용, 유지보수 및 폐기 처분을 위한 제도적인 접근방안. 
           즉 소프트웨어의 생노병사의 제도적인 관리방안이다.

l  소프트웨어 공학의 특징

         -  공학적인 지식을 소프트웨어 설계와 제작에 응용, 개발, 운영 유지보수에
                필요한 문서화 과정이며 비교적 큰 규모의 소프트웨어 시스템을 대상으로
            한다.
-  개발 중심이 아니며 사용자의 요구를 전략적으로 계획 하고 운영 단계에서
   사용자가 시스템을 사용하고 효과를 얻을 수 있도록 하는것을 특징으로
   한다. 

l  소프트웨어 공학의 주요 목적

-     SW 개발 유지보수에 있어서 생산성과 품질향상

-  유지 보수 용이한 SW 개발, 재사용 가능한 SW 개발

  비용 효과적인 SW 개발 및  주어진 비용과 자원 안에서 품질 좋은 SW 기간
   내에 생산

l  소프트웨어 공학의 주요 관심분야

-      비용 산정 기법,  Process 개발 공정 관리 기법,  CASE 도구화, 
    소프트웨어 품질 척도 측정 개발

2) 소프트웨어 공학이 다른 공학과 구별되는 차이점


l  소프트웨어 제품은 형태가 없다.
    소프트웨어 개발 Project를 생각 해보자
     개발자가 Program을 개발하고 있지만 PL, PM, 발주자는  Project의 진척 상황을 알수
     없다
     왜냐하면 개발자가 개발한 것이 실절적으로 운용 될수 있는것을 개발 한것인지 아니면
     껍데기만을
     개발한것인지 개발을 안하였으면서 개발 한것 처럼 허위 진척 보고를 하고 있는것
     인지  실직적으로  확인 할 수 있는 방법이 없다.
     실제로 프로젝트를 진행하다보면 초기 분석 설계 기간에 허위로 진척 보고 및 엉터리
     분석 설계를 하여 놓고 도망가는 엔지니어들이 있다.
     이는 소프트웨어가 하드웨어 처럼  제품의 형태가 없어 발생되는 문제로 이 문제를
     해결 하기 위하여   PL, PM, 발주자는 문서에 의존 할 수 밖에 없다.
l   표준화된 프로세스가 없다. 소프트웨어 공학은 표준화된 프로세서가 없다
     즉 조직에 따라 매우 가변적이다  
     조직의 문화 또는 프로젝트의 규모, 프로젝트팀의 특성, 심지어는 프로젝트 팀원의
     성향에 따라 변경 될수도 있다.(이는 나의 개인적인 생각이다)
    

l  대규모 소프트웨어 프로젝트는 종종 일회성(one-off) 프로젝트이다.

3) 개발 방법론 패러다임


l  프로세스 중심 방법론: 1970년대, 하향식 방법론, = 자료흐름방법론, 절차식방법
  론,  구조적방법론,
        - 자료의 변환과정, 프로세스를 강조하여 설계하는 방법.

l  자료중심 방법론: E-R 다이어그램 토대, 하향식 방법론,  = 정보공학방법론
        -  먼저 자료의 구조가 정의되면 DB에서 중요하게 사용되는 E-R 다이어그램을
           토대로 프로세스를 파악

l  객체지향 방법론: 1980년대, 자료와 프로세스를 묶어서 생각, 상향식 방법론
    (Bottom-up)



댓글 없음:

댓글 쓰기