JSC

wjdtncjs.egloos.com

포토로그 마이가든




웹기획 개발 방법론 웹기획

웹사이트 공학(Web Site Engineering)이란 웹사이트 개발에 있어서 필요한 표준 개발 방법론이나 프로젝트 관리 등에 있어 기존 소프트웨어 공학의 방법론을 웹사이트 개발에 적용시키려고 하는 일련의 시도라고 볼 수 있다 (Jones, D.. et. al. 1998). 1960년대 하드웨어 기술 발전 속도가 소프트웨어 기술 발전 속도 보다 빨라서 새로운 소프트웨어에 대한 시장의 요구를 감당하기 힘들어 졌으며, 소프트웨어에 대한 유지보수비용이 전체 비용의 70%를 넘게 되는 문제가 발생하게 되었다. 이러한 문제점들은 점차 인건비 상승 효과와 우수한 소프트웨어의 부족현상으로 악화되어 소프트웨어 생산성 문제로 발전하게 되었으며, 이를 ‘소프트웨어 위기’라고 한다. 이러한 위기를 극복하기 위한 노력으로 소프트웨어 개발에 구조적이고 공학적인 접근방법을 시도하여 개발 예산 초과, 개발 일정의 지연, 저조한 생산성, 미흡한 품질 등에 관련된 문제들을 해결하는 소프트웨어 공학(Software Engineering)이란 학문이 대두하게 되었다. 초기의 웹사이트는 그래픽 디자인이나 정보설계, 사용자 인터페이스 등에 초점을 두었으나 웹사이트가 점점 복잡해지고 포탈 사이트화되어 가는 시점에서 이러한 소프트웨어공학 개념을 웹사이트 공학에 활용하는 방안이 대두하였다.

소프트웨어 개발방법론의 대표적인 폭포수 모델(Wasterfall Model), 프로토타입 모델(Prototype Model), 나선형 모델(Spiral Model)을 소개하고 이를 웹사이트 개발을 위한 방법론으로서의 활용방안과 문제점을 살펴보고자 한다.


  6.1 폭포수 모델

가장 오래되고 널리 사용되는 모델로 고전적 라이프사이클 모델이라고 할 수 있으며, 개발 단계는 요구사항 분석, 설계, 구현, 시험, 유지보수로 이어진다. 폭포수 모델은 프로젝트 진행과정을 세분화하여 진행함으로서 관리가 용이하다. 즉 각 단계별 절차를 이해하기 쉽고 작업진행 상황을 쉽게 파악할 수 있다. 그러나 대부분 경우 개발과정에 있어 피드백이 발생하기 때문에 순차적인 흐름을 따라가는데 어려움이 발생한다.  따라서 이 모델은 규모가 작고 구체적인 개발목표가 정립되었을 경우의 웹사이트를 구축할 때 효과적일 수 있다.

1) 요구사항 분석 : 사용자 요구사항을 정의하기 위하여 시스템의 요구사항을 수집한다. 시스템의 목표를 정하는 과정으로 그 결과물은 요구사항 명세서이다.

2) 설계 : 설계는 요구사항 분석과정에서 모아진 요구 사항을 설계도면에 옮기는 과정이다. 설계 과정은 물리적 실현의 첫 단계이다. 설계 단계의 결과물은 설계 명세서로 나타난다.

3) 구현 : 시스템의 기능이 수행 가능한 모습으로 나타난다. 구현은 프로그래밍 또는 코딩이라고 부른다. 프로그래밍의 결과는 컴퓨터 프로그램.

4) 시험 : 품질보증 활동의 중요한 일부분이다. 사용자 요구사항, 설계, 구현의 전 과정에 대한 최종 점검을 포함한다. 시험은 제품의 오류를 발견하고 수정하는 과정이다. 최소한의 시간과 비용을 투자해서 최대한의 확률로 오류를 찾아낼 수 있도록 이루어져야 한다.

5) 유지 보수 : 여러 변경 사항에 대해 적응하는 활동이며 변화에 대비하는 과정이다. 수정 유지보수, 적응 유지보수, 기능 추가 유지보수, 관리 유지보수를 포함한다.


  6.2 프로토타입 모델

