-
Notifications
You must be signed in to change notification settings - Fork 2
Presentation Script BW
Introduce
안녕하세요, 1팀, Milestone 1 발표를 시작하겠습니다. 저희는 Project description을 통해서 고객이 기대하는 것은 Network 상에서 구동하는 Video call / Conference call 기능을 가진 Windows application 이며 특히 제한된 대역폭과 불안정인 Network 환경에서도 안정적이고 고품질의 영상 및 음성 통신을 보장하는 것을 가장중요하게 생각한다는 것을 알게 되었습니다. 이를 바탕으로 저희는 Requirement / QA / ASR 을 도출하고 Design decsion 과 Risk 를 해결하기 위한 실험 설계, 그리고 전체적인 계획을 수립했습니다.
Requirements
전체적인 설계방향을 수립하기 위해 Project Description 의 내용을 근거로 Use-case 를 분석하고, User-interface 의 Workflow 를 가정해 보는 방법으로, 구체적인 기능 요구사항을 도출하였고, Design contraint 를 나열하고, 이를 기반으로 설계에 큰 영향을 줄 수 있는 Quality attribute들을 도출하였습니다. 저희가 도출한 Quality attribute들은 다음과 같습니다. 저희는 Material 에 언급한 데로, Architecture decision 에 줄수 있는 영향도와, 기술적인 어려움을 고려하여 가장 우선순위를 가져야 할 3가지의 Architecture drive를 도출하게 되었습니다.
Architecture Driver
하나의 Performance 항목과 두개의 Availablity 항목을 저희는 핵심적인 Driver로 판단했고, 표에서 보듯이 각각을 해결하기 위한 Design decision 과 이 Decision 을 검증하기 위한 Expriment 들을 생성하였습니다. 이 Expeirment 는 ASR 뿐만 아니라 뒤에 설명하는 Risk 에서도 도출되었습니다.
System을 구성하는 Media server와 Client 간 Video/Audio 전송 STAR TOPOLOGY 를 사용함고 동시에, 네트워크 상황에 따라서 송수신 품질을 다양화함으로서 제한된 대역폭안에서 많은 사용자들의 원활한 Video/Audio call 을 보장하는것, 그리고 Network 에서 발생할 수 있는 Packet drop 이나 Jitter 를 빠르게 판단하고, 이를 가각 대처하여 사용자로 하여금 인지 가능한 Delay 나 Lagging을 최소화하는 것입니다.
Risk Assessment/Experiments
이러한 Design Decision 과 더불어 저희는 기술적인 Risk 와 이에 대한 해결방안오 아래와 같이 마련했습니다. 대부분의 Risk 는 이러한 Design decision 을 수행하기 위한 기술적인 Feasibility 를 확인하고 그 Decision 을 확정짓기 위한 것들입니다.
-STAR TOPOLOGY 의 효용성과 기술적인 적용가능성을 확인하는 것, -Network Bandwidth 에 합리적인 Video Quality 를 선정하고 변화시키는 것의 기술적인 Feasibility -Network 오류 (Drop/Jitter)를 복구하기 위한 방안을 찾고 기술적 Feasiblity 를 검토하는 것
Summay & Project Plan
여러가지 Risk 를 해결하기 위한 선택과 실험, 공부를 근거로
- Windows Application 이고,
- 사용자 계정기반으로 Direct call 와 Video conference기능을 제공하며,
- GStreamer open source를 사용해서 개발 일정을 최적화하며,
- System을 구성하는 Media server와 Client 간 Video/Audio 전송 STAR TOPOLOGY 를 사용함고 동시에, 네트워크 상황에 따라서 송수신 품질을 다양화함으로서 제한된 대역폭안에서 많은 사용자들의 원활한 Video/Audio call 을 보장하고,
- Network 에서 발생할 수 있는 Packet drop 이나 Jitter 를 빠르게 판단하고, 이를 대처하여 사용자로 하여금 인지 가능한 Delay 나 Lagging을 최소화하는
모든 기능을 만족하고 최고의 통화품질을 제공할수 있는 Software를 개발하기 위한 계획을 수립하였습니다. 개별 팀원들이 소규모 그룹을 이루어 독립적/병렬적으로 실험과 초기 개발을 진행하기 적절한 수준에서 Role을 분배하고 이에 따라서 Module 을 지정하여, 모듈별 개발/검증/통합에 적절한 방법으로 구현 요소를 분리하고 업무를 분배하고, 매주 수행해야 할 업무들과 그 업무들의 Dependency 와 통합 방안을 1차로 마련하여 아래와 같이 기록하였습니다.