SW 공학 핵심개념

개념
1. 소프트웨어 - 프로그램 + 프로그램의 개발, 운용, 보수에 필요한 정보 일체(소프트웨어 생산 결과물 일체) - 매뉴얼 , 개발 과정에서 생성된 문서, 등도 포함 될 수 있다. 2. Program - 논리적, 산술적 혹은 기타 신속하게 처리 할 기능들을 프로그램밍 언어로 구현한 명령어 및 관련 데이타의 집합 3. 시스템 - 유기적으로 상호 작용하는 개체들의 모임

  • 소프트웨어

    - 프로그램 + 프로그램의 개발, 운용, 보수에 필요한 정보 일체(소프트웨어 생산 결과물 일체)

    - 매뉴얼 , 개발 과정에서 생성된 문서, 등도 포함 될 수 있다.

     

  • Program

    논리적, 산술적 혹은 기타 신속하게 처리 할 기능들을 프로그램밍 언어로 구현한 명령어 및 관련 데이타의 집합

     

  • 시스템

    유기적으로 상호 작용하는 개체들의 모임

    소프트웨어는 컴퓨터를 기반으로 하는 여러 시스템과 관계를 맺고 있음

    특징 : 시너지 효과, 역동적으로 발전, 변경, 상충되는 요구와 이해 관계의 절충. 트웨어 자체도 하나의 시스템

    A purposeful collection of  inter-related components working together to achieve some common objective.

    A system may include software, mechanical, electrical and electronic hardware and be operated by people.

    System components are dependent on other system components.

    The properties and behaviour of system components are inextricably inter-mingled

     

  • 소프트웨어 개발 , 생산

    소프트웨어는 프로그램의 동적인 실체

    프로그램은 형식 언어로 표현된 지적 노동의 결과물

    제조업 vs. 서비스업(소프트웨어는 제작이 아니라 창조적 개발)

    닳아 없어지는 것이 아니라 소용없어 못쓰게 됨

    논리적인 요소로 구성(유지 보수가 복잡)

     

  • Brooks(1987) mentioned as next.

구분

내용

비가시성(Invisibility)

 - 구조가 외부에 노출되지 않고 코드에 내재되어 있음

복잡성(Complexity)

 - 정형적 구조가 없어 개발과정이 복잡하고, 비규칙적, 비정규적

변경(Changeability)

 - 필요에 따라 항상 수정이 가능(진화성)

순응성(Conformity)

 - 요구 및 환경의 변화에 적응하는 유연성

무형(Intangible)

 - 매우 중요하나 사실 형체가 없는 무형성 때문에 FP(Function Point)등으로 유형화하려는 노력

장수(Longevity)

 - 외부의 환경에 의해서 마모되는 것이 아니라. 품질이 나빠지는 것(비마모성)

복제 가능(Duplicability)

 - 소프트웨어는 간단하고 쉬운 방법으로 복제 가능

 - 다양한 경로와 노력으로 복제가 가능

댓글