Core Concepts
이 논문은 혁신적인 소프트웨어 개발 환경인 "Software through Pictures"의 개발 배경과 다른 소프트웨어 제품과의 통합을 통해 소프트웨어 개발 수명주기 전반을 다루는 소프트웨어 공학 환경을 구축하기 위한 원칙을 설명한다.
Abstract
이 논문은 소프트웨어 공학 환경의 역사적 배경과 혁신적인 "Software through Pictures" 개발 환경의 설계 원칙을 다룹니다.
초기 프로그래밍 환경의 발전: 1960년대 후반과 1970년대 초반에 등장한 Dartmouth BASIC, WATFOR, WATFIV, INTERLISP, Smalltalk-80 등의 프로그래밍 환경이 소개됩니다. 이러한 도구들은 프로그래밍, 코딩, 실행을 위한 통합 개발 환경(IDE)으로 알려졌습니다.
소프트웨어 공학의 등장: 1960년대 말 소프트웨어 공학이 등장하면서 프로그래밍 작업뿐만 아니라 소프트웨어 개발 프로세스와 도구에 대한 관심이 높아졌습니다. 미국 국방부가 스폰서한 Ada 프로그래밍 언어와 함께 APSE(Ada Programming Support Environments)에 대한 요구사항을 정의한 "Stoneman" 문서가 소개됩니다.
User Software Engineering(USE) 프로젝트: 저자가 참여한 USE 프로젝트는 프로그래밍 방법론에 초점을 맞추는 기존 접근과 달리 사용자 인터페이스 설계를 포함하는 외부 설계 방식을 도입했습니다. USE 도구 세트에는 신속 프로토타이핑 도구, 관계형 DBMS, 프로그래밍 언어 등이 포함되었습니다.
Software through Pictures(StP) 개발: USE 도구에 대한 기술 지원 요청에 응답하여 저자가 1983년에 설립한 IDE(Interactive Development Environments)에서 StP가 개발되었습니다. StP는 다양한 그래픽 기반 소프트웨어 설계 방법을 지원하고, 모델의 일관성을 검사하며 데이터베이스 스키마, 데이터 사전, 코드 스켈레톤 등을 생성할 수 있었습니다.
StP의 혁신적 측면: StP는 Unix 설계 원칙에 따라 모듈화되어 있었고, 관계형 DBMS를 사용하여 다중 사용자 환경을 지원했습니다. 또한 NFS와 X 윈도우 시스템을 활용하여 이기종 네트워크 환경에서 작동할 수 있었습니다.
StP의 채택과 발전: StP는 1984년 11월에 상용화되었고, 15년 이상 지속적으로 업데이트되어 새로운 설계 표기법과 플랫폼을 지원했습니다. 또한 다른 소프트웨어 제품과의 통합을 지원하여 C 개발 환경, C++, Ada 등과 연동되었습니다.
도구 통합 원칙: 이 작업을 통해 소프트웨어 공학 환경에서의 도구 통합 프레임워크가 개발되었습니다. 이는 프레젠테이션, 플랫폼, 데이터, 제어 등 4가지 차원의 통합을 다루며, 프로세스 통합이라는 5번째 차원을 포함합니다.
Stats
1960년대 후반과 1970년대 초반에 Dartmouth BASIC, WATFOR, WATFIV, INTERLISP, Smalltalk-80 등의 초기 프로그래밍 환경이 등장했습니다.
1983년 Borland에서 개발한 Turbo Pascal이 저렴한 가격으로 출시되면서 프로그래밍 환경에 대한 관심이 급격히 증가했습니다.
1980년 BSD Unix 배포와 함께 USE 도구 세트가 UC 버클리에서 배포되었습니다.
1983년 IDE(Interactive Development Environments)가 설립되었고, 1984년 11월 StP가 상용화되었습니다.
StP는 15년 이상 지속적으로 업데이트되어 새로운 설계 표기법과 플랫폼을 지원했습니다.
Quotes
"StP was not a monolithic system, but rather a collection of modules (more than 50) that communicated with one another through a shared relational DBMS and procedure calls."
"All of the interfaces and file formats were documented and made available to users, including the schema of the database, making StP as open as possible, and available to others for tool integration."
"StP took advantage of the Network File System (new at the time) [11] and the X Windows System [12]. The result was that StP worked in a heterogeneous network environment with different brands of workstations."