웹 사이트 워크 플로우를 디자인하는 방법?


18

나는 최적의 답변에 도달하지 않고 정말로 오랫동안 이것에 대해 생각 해왔다.

우선, 나는 가정 학습과 자유 시간에 코드를 가지고 노는 많은 시간을 제외하고는 프로그래밍을 좋아하지만 실제로는 결코 연구하지 않은 의사입니다.

현재 저는 클리닉을 관리하기 위해 소규모 프로젝트를 구축하려고합니다.이를 위해 가능한 옵션 목록을 작성했습니다.

예:

  1. 활성 환자 기록.
  2. 다른 역할을 가진 인증 (예 : 환자, 간호사, 박사)
  3. 약속 일정 (일정을 cin 수있는 달력 / 수술 등 포함)
  4. 의사가 자신의 플러그인을 만들 수 있습니다.
  5. 의사가 자신의 통계를 볼 수있는 대시 보드

그런 다음 codeigniter / mysql / php / jquery로 시작하여 코딩을 시작했습니다.

개발 중 나의 단계 :-

  1. 첫 번째 데이터베이스.

여기에 이미지 설명을 입력하십시오

필요한 모든 테이블을 만드는 것으로 시작했습니다.

  1. 이 테이블을 처리하기 위해 모든 모델을 만들었습니다 (내 테이블 관계도 고려하면서 기본 읽기 / 쓰기 / 업데이트 / 확인을 처리하는 마스터 모델 1 개).

그 후 뷰와 컨트롤러를 코딩하기 시작합니다. 먼저 뷰 HTML을 만든 다음이 뷰를 처리 할 컨트롤러를 만들고 뷰 상호 작용이 작동하도록 함수 코딩을 시작했습니다.

약속보기를 코딩 할 때의 예 (controller booking.php) :

여기에 이미지 설명을 입력하십시오

이 레이아웃을 만들고 사용자가 클릭 할 때 테이블 td를 클릭 할 수있게했습니다 : jquery get (booking / add_patient_form) 팝업

사용자 저장시 : 예약 / 저장에 게시-약속을 저장하고 index () 함수를 다시로드

등등. 그리고 나는 전체 프로젝트를 달성하기 위해 뷰를 생성하는 동일한 단계를 계속했다.

결국 모든 대상 기능이 제대로 작동했지만 처음부터 PLAN없었기 때문에 전체 프로젝트가 뇌 폭풍과 펀치 계획이 없었기 때문에 지금까지 계획 한 것이 없었습니다. 유지 보수성과 유연성에 집착했습니다! 서로 연결할 수 없습니다.

웹 사이트의 모든 페이지가 다른 페이지와 완전히 분리되어 있다고 느끼고 각 페이지가로드되는 방법과 엿보기없이 내부의 기능을 기억할 수 없습니다!

어쨌든 이것을 복구하고 디자인을 얻을 수 있습니까?


5
나는 보통 큰 종이 조각 (A3 이상)과 펜을 꺼내고 웹 사이트의 기능과 데이터베이스 구조의 완전한 '워크 플로'를 파악할 때까지 순서도를 그리기 시작합니다. 그런 다음 다른 종이를 가져 와서 정말 기본적인 와이어 프레임을 해결해 보겠습니다. 거기서부터는 '그냥'코딩과 약간의 그래픽 디자인입니다. 모든 작업을 마친 후 마무리 작업과 세부 사항을 추가하겠습니다. 플로차트를 사용하면 어떤 기능을 어디에 배치했는지, 즉 어떤 위치에서 어떤 변수를 가져 오는지를 쉽게 알 수 있습니다.

3
큰 와이드 화이트 보드로도 더 좋습니다.) +1 @LuudJacobs. 클릭 프로세스가 어떻게 실행되어야하는지, 매번 어떤 엔티티와 기능이 제공되어야하는지, 그리고 가장 자주 검색하려는 데이터, 그다지 필요하지 않은 데이터 (드물게) 등을 누구보다 잘 알고 있습니다. 당신이 역사를 유지하고 싶은지 여부와 어디에 몇 가지 엔티티 다이어그램을 작성하면 모든 기분이 좋아지는 장소로 이동하여 선택한 도구 (DB 프론트 엔드)가 현재뿐만 아니라 많은 변경 요청없이 내일에도 귀하의 요구를 지원할 수 있는지 확인하십시오.
bonCodigo

