컴퓨터소프트웨어

소프트웨어 수명주기 : 개념, 표준, 프로세스

소프트웨어 개발은 소위 소프트웨어 수명주기를 이해하지 않고는 불가능합니다. 이것은 일반 사용자에게는 알 필요가 없지만 기본 표준을 습득하는 것이 바람직합니다 (필요한 이유가 더 자세히 논의 될 것입니다).

소프트웨어의 라이프 사이클 : 공식적인 의미에서 무엇입니까?

소프트웨어 제품 의 수명주기에서, 개발 단계부터 응용 프로그램이 일상적 사용에서 완전히 제거 될 때까지 선택한 응용 프로그램 영역에서 응용 프로그램을 사용하기를 완전히 거부 할 때까지 실존 시간을 이해하는 것이 일반적입니다.

간단히 말해서, 프로그램, 데이터베이스 또는 심지어 "운영 체제"의 형태로 된 정보 시스템은 데이터와 해당 기능이 관련이있는 경우에만 요구됩니다.

라이프 사이클의 정의는 테스트 어플리케이션, 예를 들어 작업에서 가장 불안정한 베타 버전에 적용되지 않습니다. 소프트웨어의 수명주기는 여러 요소에 따라 달라지며 그 중 주요 역할 중 하나가 프로그램이 사용될 환경에 의해 수행됩니다. 그러나 생명주기 개념을 결정하는 데 사용되는 일반적인 조건을 식별하는 것이 가능합니다.

초기 요구 사항

일반적으로 모든 소프트웨어 제품의 개발 및 적용과 관련하여 다음과 같은 몇 가지 조건이 사용됩니다.

  • 문제의 진술;
  • 분석 시스템에 미래의 소프트웨어의 상호 요구 사항;
  • 디자인;
  • 프로그래밍;
  • 코딩 및 편집;
  • 테스트;
  • 디버깅;
  • 소프트웨어 제품의 구현 및 유지 보수.

소프트웨어 개발은 위에서 언급 한 모든 단계로 구성되며 적어도 하나 이상 없이는 수행 할 수 없습니다. 그러나 이러한 프로세스를 제어하기 위해서는 특수 표준이 수립되어야합니다.

소프트웨어 수명주기 프로세스의 표준

이러한 프로세스의 조건과 요구 사항을 미리 결정하는 시스템 중에서 오늘날 주요 프로세스는 3 가지입니다.

  • GOST 34.601-90;
  • ISO / IEC 12207 : 2008;
  • Oracle CDM.

두 번째 국제 표준에는 러시아어 아날로그가 있습니다. 시스템 및 소프트웨어 엔지니어링을 담당하는 GOST R ISO / IEC 12207-2010입니다. 그러나 두 규칙에 설명 된 소프트웨어 수명주기는 본질적으로 동일합니다. 이것은 아주 간단하게 설명됩니다.

소프트웨어 및 업데이트 유형

현대의 정보 시스템은 일반적으로 받아 들여지는 분야의 개념을 수립하는 시스템입니다.

예를 들어 시스템 프로그램 및 유틸리티, 멀티미디어 도구, 장치 드라이버, 오피스 응용 프로그램 등이 있습니다. 모든 종류의 소프트웨어 제품에 대해 존재 수명주기의 단계를 정의 할 수 있습니다.

이를 갱신하려면 업그레이드 도구가 가장 자주 사용됩니다 (운영 체제와 플랫폼 및 응용 프로그램 소프트웨어 모두). 아마도 Windows 기반 컴퓨터 시스템의 사용자가 시스템 자체 나 Microsoft .NET Framework 또는 Java 가상 시스템 과 같은 구성 요소를 업데이트하는 단계를 거쳤다는 것을 설명 할 필요는 없습니다.

디자인 단계

이제는 개발 단계에 관한 몇 가지 단어를 직접 작성하십시오 . 소프트웨어의 수명주기에는 처음에 프로젝트 계획, 시스템 및 대상 요구 사항 분석, 예비 또는 세부 설계 가능성, 코딩 및 테스트, 특수 시스템에서 프로그램 사용 가능성 등이 포함됩니다.