프로토타입 모델은 앞서 서술한 폭포수 모델의 단점을 보완하기 위해 점진적으로 시스템을 개발하여 나가는 접근 방법이다. 즉 소프트웨어나 웹사이트 개발에 있어 고객의 요구를 어떻게 만족시켜야 할 지 모른다거나, 특히 고객자신이 원하는 것을 구체적으로 잘 모를 경우와 요구가 변경될 경우을 감안하여 개발자가 간단한 시제품(prototype)을 만들어 고객의 요구를 수용하면서 시스템을 보완해 가는 방법이 프로토타입 모델이다.

프로토타입 모델은 프로젝트 초기에 요구사항이 확실치 않거나 모든 요구사항을 미리 알수 없는 불안정한 상황일 때 보다 유용한 방법이다. 개발팀은 고객과의 대화를 통하여 전반적인 기능을 파악하고, 우선 간단히 설계를 한 후 시제품을 만들어 보여 줌으로서 고객으로부터 시스템 개발 초기에 피드백을 얻을 수 있다. 이렇게 고객으로부터 시제품에 대한 평가를 기초로 시제품을 발전시키거나 완제품을 만드는데 반영한다. 프로토타입 모델의 개발 단계는 6단계로 다음과 같다.

1) 요구사항 분석 단계 : 이 과정은 폭포수 모델의 첫단계인 요굿사항 분석 단계와 유사하나 고객으로부터 받은 일부의 요구 사항만 정의하고 완전치 않은 요구사항에 대하여 윤곽을 잡아 놓는다. 추가적인 정의가 필요한 부분은 시제품이 개발된 후 계속 정제해 나간다.

2) 시제품 설계 단계 : 프로토타입에 대한 설계를 하는 단계로서 고객들이 볼 수 있는 면에 초점을 맞춘다.  이어서 시제품 개발의 목표가 확립되고 시제품에 포함될 시스템의 기능들이 선정된다. 이 단계는 시제품에 포함되는 것과 배제되어야 하는 것에 대한 규명이 이루어지는 중요한 시점이다.

3) 시제품 개발 단계 : 이 단계의 목표는 가능한 시제품을 어떻게 해서 빨리 만들 수 있는가에 있다. 따라서 성능과 다른 시스템과의 인터페이스 등에 대한 것은 판단하기 어렵기 때문에 중요하게 다루어지지 않는다. 또한 오류나 예외처리를 해결하는 부분은 무시되거나 기초 수준 정도로만 구현한다. 일반적으로 시제품의 신뢰도와 프로그램 품질 수준은 떨어진다.

4) 고객의 시제품 평가 단계 : 프로토타입 모델의 가장 중요한 단계로서 고객에 의해 시제품이 평가되고 개발될 소프트웨어의 요구사항을 구체적으로 정제한다. 이 단계를 통해서 요구사항에 오류가 있다면 정정되어야 하며 추가되어야 하는 요구사항을 찾아 낼 수 있다.

5) 시제품 정제 단계 : 사용자가 원하는 것을 만족시키기 위해 시제품에 대한 조율이 필요하다. 시제품이 어떻게 고쳐져야 하는지 결정하고 다음 단계의 시제품이 빠르게 만들어 질 수 있도록 한다. 이 시제품은 다시 고객에게 평가되는 순환을 하게 되며 고객이 요구사항에 대하여 만족할 때까지 계속하여 향상된 시제품을 개발하게 된다.

6) 완제품 생산 단계: 이 단계에서는 고객이 원하는 시스템을 개발하는데 목표을 둔다. 만약 프로토타입을 버리고 새 시스템을 개발해야 한다면, 포포수 모델의 생명 주기를 따라 개발하는 것이 효과적이다.

웹사이트구축에서 프로토타입 모델은 사용자 그룹에 대한 정의가 명확하고 고객의 요구를 적극 수용해야 할 경우 적절하다. 개발시부터 고객의 요구를 철저히 분석하게 되므로 실패할 확률은 낮다. 그러나 시제품을 대상으로 평가를 수행하기 위해서 수반되는 여러 어려움이 있으며 대충 빨리 웹사이트를 만들어 시제품을 가지고 서비스를 시작하고 고객의 불만사항을 점차 해소해 나가겠다는 가벼운 생각은 웹사이트개발 자체를 실패로 이끌 수 있다. 따라서 시제품은 어디까지나 조직 내부에 시스템 평가 목적으로 사용되어져야 한다.


  6.3 나선형 모델(Spiral Model)

