2011-11-28 4 views
1

웹 응용 프로그램을 디자인했습니다.이 응용 프로그램에는 복잡한 컨트롤러, 모델 및 뷰뿐만 아니라 일부 사용자 지정 라이브러리와 데이터베이스가 포함되어 있습니다.웹 응용 프로그램의 내부 동작을 설명하는 방법

여기에는 아약스 레이어가 있기 때문에 javascript 함수와 관련 서버 측 함수가 있습니다.

나는이 응용 프로그램을 직접 개발했으며 다른 사람들이 선택하면 논리 흐름에 대한 참조가 있음을 보장하기 위해 1 년을 줄이는 방법을 원합니다.

이 도구가 있습니까? 누구든지 전에이 문제가 있었습니까?

답변

2

좋은 시작은 코드베이스가 너무 커지기 전에 PHP Documentor (PHPDoc)를 사용하는 것입니다. PHPDoc은 코드 기반을 크롤링하고 문서 (일반적으로 웹 기반 HTML 세트)를 생성하지만 PDF 등을 생성 할 수도 있습니다. 함수, 메소드, 클래스 등은 코드의 관련 요소에 대한 링크를 갖습니다. 너무 커서 문서를 출력하기 위해 주석 태그를 추가하고 싶기 때문에 너무 커지기 전에 말합니다. PHPDocumentor (PHPDoc)는 여기 http://www.phpdoc.org/ 에서 찾을 수 있으며 정보 및 자습서는 웹 전체에서 찾을 수 있습니다. 당신이 다음 확실히 지금까지 PHP와이 갔을 경우이 같은 의견 태그/DocBlocks가하는 PHPDoc에 의해 분석 될 수있다 (문서 블록)

/** 
*@todo something I need to do 
*@param [type] [$varname] [description] 
* 
*/ 

을 발견하고 ... 매우 유용해야합니다 대부분의 IDE도 DocBlocks 사용에 매우 친숙하며 때로는 코드의 DocBlocks를 기반으로하는 코드 힌팅 등을 향상시킵니다. 데이터베이스 다이어그램을 구축 할 것 툴에 의해 설명 될 수 있습니다

데이터베이스에 대한 ... 거기에 많은 도구와 teqniques하지만 여기에 하나 개의 제안입니다

.... 예를 들어 MySQL을 사용하면 MySQL Workbench를 설치할 수 있습니다. 그러면 데이터베이스에 연결하고이 페이지의 그림과 유사한 다이어그램을 만들 수있는 도구가 제공됩니다 ... http://forge.mysql.com/wiki/MySQL_Workbench, 엔지니어링 및/또는 설계, ORM 도구 및 기타 때때로 다이어그램과 기존 DB는 많은 관계가있을 때 특히 유용 할 수 있습니다. MySQL Workbench는 다이어그램을 PDF 또는 이미지로 보낼 수있는 옵션을 제공합니다. 모두 매우 유용합니다.

향후 개발자에게 도움이 될뿐만 아니라 이러한 도구가 도움이 될 것입니다. 우리는 코드를 보지 않는 몇 주, 몇 달 후에 우리가 잊어 버린 것을 깨닫는 데 모두 놀란다. 바쁜 주말이라도 월요일 아침에 다시 천천히 시작할 수 있습니다.

내 마지막 제안은 ... 여기 간단하지만 버그/문제 추적을 살펴 봅니다. 온라인이 많거나 직접 설치할 수도 있습니다. 일부 버전 관리 (GitHub, Unfuddle, BitBucket 등) ... 또는 직접 설치할 수 있습니다. 나는 당신이 우분투를 저장소에 올바르게 사용하고 쉽게 설치할 수 있다면 Bugzilla가 설치하기 쉽다고 생각합니다.

1

이것은 분명히 당신이 찾고있는 모든 대답은 아니지만 항상 유용한 문서가 있습니다. 예, 예를 들어 PHPDoc과 같은 좋은 도구가 있습니다. 이것은 부분적으로 당신이 정확하게 무엇을하고 있는지를 설명하기 위해 워크 플로의 문서를 만들 수있게 해줍니다.

아래 라인을 추가하면 간단한 영어로 설명 할 수 있습니다. flows. 정말 큰 응용 프로그램이라면 자신 만의 wiki을 만들 수도 있습니다!

1

일반적으로 "빌드 된"문서로 알려져 있습니다. 인터 웹에 대한 풍부한 정보가 있습니다.

내 기본 설정은 문서를 여러 섹션으로 나누는 것입니다. 각각은 다른 것과 마찬가지로 중요하지만, 당신은 그들에게 동등한 시간을 할애 할 필요가 없습니다.

응용 프로그램이 어떻게해야 무슨 기능적인 디자인

? 예상되는 행동은 무엇입니까? 주요 사용자 여정은 무엇입니까?

다양한 수준의 세부 정보로 use cases 또는 사용자 스토리를 사용하고 싶습니다. 시스템 컨텍스트 다이어그램도 도움이됩니다. 유스 케이스는 시각적이거나 텍스트적일 수 있습니다. 당신이하고 수용하지 않은 목록 일 - 몇 시간은 종종 보안, 성능, 브라우저 지원, 검색 엔진 최적화, 같은 접근성을

것들 간단한 응용 프로그램을 설명

비 기능적 요구 사항에 충분하다 미래의 개발자는 무엇에 대해 걱정해야할지, 무엇을 테스트해야하는지 알고 있습니다.

개념 설계

주요 구성 요소, 통합 포인트 및 종속성을 식별 구축으로 시스템의 높은 수준의 개요.

상세 설계

이 변경 대부분의 대상이되는 비트 및 유지 관리 할 수있는 가장 큰 고통이다. PHPDoc을 사용하면 최신 상태로 유지할 수 있습니다. 당신이 테스트 주도 개발로 구입하지 않아도

접수는 응용 프로그램이 제정신을 유지하는 좋은 방법이 작동하는지 테스트하는 방법과 미래의 발전을 떠나,

을 테스트합니다. 이상적으로 수용 테스트는 자동/스크립팅됩니다 (예 : Selenium 사용). 이 모든 작업을 많이 할 수 있습니다

알려진 버그 미래의 개발자들에게 알려진 버그의 목록을 제공

머리를 당겨에서 그들을 중지는 ... - 많은 팀은 "사용 낮은 형식 '의사 소통의 방법 -. 위키 화이트 보드의 사진, 팀이 디자인을 설명 심지어 비디오 공식적으로

더, 산업 표준 방법으로 캡처 문서를 돕기 위해 UML 같은 표준이있다

.
관련 문제