소프트웨어 수명주기란 사용자의 요구에 따라 소프트웨어 시스템이 탄생하고 가동 및 운용되는 가운데 수정,보완이 반복되어, 최종적으로는 사용이 종료될 때까지의 기간을 말한다.
즉 소프트웨어의 탄생에서부터 소멸할때까지의 사이클을 말한다.
소프트웨어의 설계,구현,테스트,운용 및 유지보수라고 하는 공정은 다른 공업 제품의 제조공정과 같은 형태이다. 단 소프트웨어 자체가 실제로 보이지 않는다고 하는 점이 다르다. 이와 같은 것이 소프트웨어 수명주기의 공정분할을 분명하지 않게 하여 획일적인 기준을 세우기 어렵게 하는 원인이 되고 있다.
소프트웨어의 수명주기에 관해 여러 모델을 제시하고 있느나 각각 조금씩 다르게 구성되어 있다. 그것은 개기인이 보다 중요시하고 있는 닩계를 중심으로 전개하기 때문이다. 또한 이것은 소프트웨어 생산에는 여러 가지 작성순서가 있으며 그 어떤 것을 택해도 소프트웨어를 작성할 수 있으며 샐행 가동할 수 있다는 소프트웨어의 특수성을 표시하는 것이다.
여기서 수명주기 모델은 소프트웨어 개발을 위해서 시스템 수준에서 시작하여 분석,설계,구현,시험 그리고 유지보수의 전 과정을 통해 전개되는 체계적이고 순차적인 접근방법을 요구한다. 이것을 폭포수 모델이라고 부른다.
구조적 기법의 개발방법론
소프트웨어 개발이란 추상적인 개념을 설정하여 그것을 구체화하는 활동이다. 종래의 개인적인 능력을 통한 생산방법에서는 머릿속에서 전개하여 결과를 구체화했다. 그러나 아무리 조그마한 소프트웨어라고 하더라도 개발 도중에 경과가 분명하지 않으면 재조정이나 보수작업이 곤란해진다.
또한 소프트웨어의 요구는 멈추지 않고 점점 고도화,대규모화되므로 개인으로서는 대응할 수 없는 경우가 많아지고 있다. 따라서 일반적으로 프로젝트팀을 통한 개발체제를 택해 분업화,표준화,문서화해야한다.
1.기획단계
기획단계에서는 현행 시스템 운용상의 문제점을 파악하고, 문제점의 해결을 위해 정보화 방향 측면에서 어떠한 대안을 강구할 것인가를 알기 위한 조사를 행하며, 이는 앞으로 해야 할 요구분석의 기초가 되기도 한다. 기획단계에서는 경영진의 경영의도와 조직의 목표, 해당 프로젝트에 대한 의사 결정과정 및 업무추진 개요 등을 파악하고 이에 대한 문제점을 도출하여 해결하는 방향으로 진행된다.
그리고 이렇게 도출된 문제에 대한 해결방안으로서 정보화 모델을 제시함과 아울러 경제적,기술적,운용상의 제약점을 제사한다. 이와 같은 기획단계의 수행내용을 타당성 검토라고도 한다.
요구사항 수집과정은 특별히 소프트웨어에 집중되어 있고 초점을 맞추고 있다. 구축될 프로그램의 성격을 이해하기 위해 소프트웨어에 대한 정보영역을 이해해야만 한다. 시스템과 소프트웨어에 대한 요구사항들은 고객과 함께 문서로 만들며 또한 검토할 수도 있다.
2.요구분석단계
기획단계가 끝나고 정보화의 타당성이 입증되어 프로젝트를 수행하기로 결정될때 경영자는 기획된 시스템에 관한 지속적인 조사를 할 수 있게 지원해줘야 하며 조사과정에서 어떤 문제가 발생하지 않도록 이끌어주어야 하는데 이때 해야하는 단계가 요구분석단계이다.
시스템 분석자는 현행 시스템에서 실제로 어떤 일이 수행되고 있는지 각 단계별로 가장 중요하고 의문나는 사항을 파악해야 한다.
3.설계단계
소프트웨어 설계는 프로그램의 4개의 다른 속성에 초점을 맞추고 있는 다단계 과정으로 자료구조, 소프트웨어 구조, 세부절차,인터페이스들이다. 설계과정은 요구사항을 코딩하기 전에 품질을 평가할 수 있는 소프트웨어 구성의 한 부분이다. 시스템 설계는 현행 시스템에 대한 조사와 분석이 끝나면 다음 단계인 시스템 설계에 들어가게 되는데, 이 단계가 새 시스템의 처리체계를 만드는 단계이다.
시스템 설계란 일부 혹은 전체를 새로운 방법으로 고안해 내어 정보를 처리할 수 있도록 하는 창조적 활동이다. 구조적 설계방법은 문제를 해결하기 위한 기능들의 상호 관련성을 고려하면서 단계적으로 구체적인 기능모듈 단위로 세분화하는 절차로서, 분할과 계층적 구성 등의 방법으로 대규모 시스템의 복잡성을 해결한다.
따라서 점점 더 점진적으로 개발되고 운용하는데 효율적인 시스템을 개발하는것이다.
4.구현단계
시스템 개발단계는 프로그래머를 통해 프로그램이 작성되고 테스트되어 전산화시스템이 만들어지는 단계로 프로젝트의 전체 과정 중 가장 많은 시간과 노력이 요구되는 단계이며 이때 프로그래머는 설계서에 포함된 프로그램 작성요령을 충분히 이해하고 활용하여 프로그램을 작성한다.
5.시험단계
개발적인 프로그램들의 테스트가 끝나고 나서 전체적인 테스트를 해야할 단계이다.
6.인수/설치단계
'컴퓨터의 발전과 이해' 카테고리의 다른 글
정보시스템의 발전 (0) | 2020.11.09 |
---|---|
객체지향 개발방법론 (0) | 2020.11.06 |
프로그램 설계와 개요 (0) | 2020.10.20 |
고급언어의 종류별 특성 feat C언어,자바 (0) | 2020.10.19 |
프로그래밍 언어 (0) | 2020.10.18 |