나선형 모델은 시스템을 개발하면서 생기는 위험을 관리하고 최소화하려는 것에 주 목적을 두며 나선을 따라 돌면서 점진적으로 완벽한 시스템을 개발하게 된다. 이 모델은 앞서 소개한 폭포수 모델과 프로토타입 모델의 장점에 위험 분석(risk analysis)이라는 새로운 요소를 추가한 모델이다.  나선형 모델의 4단계는 다음과 같다.

1) 계획 및 정의 단계 : 나선형 사이클의 시작은 성능, 기능을 비롯한 시스템의 목표를 규명하며 요구사항을 수집하고 프로젝트 계획을 수립한다. 시스템의 목표와 제약조건에 대한 차선책을 찾고 평가한다. 이러한 평가과정은 프로젝트 위험의 원인을 규명하는데 효과적으로 사용된다.

2) 위험 분석 단계 : 이 단계에서는 초기 요구사항에 근거하여 위험을 규명한다. 정보를 찾아내는 활동을 통하여 불확실성과 위험을 줄려나갈 수 있다. 결국 프로젝트를 계혹 진행할 것인지, 혹은 중단할 것인지를 결정하는 단계이다.

3) 개발단계 : 이 단계에서는 위험에 대한 평가를 한 다음 어떠한 패러다임이 적용되며 시스템 개발이 이루어 질 것인가 하는 개발 모델을 결정한다. 그 다음 시제품을 개발하거나 최종 제품을 만드는 단계이다.

4) 고객 평가 단계 : 이 단계는 시제품 혹은 최종 제품을 사용자가 평가하는 과정이다. 고객에 의해 시스템 평가가 이루어지고 고객이 시스템의 수정을 요구하면 반영되기도 한다.

나선형 모델은 비용이 많이 들고 시간이 오래 걸리는 관계로 대규모의 신규 개발에 적합하며 분석자가 사전에 나선형모델의 경험이 충분한 경우 적용을 권한다. 이미 구축되어 있는 사이트를 보수하려거나 효용성이 없는 사이트를 구축하기 위한 목적에는 부적절한 모델이다.


출처: 펌

datetime 년원일로 나오게 MYSQL


jQuery에 대해 WEB


[지식인펌]리터럴과 상수차이 컴퓨터용어

우선 오류를 없애기 위해서 위에 쓰신 분(hyeon39님)이 상수와 리터럴의 의미를 잘못 알고 계서서

그 말부터 하면요. 상수와 리터럴은 엄연히 틀립니다. 혼돈해서 사용하셨네요.

상수란 말씀하신 것처럼 값을 가지는 변수이나 그 값을 바꿀 수 없는 변수입니다.

즉 한번 메모리에 변수를 지정하고 그 변수에 값을 초기화하고 난 그 이후에는 값을 바꿀 수 없는

변수를 상수라고 일컫습니다. 다음과 같은 경우, PI가 상수가 되겠죠.

const float PI=3.14f; // C

public static final float PI=3.14f; // Java

반면 리터럴은 이러한 변수 및 상수에 저장되는 값 자체를 일컫습니다.

정수 리터럴, 실수 리터럴, 문자열 리터럴 이런 것들이 프로그래밍 언어의 한 요소로서

리터럴이라고 불리는 겁니다.

정수 리터럴 ---> 10, 1, 1000 등등
실수 리터럴 ---> 10.1, 10e3 등등
문자열 리터럴 ---> "System" "Exit" 등등

쉽게 얘기하면 변수나 상수는 메모리에 할당된 공간(내지는 그 이름, 사실 이보다는 바인딩이라고 해서

좀더 복잡한 얘기를 해야하지만 질문 내용과 무관하므로 생략하도록 하겠습니다.)이라면 리터럴은

이 공간에 저장되는 값이라고 할 수 있습니다. 그럼 ^^

아이폰 백업 아이폰


1 2 3 4 5 6 7 8 9 10 다음