소프트웨어 라이프 사이클 모델은 소프트웨어를 작성하는 초기 작업이 특정 실행 환경을 사용하는 범용 응용 프로그램 또는 소프트웨어 제품의 개발로 축소되어야한다고 가정합니다.

개발

개발 시스템은 프로그래밍 언어입니다. 첫 번째 단계에서 소프트웨어 설계를이 단계로 줄일 수 있습니다.

그것이 C + / C ++, Java, Delphi 또는 구형 파스칼이 그다지 중요하지는 않습니다. 문제는 생성 된 응용 프로그램이 운영 체제에 통합되어 실패없이 작동 할 수있는 정도입니다.

이러한 의미에서 1 소프트웨어 수명주기는 시스템 요구 사항을 준수하지 못하거나 원래 설정된 작업을 수행 할 수 없거나 불가능하기 때문에 제품을 처음 설치 한 후부터 완전히 제거하기까지의 테스트 시간입니다.

다음 단계

소프트웨어 수명주기를 결정하는 추가 유지 보수는 코딩 및 응용 프로그램 소스 코드 확보로 축소됩니다.

무료 (공개) 배포의 경우 소위 인증서는 응용 프로그램이 작성된 프로그래밍 언어에 익숙한 제 3 자 사용자의 요청에 따라 소프트웨어 자체를 변경할 가능성을 제공하는 GNU 라이센스를 기반으로 사용됩니다.

닫힌 코드 인 경우 Disassembler와 같은 유틸리티를 사용할 수 있습니다. 그러나이 경우 실행 가능한 EXE 파일의 디코딩 만 가능하며 어떤 식 으로든 첨부 된 동적 DLL을 디코딩 할 수 없습니다.

그러나 이것은 이론입니다. 실제로 소프트웨어 라이프 사이클의 단계는 목록에 훨씬 더 많은 요소를 포함합니다. 가장 단순한 시뮬레이션 상황조차도 표준 검토 및 발언 (고급 아키텍처 요구 사항, 실행 코드 준수, 수단 및 검증 방법론)으로 구성됩니다. 이것은 소프트웨어의 수명주기입니다. 그러나 여기에 그러한 프로그램과 시스템을 관리하는 몇 가지 원칙과 이해하는 것이 중요합니다.

관리의 기본

소프트웨어 라이프 사이클 관리는 프로그램을 구성 요소로 나누는 방식으로 수행되며, 구성 요소를 생성하는 데는 상당히 다양한 도구가 제공됩니다.

동전에는 단점도 있습니다. 모듈의 선택은 초기 플랫폼의 개발자에게만 국한되며, 프로그래밍의 기초로합니다. 물론, 사용 된 개발 도구 (특히 재사용 가능한 모듈)의 통일과 타이핑을 고려한다면, 아무런 질문이 없습니다.

그러나 소프트웨어 수명주기 단계에는 반드시 데이터 처리 프로토콜, 서브 루틴, 표준 라이브러리 등의 작성이 포함되어야합니다.

중고 모듈

매우 특정한 구성 요소를 사용하지 않고는 단일 소프트웨어 라이프 사이클 프로세스가 완료되지 않습니다. 그 중 다음이 우선 순위로 간주됩니다.

  • 소프트웨어 제품을 시작하는 주체 (머리) 모듈;
  • 첨부 된 구성 요소 또는 동적 라이브러리 호출을 담당하는 제어 모듈.
  • 데이터 처리 및 추가 유틸리티를위한 기능 및 서비스 툴.

일반적으로 Windows 시스템 용 실행 파일은 "exeshnika"형식으로 제공됩니다. 제어 구성 요소에는 구성자 확장 (운영 체제의 경우 config.sys)이 있으며, 추가로 연결된 라이브러리에는 DLL 확장이 있습니다. 일부 응용 프로그램의 기능 및 설정 제어 및 처리는 XML 파일 처럼 보일 수 있습니다.

