17.tigerteam design document

197 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
197
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

17.tigerteam design document

  1. 1. Design documentContent1. 선택한 design method2. design architecture3. risks1. 선택한 design method – Agile method & waterfall model●왜 Agile method를 선택했나?1. 짧은 개발기간- 한 학기동안의 개발기간, 다른 과목들과의 병행으로 인한 개발 집중 시간 부족- 팀원들 모두가 android application 개발은 처음이였기 때문에 android app 개발을 공부할 시간이 추가적으로 필요했음.2. Implementation First and, maintainable code Second- 코드의 maintenance에 집중하기 보다는 일단은 빠른 구현이 중요했음●왜 waterfall model을 선택했나?1. 완벽한 업무 분배- 팀원들이 모두 수업시간이 각각 다르고 같은 공간에 시간을 정하여 모이기 어려운 관계로 업무분배를 확실히 하여 자신의 파트를 완성한 후에 완성된 코드를 합치는 형태의 작업을 했다- UI 작업완료- database 적용- GPS 구현- 마지막 database 적용이러한 순서로 일을 진행했고, 각 작업들은 완벽하게 분리하여 작업했고 마지막에 완성된 코드를합쳤다.2. design architecture본 팀의 시스템을 한 눈에 알아보기 쉽도록 design architecture를 만들어 보았다.2-1. use case2-2. activity diagram2-3. sequence diagram2-4. state diagram
  2. 2. 2-1. use case2-2. activity diagramregisterEdit profileShow exerciserecordStart exercise
  3. 3. 2-3. sequence diagram<Edit User Information - Sequence diagram>Edit User Information - Tabular descriptionActors User, Data BaseDescription Change User information from database.If user’s weight or Inch is reduced or increased, we shoulduse this function.Data User Information( weight, Inch), Password, etc ….Stimulus Edit button, User Input(weight, Inch)Response Confirmation about updating DataBase or notComments We should use this function sincerely and honestly.Then we can check change of our body, and we can planexercise correctly.Message(Fail)Message(OK)OKError (Type, storageerror etc..)Store(User info)Check(Fail)Check(Ok)Uqdate(User info)Edit( )Check(password)FailAuthorization(Password)UserInformationData Base
  4. 4. < Show User’s Record >show user’s menual – table descriptionShow MenuActors User, DBSDescriptionDisplay user’s record about past exercise.If users want to check previous exercise record or want tomake better exercise plan, then We have to pass this function.Data User’s information about previous exerciseStimulus User record button, Correct User informationResponse Show user’s previous exercise informationCommentsIt can help users who want to establish better exercise plan.Also it helps to check user’s previous exercise information
  5. 5. Start exercise – table descriptionStart ExerciseActors User, DBSDescriptionWhen user starts exercise, this mode is excuted automatically. In thisfunction, we can know the time (that we spend in exercise), theway(that we exercised until now)Data - (Nothing)Stimulus Exercise start buttonResponse Show current exercise informationCommentsUsers can check current exercise information, like distance and time.So we can manage our exercise more effieciently.
  6. 6. 2-4. state diagram3. risks처음 개발을 진행하기 전, design을 할 때 고려했던 risk들 이다. 이러한 risk들을 예상했고, 그에대한 대비책을 마련했었지만 발생했던 risk도 있었고 발생하지 않은 risk도 있었다.
  7. 7. 실제로 발생한 risk1. 짧은 개발기간미리 준비해두었던 solution대로 documentation에 집중하기 보다는 개발과 android study에 더많은 시간을 투자했다. 먼저 개발 prototype을 내고 난 후, 조금씩 수정을 거쳤다.2. 적은 인원의 개발자적은 인원이 참여한다는 risk에 대비하여 job을 나누지 않고 함께 모여서 개발을 진행하겠다는 대안을 세웠었지만, 실제로 solution대로 진행을 하다보니 여러가지 환경적 문제들이 발생했다. 따라서 다시 계획을 세워 job을 철저하게 나누면서 waterfall process model을 적용함으로써 개발 시간을 단축시키고 환경적 제약사항들을 극복할 수 있었다.3. 새로운 버전의 안드로이드 시스템 등장본 시스템 개발을 착수하기 이전에 tomcat을 이용하여 외부 서버와 android application을 통신하는 과제를 수행할 적에, android 높은 버전에서 구현이 어려웠던 문제가 발생했다. 따라서 본 팀에서는 외부 서버를 이용하는 대신, android 상에서 직접 제공하는 내부 database인 SQLite를 사용함으로써 버전이 맞지 않아 발생하는 문제에 대응할 수 있었다.본 팀이 SQLite를 사용한 이유는, 시스템의 특성상, 사용자의 운동 기록 정보를 핸드폰 외부에서access하여 열람할 가능성이 거의 희박하기 때문에 SQLite를 사용하여도 시스템 상에 전혀 문제가 발생하지 않을 것이라고 판단하여 SQLite를 사용하기로 결정하였다.실제로 발생하지 않은 risk1. 팀 멤버의 휴학다행히 어느 누구도 휴학을 하지 않아서 project를 효율적으로 진행할 수 있었다.

×