개념: e-business 솔루션 개발
e-business 응용프로그램을 빌드하는 것은 비즈니스 프로세스를 구현하기 위한 인터넷 솔루션을 빌드하는 것을 의미합니다. 여기에는 전자상거래가 포함되며 조직 전체의 모든 비즈니스 프로세스로 확장됩니다.
기본 설명
라이프사이클 사이의 활동:
개념: 
백서:

소개

e-business 응용프로그램을 빌드하는 것은 비즈니스 프로세스를 구현하기 위한 인터넷 솔루션을 빌드하는 것을 의미합니다. 여기에는 전자상거래가 포함되며 조직 전체의 모든 비즈니스 프로세스로 확장됩니다.  

E-business 시스템은 다음과 같이 나눌 수 있습니다.

  • 단순히 웹을 사용하여 정보를 공개하는 첫 번째 세대 시스템
  • 전자상거래와 단순한 트랜잭션 모델을 구현하는 두 번째 세대 시스템
  • 종종 레거시 시스템 및 인터넷 장치와 통합하여 프로세스를 완전히 다시 디자인함으로써 적응성 있고 완전한 비즈니스 프로세스를 자동화하는 매우 개인화된 (B2C 또는 B2B) 솔루션을 제공하는 세 번째 세대 시스템

세대에서 시스템이 더 멀리 떨어져 있을 수록 개발은 더 복잡해집니다.

도입/인식(Inception) 단계 활동

도입/인식 단계의 기본 워크플로우는 다음 확장 또는 변형과 함께 적용됩니다.

환경

 타스크: 프로젝트에 대한 가이드라인 준비의 중요성이 확대되어 다음을 (상위 레벨에서) 설명하는 가이드라인 세트인 '크리에티브 디자인 요약'에 웹 개발자가 요구하는 내용에 초점을 맞추고 있습니다.

  • 사이트의 분위기(예: 사이트가 권위적입니까 아니면 재미 또는 서비스를 제공합니까? 사이트가 보수적입니까 아니면 자극적입니까?)
  • 사용자들이 사이트에 액세스하는 방법(예: 사용자들의 연결 속도는? 디자인에 가정되어 있거나 지정된 최소 속도가 있습니까?)
  • 사용자 상호작용 정도(예: 사용자에게만 알려야 합니까? 아니면 액터와도 커뮤니케이션해야 합니까(양방향 커뮤니케이션)? 응용프로그램 디자인이 응용프로그램에 액세스하는 사용자에 따라 달라야 합니까?)
  • 사용자가 사용 중인 브라우저(운영 체제 간 차이도 포함)
  • 사이트에서의 프레임 사용 여부
  • 사이트의 색상 제한사항
  • 적용 가능할 경우, 그래픽 표준 안내서(로고 및 모든 전용 색상에 대한 표준 포함)
  • 특정 웹 기법의 사용(예: 마우스오버, 애니메이션, 뉴스 공급, 멀티미디어 등)

'크리에티브 디자인 요약'은  중간 산출물: 프로젝트 가이드라인에 설명된 사용자 인터페이스 가이드라인으로 전개되며, 본래 사용자 인터페이스 가이드라인의 초기 버전입니다.

요구사항

다음 활동 중 일부는 이 가이드라인 범위를 벗어나는 비즈니스 모델링 연습 결과를 사용 중일 수 있다고 가정합니다.

이 활동은 덜 중요합니다. 대부분의 문제점은 이미 비즈니스 모델링에서 발견되어 있어야 합니다.

이 활동은 덜 중요합니다. 대부분의 이해 당사자(stakeholder)는 비즈니스 모델링에서 이미 찾았어야 합니다. 그러나 시스템에 대한 비기능적 요구사항을 찾는 데 초점을 둔 일부 연습을 수행할 필요가 있습니다.

이 활동은 덜 중요합니다. 시스템 경계는 비즈니스 경계로 정의됩니다. 시스템은 전형적인 응용프로그램보다 더 비슷하게 비즈니스를 반영하기 때문입니다(어떤 측면에서는 시스템 비즈니스임).

분석 및 디자인