그런데 요즘 알려진 멀티미디어 프로그램의 대부분은 기본 구성 매개 변수를 보존하는 수단입니다. 물론 이러한 유형의 소프트웨어 사용은 제한적이지만 동일한 미디어 플레이어로 작업하는 일반적인 원칙을 이해하는 데 별 도움이되지 않습니다. 그리고 그 이유가 있습니다.

사실, 소프트웨어의 수명주기는 플레이어 자체의 업데이트 버전 또는 코덱 및 디코더 설치 수준에서만 이루어집니다. 또한 오디오 및 비디오 트랜스 코더는 모든 오디오 또는 비디오 시스템의 고유 속성입니다.

FL Studio를 기반으로 한 예

초기에 가상 스튜디오 시퀀서 FL Studio는 Fruity Loops라고 불 렸습니다. 1 차 수정에서 소프트웨어의 수명주기가 만료되었지만 응용 프로그램이 다소 변형되어 현재 양식을 획득했습니다.

생애주기의 단계에 대해 말하면, 우선 과제를 설정하는 단계에서 몇 가지 필수 조건이 설정됩니다.

  • Yamaha RX와 같은 리듬 머신 유형으로 드럼 모듈을 만들지 만, 스튜디오에 녹음 된 WAV 형식의 원샷 샘플 또는 시퀀스를 사용하여;
  • Windows 운영 체제에 통합.
  • WAV, MP3 및 OGG 형식으로 프로젝트를 내보낼 수있는 기능.
  • 추가 응용 프로그램이있는 호환성 프로젝트 Fruity Tracks.

개발 단계에서 C 프로그래밍 언어의 수단이 사용되었습니다. 그러나 플랫폼은 오히려 원시적이었고 최종 사용자에게 필요한 음질을 제공하지 못했습니다.

이와 관련하여 테스트 및 디버깅 단계에서 개발자는 독일 Steinberg 회사의 길을 따라 주 사운드 드라이버에 대한 요구 사항에서 Full Duplex 모드에 대한 지원을 적용해야했습니다. 음질이 높아지고 템포, 피치를 변경하고 실시간으로 추가 FX 효과를 중첩 할 수 있습니다.

이 소프트웨어의 수명주기가 완료되면 조상과 달리 이미 오디오 트랙과 MIDI 트랙을 무제한으로 추가 할 수있는 가상 64 채널 믹싱 콘솔에서 매개 변수를 편집 할 수있는 전체 시퀀서의 인터페이스가있는 FL Studio의 첫 공식 버전이 출시 된 것으로 간주됩니다.

프로그램 홍보가 그치지 않았습니다. 프로젝트 관리 단계에서 Steinberg가 개발 한 VST 플러그인 (첫 번째, 두 번째 및 세 번째 버전) 연결에 대한 지원이 도입되었습니다. 대략 말하면, VST 호스트를 지원하는 가상 신디사이저는 프로그램에 연결할 수 있습니다.

놀랍지 않은 것은 곧 어떤 작곡가도 "철"모델, 예를 들어 인기있는 Korg M1의 사운드 세트를 사용할 수 있다는 것입니다. 더 - 더. 중독성 드럼이나 범용 플러그인 Kontakt와 같은 모듈을 사용하여 전문 스튜디오에서 모든 음영으로 녹음 된 실제 악기의 라이브 사운드를 재생할 수있었습니다.

동시에 개발자는 ASIO4ALL 드라이버에 대한 지원을 작성하여 최대 품질을 얻으려고 시도했으나 Full Duplex 모드보다 높게 나타났습니다. 따라서 비트 전송률도 증가했습니다. 현재까지 내 보낸 오디오 파일의 품질은 192kHz의 샘플링 속도에서 320kbit / s가 될 수 있습니다. 그리고 이것은 전문적인 사운드입니다.