@LuudJacobs 잘 감사합니다 :),하지만 그렇게하려고 화이트 보드를 잡고 내 DB 스키마를 인쇄하고 ... 아무것도 그리는 데 실패했습니다! 순서도가 어떻게 생겼는지 모르겠습니다. 나는 예제를 위해 구글 주변을 시도 할 것이다. 만약 당신이 실제 프로젝트의 흐름도를 가지고 있다면, 저는 그것을보고
싶습니다

+1 @bonCodigo : 화이트 보드를 사용하는 것이 더 좋습니다. a) 작업 할 공간이 더 많고 b) 물건을 쉽게 지울 수 있기 때문입니다. 다음 은 몇 가지 순서도 예제 가 포함 된 Google 검색 입니다. 플로우 차트를 만들기위한 좋은 소프트웨어는 MS의 Visio 및 Mac OmniGraffle을위한 포함

의사의 경우, 특히 프로그래밍 언어Nickleback을 선택했다는 점을 고려할 때 훌륭한 작업 을 수행했습니다.
Robert Harvey

답변:


6

귀하의 질문-소프트웨어를 개발하는 과정은 무엇입니까?-는 논쟁의 여지가 많은 주제입니다. 구글 "소프트웨어 방법론"이 웜이 얼마나 깊을 수 있는지 알기 위해 ...

일반적으로 허용되는 답변이 없습니다. 실제로 5 명의 프로그래머에게 물어 보면 내 경험상 7 개의 답을 얻게됩니다.

Steve McConnell의 "Code Complete"를 구입하여 코드를 배치하는 방법, 코드를 작성하는 방법, 코드를 테스트하는 방법과 같은 저수준 코딩 방법을 확인하는 것이 좋습니다. 아키텍처 수준에서 응용 프로그램을 구성하는 방법에 대한 개요는 Eric Evans의 "도메인 기반 디자인"을 권장합니다. 품질을 유지하면서 시간이 지남에 따라 소프트웨어를 "성장"하는 방법에 대한 개요로 Robert Martin의 "Agile Software Development : Principles, Patterns and Practices"를 추천합니다.

다른 개발자가이 책을 모두 거부하고 UML, Rational Unified Process 및 코드 생성을 알려줄 수 있습니다. 정답이 없습니다!


다른 답변에 대한 Neville K의 요점을 설명하기 위해 그는 최종 사용자 상호 작용을 디자인하기위한 좋은 리소스를 생략했습니다. ;-)
Eric G


0

SQL Maestro 회사에서 만든 MySQL 용 PHP 생성기를 사용 하여 데이터베이스 구조를 유지하고 새로운 PHP 코드를 생성하는 것이 좋습니다. 정말 나를 위해 일했습니다. 나는 그것을 많이 사용하고 정말 행복합니다. 특히 PHP 코드를 내 필요에 맞게 조정할 수 있습니다. 또한 요청한 새로운 기능을 업데이트에 통합하고 코드를 조정하는 방법에 대한 훌륭한 자습서를 제공합니다. 더 잘 이해하려면 이 데모 프로젝트를 살펴보십시오 .

웹 사이트에는 다음 제품 설명이 제공됩니다.

MySQL 용 PHP 생성기는 웹을 통해 이러한 객체에 대한 추가 작업을 위해 선택한 테이블, 뷰 및 쿼리에 대해 고품질 PHP 스크립트를 생성 할 수있는 MySQL GUI 프런트 엔드입니다. 주요 기능은 다음과 같습니다.

  • 데이터 관리 : 레코드 추가, 편집, 삭제 및 복사
  • HTML 모양 사용자 정의
  • 필터링 및 정렬 기능
  • 많은 보안 설정으로 데이터 보호
  • 마스터 디테일 프레젠테이션
  • 이벤트 중심 컨텐츠 관리
  • PDF, XML, CVS, Excel 및 Word로 데이터 내보내기

MySQL 용 PHP 생성기는 필요에 따라 그대로 사용하거나 수정할 수있는 명확하고 이해하기 쉬운 코드를 생성합니다.

프로그래머를 고용하거나 프로그래밍 언어를 배우거나 고가의 소프트웨어를 구입하는 데 드는 막대한 비용을 절약하십시오. 모든 코드가 자동으로 생성됩니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.