วิธีการออกแบบเวิร์กโฟลว์เว็บไซต์?


18

ฉันคิดถึงเรื่องนี้มาเป็นเวลานานโดยไม่ได้รับคำตอบที่เหมาะสม

ก่อนอื่นฉันเป็นแพทย์ที่รักการเขียนโปรแกรม แต่ไม่เคยเรียนเลยยกเว้นการเรียนรู้ที่บ้านและการเล่นกับรหัสเป็นเวลาหลายปีในเวลาว่าง

ขณะนี้ฉันกำลังพยายามสร้างโครงการขนาดเล็กเพื่อจัดการคลินิกของฉันโดยเริ่มจากการสร้างรายการตัวเลือกที่ฉันต้องการจะทำ

ตัวอย่าง:

  1. บันทึกผู้ป่วยที่ใช้งาน
  2. การพิสูจน์ตัวตนด้วยบทบาทที่แตกต่าง (เช่นผู้ป่วย, พยาบาล, ดร.)
  3. ตารางนัดหมาย (รวมถึงปฏิทินไปยังตารางนัดหมาย / การผ่าตัด ฯลฯ พร้อมเตือนความจำ)
  4. อนุญาตให้หมอสร้างปลั๊กอินของเขาเอง
  5. แดชบอร์ดสำหรับแพทย์เพื่อดูสถิติของเขา

จากนั้นฉันเริ่มด้วย codeigniter / mysql / php / jquery และเริ่มเขียนโค้ด

ขั้นตอนของฉันในระหว่างการพัฒนา: -

  1. ฐานข้อมูลที่ 1

ป้อนคำอธิบายรูปภาพที่นี่

ฉันเริ่มต้นด้วยการสร้างตารางทั้งหมดที่ฉันต้องการ

  1. สร้างโมเดลทั้งหมดของฉันเพื่อจัดการกับตารางเหล่านี้ (1 โมเดลต้นแบบที่จัดการอ่าน / เขียน / อัปเดต / ตรวจสอบพื้นฐานขณะเดียวกันก็พิจารณาความสัมพันธ์ของตารางของฉันด้วย

หลังจากนั้นฉันเริ่มรหัสมุมมองและตัวควบคุมของฉัน ฉันสร้างมุมมอง HTML ครั้งแรกจากนั้นสร้างตัวควบคุมที่จะจัดการมุมมองนี้และเริ่มฟังก์ชั่นการเขียนโค้ดเพื่อให้มุมมองการโต้ตอบทำงานได้

ตัวอย่างเมื่อเขียนโค้ดมุมมองการนัดหมาย (คอนโทรลเลอร์ booking.php):

ป้อนคำอธิบายรูปภาพที่นี่

สร้างเลย์เอาต์นี้และทำให้สามารถคลิกได้ของตาราง td เมื่อผู้ใช้คลิก: jquery get (การจอง / add_patient_form) และเปิดขึ้น

เมื่อผู้ใช้บันทึก: โพสต์ไปที่การจอง / บันทึก - บันทึกการนัดหมายแล้วโหลดดัชนี () ฟังก์ชั่น

ฯลฯ .. และฉันก็ดำเนินการตามขั้นตอนเดียวกันในการสร้างมุมมองจากนั้นคอนโทรลเลอร์จะประกอบด้วยตรรกะทั้งหมดที่มุมมองนี้ต้องการ - เพื่อทำให้โครงการทั้งหมดสำเร็จ

ในตอนท้ายฉันมีฟังก์ชั่นเป้าหมายทั้งหมดของฉันทำงานได้ดี แต่เนื่องจากไม่มีการวางแผนตั้งแต่เริ่มต้นและเนื่องจากโครงการทั้งหมดคือหมัดของการระดมสมองและการดีบั๊กโดยไม่ต้องวางแผนอะไรเลยหลังจากฉันไปไกลในโครงการนี้ฉันพบ ตัวเองติดอยู่กับการบำรุงรักษาและความยืดหยุ่น! และไม่สามารถเชื่อมโยงเข้าด้วยกัน

ฉันรู้สึกว่าทุกหน้าในเว็บไซต์นั้นแยกออกจากกันโดยสิ้นเชิงและฉันก็จำไม่ได้ว่าหน้าเว็บแต่ละหน้าถูกโหลดไปแล้วและฟังก์ชั่นอะไรอยู่ข้างในโดยไม่ต้องจ้องมอง!

มีอยู่แล้วฉันสามารถกู้คืนและออกแบบได้หรือไม่


5
ฉันมักจะออกกระดาษขนาดใหญ่ (A3 หรือใหญ่กว่า) และปากกาและเริ่มวาดผังงานจนกระทั่งฉันคิดว่า 'เวิร์กโฟลว์' สมบูรณ์ของการทำงานในเว็บไซต์รวมถึงโครงสร้างฐานข้อมูล หลังจากนั้นฉันจะได้รับกระดาษอีกชิ้นและหาโครงลวดพื้นฐานบางอย่าง จากตรงนั้นเป็นการเขียนโค้ด 'แค่' และการออกแบบกราฟิกนิดหน่อย ฉันจะเพิ่มสัมผัสและรายละเอียดการตกแต่งหลังจากเสร็จสิ้นทั้งหมด ผังงานทำให้ง่ายต่อการทราบว่าคุณใส่ฟังก์ชั่นอะไรและอะไรคือตัวแปรที่ได้จากที่ตั้ง

3
ดียิ่งขึ้นด้วยกระดานไวท์บอร์ดขนาดใหญ่;) +1 @LuudJacobs คุณรู้ดีกว่าทุกคนว่ากระบวนการคลิกของคุณควรทำงานอย่างไรจากเอนทิตีและฟังก์ชั่นใดที่ควรเข้ามาในแต่ละครั้งและข้อมูลใดที่คุณต้องการค้นหาบ่อยที่สุดข้อมูลใดที่คุณไม่ต้องการมากนัก หากคุณต้องการเก็บประวัติหรือไม่และสิ่งที่ การวาดแผนผัง Entity สองสามรายการจะช่วยพาคุณไปยังสถานที่ที่คุณรู้สึกดีและมั่นใจว่าเครื่องมือ (ฐานข้อมูลส่วนหน้า) ที่คุณเลือกสามารถรองรับความต้องการของคุณในวันนี้และในวันพรุ่งนี้โดยไม่มีการร้องขอเปลี่ยนแปลง :)
bonCodigo