타스크: 사용자 인터페이스 디자인탐색 맵을 생성합니다. 탐색 맵은 사이트 사용자가 탐색할 방법을 보여주는 웹 솔루션의 보기로, 계층 구조의 "트리" 다이어그램으로 표시됩니다. 다이어그램의 각 레벨은 해당 화면 또는 페이지를 가져오기 위해 필요한 클릭 수를 보여줍니다. 일반적으로, 웹 사이트의 가장 중요한 영역은 첫 번째 페이지(일반적으로 "홈 페이지"라고 함)에서 한 번 클릭하여 바로 갈 수 있기를 원합니다. 탐색 맵은 사실상 스토리보드의 요약으로, 유스 케이스 각각에 해당되는 주요 창 또는 웹 페이지의 식별부터 시작하여 사용자가 이 요소들 사이에서 탐색하는 방법을 고려합니다.

정제(Elaboration) 단계 활동

정제 단계의 기본 워크플로우는 다음 확장 또는 변형과 함께 적용됩니다.

  • 활동: 후보 아키텍처 정의

    타스크: 아키텍처 분석은 웹 응용프로그램이 제대로 정의된 메커니즘(웹 브라우저, Java 애플릿 및 servlet, ASP 및 JSP 등)을 포함하여 비교적 제대로 정의된 아키텍처를 가지고 있다는 지식을 이용합니다. 일반적으로는 개념: 계층화에 설명된 대로, 웹 응용프로그램 개발 프레임워크가 더 구체적이지 않은 한 단순 계층화 구조로도 충분합니다. 많은 경우에, 이전 웹 개발 프로젝트에서 구입하거나 재사용가능한 사전 정의된 상용 아키텍처가 있을 수 있습니다. 웹 응용프로그램 프레임워크(예: IBM의 WebSphere 또는 Microsoft의 Windows DNA)는 단지 이런 종류의 아키텍처 템플리트를 제공합니다.

    웹 응용프로그램은 일반적으로 계획된 중단 시간을 가지고 있지 않습니다. 아키텍처는 시스템이 실행 중인 동안 및 기본 서버 실패 발생 시 또는 유지보수 또는 서버 업그레이드 발생 시 대기 서버로 전환하고 있는 동안 시스템 업그레이드를 제공해야 합니다. 일부 웹 응용프로그램 프레임워크는 프로덕션 지원을 위한 도구를 제공합니다. 어쨌든, 응용프로그램에 고가용성 요구사항이 수반될 경우 이 요구사항을 지원하는 데 필요한 하부 구조를 구입하거나 빌드할 계획과 이 기능의 지원을 아키텍처에 통합할 계획이 필요합니다.

  • 활동: 동작 분석

    타스크: 사용자 인터페이스 디자인은 정제(Elaboration) 반복에서 반복적으로 수행됩니다. 이 활동의 초기 실행은 사이트에 있는 주요 웹 페이지의 디자인에 대한 실물 크기 모형 표시인 '크리에티브 디자인 컴포지션'을 생성하는 데 초점을 맞춥니다. 이 '컴포지션'은 일반적으로 브라우저 창처럼 보이게 하기 위해 브라우저 창 그래픽으로 틀을 만든 "일반" 그림입니다. '컴포지션'의 주요 이점은 사이트의 그래픽 추구 방향이 일치할 때까지 더 복잡하고 비용이 많이 드는 HTML 프로토타입의 투자를 연기할 수 있다는 것입니다.

    '크리에티브 디자인 컴포지션'은 가장 중요한 유스 케이스의 인터페이스 요구사항을 찾고 해당 룩앤필에 대해 많은 대체 디자인(10개 이상)을 개발하여 작성됩니다. 이 세트를 통해 이해 당사자(stakeholder)에게 표시할 가장 유망한 세 가지의 옵션을 선택합니다. 이 선택은 최종 웹 디자인에 합의하고 스토리보드탐색 맵 세트가 생성될 때까지 반복됩니다.

    합의하고 사인오프하면 크리에이티브 디자인 컴포지션은 타스크: 사용자 인터페이스 프로토타입 반복을 통해 기능적 사용자 인터페이스 프로토타입으로 전개됩니다. 초기 웹 UI 프로토타입은 일반적으로 시스템 부분(가장 중요하고 구조적으로 중요한 유스 케이스)만 지원합니다. 기능성으로 사용자 인터페이스의 레이아웃을 가져오려면 프로토타입을 개발하기 전에 유스 케이스 이벤트 플로우에서 우수한 구조를 가져야 합니다.

    후속 반복에서, 웹 프로토타입이 확장되어 점차적으로 광범위한 유스 케이스 적용 범위와 더 심층적인 아키텍처 연습이 추가됩니다.

    타스크: 유스 케이스 분석은 GUI의 동작 뿐만 아니라 기본적인 비즈니스 로직(일반적으로 웹 서버나 응용프로그램 서버에서 실행될 파트)에 초점을 맞추는 것이 중요하다는 사실 외에는 거의 변경되지 않습니다. 이와 같은 사실을 잊을 경우 시스템 동작의 가장 중요한 부분을 놓치게 됩니다. 웹 페이지 자체는 '경계' 클래스로 표시되고, 데이터 요소는 '엔티티' 클래스로 표시되며 서버측 동작(예: 활성 서버 페이지, servlet 등)은 '제어' 오브젝트를 통해 표시됩니다.

    유스 케이스 분석 바로 다음에는 타스크: 디자인 요소 식별중간 산출물: 분석 클래스를 정제하여 웹 개발 프레임워크의 기존 메커니즘에 맵핑하고 가능한 경우 이전 프로젝트나 반복의 기존 디자인 요소를 재사용합니다. 이 때, 종종 원하는 만큼 재사용할 수 있도록 식별된 분석 클래스의 범위 및 정의를 재조정해야 합니다.

    웹 응용프로그램을 설명에 사용되는 UML 사용에 대한 자세한 설명은 Whitepaper: UML을 사용하여 웹 응용프로그램 아키텍처 모델링을 참조하십시오.

  • 활동: 환경 준비.

    사용자 인터페이스 가이드라인 개발 외에 웹 디자인 요소(사이트의 웹 페이지를 빌드하기 위해 어셈블되는 별도의 그래픽 이미지)가 작성됩니다. 웹 사이트에서 사용자 인터페이스의 일관성은 사용성에 중요합니다. 웹 사이트는 일관성 있는 사용자 경험을 제공해야 합니다. 이를 위해 프로젝트는 전체 사이트에서 표준 그래픽 요소 세트를 일관성 있게 사용해야 합니다.

    이와 같은 요소의 개발은  타스크: 프로젝트 가이드라인 준비의 확장으로, 사용에 대한 가이드라인 작성이 포함됩니다. 모든 팀 구성원이 이 요소를 사용하는 시기와 방법을 이해하게 하십시오. 웹 디자인 요소 예제에는 탐색 장치 및 페이지 배경과 같은 그래픽 요소가 포함됩니다. 전체 사이트에서 고품질의 표준 그래픽 요소를 재사용하면 일관성이 유지되고 마켓팅 시간과 개발 비용이 줄어듭니다. 또한 더 작은 고품질 요소 세트를 배치하여 품질을 높일 수 있습니다.

    가이드라인 준비를 초기 웹 사용자 인터페이스 프로토타입 개발과 함께 수행하어 사이트의 스타일 안내서를 생성합니다. 이 스타일 안내서는 무엇보다도 웹 디자인 요소를 사용해야 하는 방법 및 시기, 색상 체계, 글꼴, 캐스케이딩 스타일시트, 탐색 요소의 동작 및 위치 지정 방법에 관한 세부사항을 지정합니다.

  • 활동: 아키텍처 정제

    타스크: 디자인 메커니즘 식별은 시스템의 비기능적 요구사항을 웹 개발 프레임워크가 제공하는 메커니즘에 맵핑하는 데 한층 더 초점을 맞춥니다. 프레임워크가 제공하지 않는 메커니즘(존재할 경우)을 식별하여 대체 솔루션을 찾아야 합니다.

    타스크: 런타임 아키텍처 설명은 대부분 웹 서버 및 응용프로그램 서버 층(개념: 분포 패턴 참조) 및 응용프로그램에서 동시성을 관리하는 데 사용되는 프로세스 및 스레드에 초점을 맞추게 됩니다. 일반적으로 클라이언트측 시스템에서의 처리에 대해서는 제어가 거의 없거나 전혀 없습니다.

    타스크: 분포 설명은 초점을 '원하는 서버 노드 종류'에서 '원하는 각 서버 노드 종류의 수'로 변경합니다. 일반적으로, 웹 개발 프레임워크는 비교적 잘 정의된 기능 경계를 사용하여 고정된 서버 유형(예: 웹 서버, 응용프로그램 서버, 메일 서버, 통신 게이트웨이 서버) 수를 제공합니다. 결국 소프트웨어 설계자의 스킬은 보통 필요한 각각의 서버 종류 수를 판별하는 방법으로, 사용 가능한 서버 유형을 사용하여 확장성 및 결함 허용 요구사항을 처리하는 방법에 초점이 맞춰지고 있습니다. 또한 추가 서버가 필요한 시기를 알 수 있는 방법을 판별하기 위한 측정 계획도 필요합니다.

  • 활동: 평가 미션 정의

    계획은 웹 응용프로그램이 동시 사용자 수의 현저한 증가를 지원할 수 있도록 성능 테스트에 주로 초점을 맞춥니다. 결과적으로 테스트 활동 테스트 접근 방식 확인, 테스트 및 평가, 허용 가능 미션 달성, 테스트 자산 개선 역시 아키텍처가 확장 가능하도록 성능에 한층 더 초점을 맞춥니다.   

    기타 중요한 테스트 유형사용성 테스트구조 테스트입니다. 사용자 상호작용을 테스트하여 웹 응용프로그램 구조가 사용자에게 적절한지 확인해야 합니다. 어떤 경우에는 사용자가 응용프로그램을 사용하는 방법을 모니터할 수 있도록 응용프로그램을 인터넷에서 유지해야 합니다.

    많은 시간이 걸리는 또 다른 테스트 유형은 브라우저 테스트입니다. 브라우저와 브라우저 버전 사이의 호환성으로 인해 종종 사용자 인터페이스의 디자인 옵션이 제한되기 때문입니다.

  • 활동: 컴포넌트 구현, 각 서브시스템 통합시스템 통합

    프로젝트에 대해 지금까지 수행된 아키텍처 결정의 유효성을 검증하기 위해 하나 이상의 아키텍처 프로토타입이 개발 및 테스트됩니다. 여기에는 활동: 컴포넌트 구현, 활동: 서브시스템 통합활동: 시스템 통합의 연속적인 실행이 포함됩니다. 위에 언급된 대로 테스트는 특히 시스템 로드의 예측할 수 없이 증가하는 응용프로그램 확장성에 초점을 맞춰야 합니다.