초기 버전의 경우 수명주기는 완전히 완료 될 수 있지만 응용 프로그램이 이름 만 변경하고 새로운 기회를 얻었 기 때문에 이러한 진술은 상대적입니다.

개발 전망

소프트웨어 수명주기의 어떤 단계가 이미 명확합니다. 그러나 이러한 기술의 개발은 별도로 언급 할 가치가 있습니다.

어떤 소프트웨어 개발자도 몇 년 동안 시장에 남지 않을 가능성이있는 딱딱한 제품을 만드는 데 관심이 없다고 말할 필요는 없습니다. 장기적으로 모든 사람이 장기적인 사용을 기대하고 있습니다. 이것은 여러면에서 달성 될 수 있습니다. 그러나 일반적으로 거의 모든 프로그램이 업데이트 또는 새 버전의 프로그램으로 릴리스됩니다.

Windows OS의 경우에도 이러한 경향은 육안으로 볼 수 있습니다. 오늘날에는 수정 3.1, 95, 98 또는 Millennium과 같은 시스템을 사용하는 사용자가 적어도 한 명 있습니다. 그들의 라이프 사이클은 XP 버전의 릴리스 이후에 종료되었습니다. 그러나 NT 기술 기반의 서버 버전은 여전히 적합합니다. 현재까지의 Windows 2000조차도 관련성이 높을뿐만 아니라 설치 또는 보안의 일부 매개 변수에 대해서도 최신 개발을 능가합니다. Windows Server 2012의 특수 수정뿐만 아니라 NT 4.0 시스템에서도 마찬가지입니다.

그러나 이러한 시스템과 관련하여 최고 수준의 지원은 계속 선언됩니다. 그러나 그 시간에 유명한 Vista는 분명히 일몰주기를 경험하고 있습니다. 미완성 일뿐 아니라 실수도 있었고 보안 시스템에 많은 피해가 있었기 때문에 그러한 튼튼한 솔루션을 소프트웨어 시장에 출시하는 것이 어떻게 가능한지 추측 할 수있었습니다.

그러나 어떤 유형의 소프트웨어 (관리자 또는 응용 프로그램)의 개발이 여전히 존재하지 않는다는 사실에 관해 이야기 할 때, 우리는 사실만을 진술 할 수 있습니다. 결국, 오늘날 컴퓨터 시스템뿐만 아니라 사용 된 기술이 종종 컴퓨터 분야보다 앞선 모바일 장치입니다. 8 개 코어를 기반으로 한 프로세서 칩의 출현이 가장 좋은 예가 아닌가? 그러나 모든 랩톱이 그러한 "철"을 자랑 할 수는 없습니다.

몇 가지 추가 질문

소프트웨어의 라이프 사이클을 이해하는 데있어, 소프트웨어 제품이 소프트웨어를 생성 한 개발자의 지원을 여전히 받기 때문에 특정 시점에서 종료되는 것은 매우 자의적입니다. 오히려, 엔딩은 현대 시스템의 요구 사항을 충족하지 못하고 환경에서 작동 할 수없는 오래된 응용 프로그램을 나타냅니다.

그러나 기술 진보를 고려하더라도, 이미 가까운 장래에 이미 많은 사람들이 옹호 할 수 없다. 업데이트를 발표할지 아니면 원래 소프트웨어 제품에 내장 된 전체 개념을 완전히 수정할지 결정해야합니다. 따라서 - 초기 조건, 개발 환경, 테스트 및 특정 영역에서 가능한 장기간 사용을 변경하는 새로운 사이클.

그러나 오늘날 컴퓨터 기술에서 생산에 사용되는 자동 제어 시스템 (ACS)의 개발이 선호됩니다. 심지어 운영 체제, 전문 프로그램과 비교하여, 잃게됩니다.