@LuudJacobs ดีขอบคุณ :) แต่ฉันพยายามที่จะทำอย่างนั้นคว้ากระดานไวท์บอร์ดและพิมพ์ db schema ของฉันและ ... ล้มเหลวในการวาดอะไร! ฉันเดาว่าฉันไม่รู้ว่าผังงานควรมีลักษณะอย่างไร ฉันจะลอง google เพื่อเป็นตัวอย่าง ถ้าหากมีผังของโครงการที่เกิดขึ้นจริงใด ๆ ฉันชอบที่จะเห็นว่า
Zalaboza

+1 @bonCodigo: ไวท์บอร์ดเป็นตัวเลือกที่ดีกว่าเนื่องจากคุณ) มีพื้นที่ในการทำงานมากขึ้นและ b) ง่ายต่อการลบสิ่งต่าง ๆ นี่คือการค้นหาของ Google ที่มีตัวอย่างแผนผังลำดับงาน ซอฟต์แวร์ที่ดีสำหรับการทำผังงานรวมถึง MS Visio และสำหรับ Mac OmniGraffle

สำหรับแพทย์คุณได้ทำงานที่น่าชื่นชมกับสิ่งนี้โดยเฉพาะอย่างยิ่งเมื่อคุณเลือกNickleback ของภาษาโปรแกรมเพื่อทำงานกับ
Robert Harvey

คำตอบ:


6

คำถามของคุณกระบวนการในการพัฒนาซอฟต์แวร์เป็นหัวข้อที่ถกเถียงกันอย่างถึงขั้น เพียงแค่ "วิธีการใช้ซอฟต์แวร์" ของ Google เพื่อดูว่าเวิร์มของหนอนเจาะลึกแค่ไหน ...

ไม่มีคำตอบที่ยอมรับกันโดยทั่วไป ที่จริงแล้วถ้าคุณถามโปรแกรมเมอร์ 5 คนคุณจะได้รับคำตอบ 7 ข้อจากประสบการณ์ของฉัน