구현/구축(Construction) 단계 활동

구현/구축 단계의 기본 워크플로우는 다음 확장 또는 변형과 함께 적용됩니다.

전이 단계 활동

  • 웹 환경에서의 제품 릴리스는 점진적이고 계속적이며 전형적인 매체 분배에는 초점을 덜 맞추는 추세입니다. 이에 따라 릴리스 계획을 조정해야 합니다.
  • 웹 환경에서의 사용자 교육은 사이트를 직관적으로 사용할 수 있도록 웹 사이트 자체의 디자인에 통합되는 추세입니다. 전형적인 교육 및 사용자 매뉴얼 또는 문서 작성은 줄어들고 프로세스의 프론트 엔드에서의 그래픽 및 컨텐츠 디자인에 대해 더욱 강조하게 됩니다.
  • 웹 환경에서의 프로덕션 응용프로그램 지원은 예측할 수 없는 로드 상황에서 고가용성을 유지하는 데 초점을 맞춰야 합니다. 또한 기본 서버가 실패할 때 계속 실행할 수 있는 기능을 제공하고 시스템 실행 중에 서버 업그레이드를 허용할 수 있어야 합니다.
  • 개발 팀에서 프로덕션 지원 팀으로 지식 이전을 수행하여, 프로덕션 지원 인력이 시스템을 실행하고 일정한 유지보수를 수행할 수 있도록 해야 합니다.
  • 사용자가 응용프로그램을 사용하는 방법을 추적하십시오. 이 정보는 응용프로그램 사용자와 사용 방법을 학습하는 데 유익합니다. 이 관찰은 추가 릴리스를 개발하여 사용자 상호작용을 개선하는 데 도움이 될 수 있습니다.
이 페이지의 부분은 Context Integration과 함께 개발됩니다. 컨텍스트 로고 링크