Visual Basic을 기반으로하는 동일한 환경이 Windows 기반 시스템보다 훨씬 많이 사용됩니다. UNIX 시스템 용 응용 프로그램 소프트웨어는 전혀 아닙니다. 말하자면, 실질적으로 동일한 미국의 모든 통신 네트워크가 독점적으로 작업한다면 말입니다. 그런데 Linux 나 Android와 같은 시스템도 원래이 플랫폼에서 만들어졌습니다. 따라서 유닉스는 다른 제품을 합친 것보다 훨씬 많은 잠재 고객을 보유하고 있습니다.

총계 대신에

이 경우에는 소프트웨어의 생명주기의 일반 원칙과 단계 만 제공된다는 점을 추가해야합니다. 사실, 초기 작업조차도 상당히 다를 수 있습니다. 따라서 나머지 단계에서는 차이점을 관찰 할 수 있습니다.

그러나 후속 유지 보수로 소프트웨어 제품을 개발하기위한 기본 기술은 분명해야합니다. 그렇지 않으면 생성되는 소프트웨어의 세부 사항과 그것이 정상적으로 작동해야하는 환경, 최종 사용자 나 생산에 제공되는 프로그램의 기능 등을 고려해야합니다.

또한, 때로는 수명주기는 개발 도구의 긴급성에 따라 달라질 수 있습니다. 예를 들어, 어떤 프로그래밍 언어 오래된, 아무도 더욱 더 그것을 기반 프로그램 등을 작성하지 않는다하지 않을 경우 - 자동 제어 시스템의 생산을 소개합니다. 이미 앞도 프로그래머, 컴퓨터 시장의 변화에 신속하게 반응 할 필요가 마케터가왔다. 그리고 세계의 전문가가 너무 없다. 높은 자격을 갖춘 직원, 가장 인기가되고, 시장의 펄스에 손을 유지하는 능력. 그리고 그들은 종종있는 IT 분야의 특정 소프트웨어 제품의 성공 또는 패배를 따라, "회색 추기경"소위.

분명이 분야의 세계적인 추세에 따라 소프트웨어 수명주기의 모델과 애플리케이션의 시간의 길이를 결정할 수 그들은 항상 프로그램의 본질을 이해하지 못하는 가정,하지만. 효과적인 관리는 종종 더 확실한 결과를 제공합니다. 예, 적어도 PR-기술, 광고, 등등. D. 수있는 모든 응용 프로그램 사용자가 필요하지 않습니다하지만 사용자가 설치 자랑 활성화되어 있음을 제공했다. 그것은 (상관없이 자신의 정보가 사용자의 마음에 투입되었을 때 25 프레임과 동일한 효과) 따라서, 잠재 레벨을 말하고있다.

물론, 세계에서 이러한 기술은 금지하지만, 우리 중 많은 사람들이 여전히 특정 방법으로 잠재 의식에 영향을 사용할 수 있음도 인식하지 못합니다된다. 사람이 두려움이나 부적절한 감정을 경험할 수 있도록 그것은 단지 "좀비"뉴스 채널 또는 인터넷 사이트, 말할 것도없고 같은 저주파에 노출 (이 같은 오페라 생산에 적용되었다), 같은 더 강력한 도구의 사용이다.

소프트웨어에 반환, 시작에 일부 프로그램은 사용자의 관심을 끌고, 소리를 사용하는 것을 추가해야합니다. 그리고 연구는 응용 프로그램이 다른 프로그램에 비해 실행 가능한 것을 보여준다. 물론, 증가하고 소프트웨어 수명주기는 상관없이 기능하는 것은 처음 부과되지 않습니다. 그리고 이것은 불행하게도, 이러한 방법의 적법성에 의문을 제기하는 많은 개발자는이 기술을 사용한다.

하지만 우리를 판단합니다. 아마도 가까운 미래에 개발 될 것 같은 위협을 정의하는 것을 의미한다. 이 단지 이론이지만, 반면, 일부 분석가와 전문가에 따르면, 실제 응용 프로그램에 거의있다. 당신은 이미 사본 만든 경우 신경망 다음 어떤 인간의 뇌를?

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ko.atomiyme.com. Theme powered by WordPress.