ฉันขอแนะนำให้ซื้อ "การทำโค้ดให้เสร็จสมบูรณ์" ของ Steve McConnell เพื่อดูวิธีการเข้ารหัสระดับล่าง - สิ่งต่าง ๆ เช่นวิธีการวางรหัสของคุณวิธีการแสดงความคิดเห็นวิธีการทดสอบ ฉันขอแนะนำ "Domain Driven Design" โดย Eric Evans สำหรับภาพรวมของวิธีการจัดโครงสร้างแอปพลิเคชันในระดับสถาปัตยกรรม ฉันขอแนะนำ "การพัฒนาซอฟต์แวร์ Agile: หลักการรูปแบบและการปฏิบัติ" โดย Robert Martin เป็นภาพรวมของวิธีการ "เติบโต" ซอฟต์แวร์เมื่อเวลาผ่านไปในขณะที่ยังคงรักษาคุณภาพไว้

ผู้พัฒนารายอื่นมีแนวโน้มที่จะปฏิเสธหนังสือเหล่านี้ทั้งหมดและนำคุณไปที่ UML กระบวนการ Rational Unified และการสร้างรหัส ไม่มีคำตอบที่ถูกต้อง!


เพื่อแสดงให้เห็นประเด็นของเนวิลล์เคเกี่ยวกับคำตอบที่แตกต่างกันเขาได้ทิ้งทรัพยากรที่ดีสำหรับการออกแบบการโต้ตอบของผู้ใช้ซึ่งเป็นจุดที่ฉันต้องการเริ่มต้น ;-)
Eric G

1

0

ผมจะแนะนำให้คุณเพื่อให้โครงสร้างฐานข้อมูลและสร้างโค้ด PHP ใหม่ที่มีPHP Generator สำหรับ MySQLสร้างขึ้นโดย บริษัทSQL Maestro มันใช้งานได้จริงสำหรับฉัน ฉันใช้มันมากและฉันมีความสุขมากกับมันโดยเฉพาะอย่างยิ่งความเป็นไปได้ในการปรับแต่งโค้ด PHP ตามความต้องการของฉัน นอกจากนี้พวกเขายังรวมคุณสมบัติใหม่ที่คุณร้องขอในการอัปเดตและมีบทช่วยสอนที่ดีเกี่ยวกับวิธีปรับแต่งรหัส เพื่อทำความเข้าใจให้ดียิ่งขึ้นลองดูที่โครงการตัวอย่างนี้

บนเว็บไซต์จะมีคำอธิบายผลิตภัณฑ์ต่อไปนี้:

PHP Generator สำหรับ MySQL เป็น MySQL GUI ส่วนหน้าที่ช่วยให้คุณสร้างสคริปต์ PHP คุณภาพสูงสำหรับตารางมุมมองและแบบสอบถามที่เลือกสำหรับการทำงานเพิ่มเติมกับวัตถุเหล่านี้ผ่านเว็บ คุณสมบัติที่สำคัญ ได้แก่ :

  • การจัดการข้อมูล: เพิ่มแก้ไขลบและคัดลอกบันทึก
  • การปรับแต่งลักษณะที่ปรากฏของ HTML
  • ความสามารถในการกรองและการเรียงลำดับ
  • การปกป้องข้อมูลด้วยการตั้งค่าความปลอดภัยจำนวนมาก
  • งานนำเสนอรายละเอียดหลัก
  • การจัดการเนื้อหาที่ขับเคลื่อนด้วยเหตุการณ์
  • ส่งออกข้อมูลไปยัง PDF, XML, CVS, Excel และ Word

PHP Generator สำหรับ MySQL สร้างโค้ดที่ชัดเจนและเข้าใจง่ายซึ่งสามารถใช้ตามที่เป็นหรือแก้ไขในแบบที่คุณต้องการ

ประหยัดค่าใช้จ่ายมหาศาลในการว่าจ้างโปรแกรมเมอร์เรียนรู้ภาษาการเขียนโปรแกรมใด ๆ หรือซื้อซอฟต์แวร์ราคาแพง - รหัสทั้งหมดจะถูกสร้างขึ้นโดยอัตโนมัติสำหรับคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.