คอมพิวเตอร์ หน้าต่าง อินเทอร์เน็ต

แผนภาพโครงสร้างและการทำงานของโปรแกรม ซอฟต์แวร์ระบบพีซี รายการฟังก์ชั่นระบบโดยประมาณ

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

รูปที่ 2 รูปแบบการโต้ตอบและการสื่อสารข้อมูล

การพัฒนาแผนภาพการทำงานของโปรแกรม

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

รายการฟังก์ชั่นระบบโดยประมาณ

1) การลงทะเบียนธุรกรรมการแลกเปลี่ยน

· การป้อนข้อมูลการซื้อสกุลเงิน

· การป้อนข้อมูลสำหรับการขายสกุลเงิน

· การป้อนข้อมูลการแปลงสกุลเงิน

·พิมพ์ความช่วยเหลือลูกค้า

2) ดูเอกสาร

· ดูรายการเอกสารประจำวัน

· ดูรายการเอกสารที่เก็บถาวร

3) การบำรุงรักษาไดเร็กทอรี

· การป้อนข้อมูลด้วยรหัสค่า

· การป้อนข้อมูลตามประเภทเอกสาร

· การป้อนข้อมูลด้วยรหัสสกุลเงิน

· ป้อนอัตราแลกเปลี่ยนตามวันที่

4) การสร้างเอกสารการรายงาน

·การพิมพ์การลงทะเบียนเงินสดเงินตราต่างประเทศที่ซื้อเป็นรูเบิลเงินสด

·การพิมพ์การลงทะเบียนเงินสดเงินตราต่างประเทศที่ขายเป็นรูเบิลเงินสด

·การพิมพ์ทะเบียนเพื่อแลกเปลี่ยน (แปลง) เงินสดเงินตราต่างประเทศ

5) ฟังก์ชั่นอื่นๆ

· การป้อนข้อมูลลงในช่องป้อนข้อมูลจากไดเร็กทอรี

· การแปลงตัวเลขจากดิจิทัลเป็นตัวพิมพ์เล็ก (จำนวนเป็นคำ)

· การเปลี่ยนลักษณะที่ปรากฏของเคอร์เซอร์

·บันทึกข้อมูลในไฟล์เก็บถาวร

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

การพัฒนาแผนภาพโครงสร้างของโปรแกรม

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

การพัฒนาอินเตอร์เฟซบนหน้าจอโปรแกรม

แนวทางที่มีอยู่ในการออกแบบอินเทอร์เฟซหน้าจอ

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

ระบบที่ใช้งานได้จริงและใช้งานง่ายที่สุดถือได้ว่าเป็นระบบที่มีอินเทอร์เฟซหน้าจอที่สร้างขึ้นบนพื้นฐานของระบบเมนูป๊อปอัป แนวคิดที่พบบ่อยที่สุดในปัจจุบันคือสองอุดมการณ์ (หมายถึงแอปพลิเคชัน DOS) ซึ่งรวมถึงหน้าต่างหน้าจอบางรูปแบบ โทนสี และประเภทของรายการป๊อปอัป สิ่งเหล่านี้คือสภาพแวดล้อมของเครื่องมือ Borland และเชลล์ปฏิบัติการของ Norton จาก Symantec อุดมการณ์ทั้งสองจัดให้มีการแบ่งพื้นที่หน้าจอออกเป็นพื้นที่หรือโซนที่มีไว้สำหรับวัตถุข้อมูลและการดำเนินการเฉพาะ โซนสามารถกำหนดค่าใหม่ได้ในระดับหนึ่งตามคำขอของผู้ใช้: ขนาดและตำแหน่งบนหน้าจอมีการเปลี่ยนแปลง คำสั่งการประมวลผลข้อมูลถูกเรียกจากระบบเมนูที่ปรากฏบนหน้าจอตลอดเวลา (Borland) หรือถูกเรียกโดยปุ่มฟังก์ชั่น (Symantec)

ในทั้งสองกรณี คำสั่งระบบทั้งหมดจะถูกกระจายตามฟังก์ชันการทำงานออกเป็นกลุ่มๆ และจะแสดงอยู่ในเมนูหลัก

ชื่อจริงของกลุ่มคำสั่ง เมื่อเลือกกลุ่ม ผู้ใช้จะสามารถเข้าถึงรายการคำสั่งกลุ่ม ซึ่งอาจรวมถึงคำสั่งที่จัดกลุ่มเป็นกลุ่มระดับที่สอง เป็นต้น

สิ่งนี้จะสร้างระบบเมนูป๊อปอัปหลายระดับ การใช้อุดมการณ์ดังกล่าวทำให้มั่นใจในการนำทางได้ง่ายในระบบที่มีเมนูหลายระดับค่อนข้างซับซ้อนพร้อมตัวเลือกมากมาย โดยปกติแล้ว การเพิ่มการซ้อนและขนาดของรายการตัวเลือกควรมีขีดจำกัดที่สมเหตุสมผล ซึ่งโชคดีที่มีอยู่ในรูปแบบของพื้นที่หน้าจอที่จำกัดบนจอภาพ ระบบส่วนใหญ่ยังมีความสามารถในการปรับแต่งชุดสีตามความต้องการของผู้ใช้ ระบบปฏิบัติการ Norton มีตัวเลือกสีให้เลือกจากตัวเลือกมาตรฐานหลายแบบ ในระบบ Borland คุณสามารถสร้างโทนสีของคุณเองได้จนถึงรายละเอียดที่เล็กที่สุด มุมมองโดยประมาณของวัตถุหน้าจอบางส่วนจะแสดงในรูปที่ 4,5

การเลือกอุดมการณ์อินเทอร์เฟซบนหน้าจอ

การออกแบบซอฟต์แวร์เริ่มต้นด้วยการกำหนดโครงสร้างของซอฟต์แวร์

5. 1. การพัฒนาไดอะแกรมโครงสร้างและฟังก์ชัน

กระบวนการออกแบบซอฟต์แวร์ที่ซับซ้อนเริ่มต้นด้วยการชี้แจงโครงสร้างของซอฟต์แวร์ เช่น การกำหนดส่วนประกอบโครงสร้างและการเชื่อมต่อระหว่างซอฟต์แวร์เหล่านั้น ผลลัพธ์ของการชี้แจงโครงสร้างสามารถนำเสนอในรูปแบบของแผนภาพโครงสร้างและ/หรือการทำงานและคำอธิบาย (ข้อกำหนด) ของส่วนประกอบ

บล็อกไดอะแกรมของซอฟต์แวร์ที่กำลังพัฒนา

แผนภาพโครงสร้างเป็นแผนภาพที่สะท้อนถึงองค์ประกอบและการโต้ตอบในการจัดการส่วนต่างๆ ของซอฟต์แวร์ที่กำลังพัฒนา

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

ซอฟต์แวร์ประเภทที่ง่ายที่สุดคือโปรแกรมที่สามารถรวมเฉพาะรูทีนย่อยและไลบรารีทรัพยากรเป็นส่วนประกอบเชิงโครงสร้างเท่านั้น

การพัฒนาไดอะแกรมบล็อกโปรแกรมมักจะดำเนินการโดยใช้วิธีการแสดงรายละเอียดทีละขั้นตอน

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

โครงร่างโครงสร้าง แพคเกจซอฟต์แวร์แสดงให้เห็นถึงการถ่ายโอนการควบคุมจากโปรแกรมดิสแพตเชอร์ไปยังโปรแกรมที่เกี่ยวข้อง (รูปที่ 1.1)

ข้าว. 5.1. ตัวอย่างบล็อกไดอะแกรมของแพ็คเกจซอฟต์แวร์

โครงร่างโครงสร้าง ระบบซอฟต์แวร์ตามกฎแล้วจะบ่งบอกถึงการมีอยู่ของระบบย่อยหรือส่วนประกอบโครงสร้างอื่น ๆ แตกต่างจากซอฟต์แวร์ที่ซับซ้อน แต่ละส่วน (ระบบย่อย) ของระบบซอฟต์แวร์จะแลกเปลี่ยนข้อมูลระหว่างกันอย่างหนาแน่น และอาจรวมถึงโปรแกรมหลักด้วย บล็อกไดอะแกรมของระบบซอฟต์แวร์มักจะไม่แสดงสิ่งนี้ (รูปที่ 1.2)


ข้าว. 5.2. ตัวอย่างบล็อกไดอะแกรมของระบบซอฟต์แวร์

ภาพที่สมบูรณ์ยิ่งขึ้นของซอฟต์แวร์ที่ได้รับการออกแบบในแง่ของปฏิสัมพันธ์ของส่วนประกอบระหว่างกันและกับสภาพแวดล้อมภายนอกนั้นได้มาจากแผนภาพการทำงาน

แผนภาพการทำงาน

แผนภาพการทำงานหรือแผนภาพข้อมูล (GOST 19.701-90) - แผนภาพของการโต้ตอบของส่วนประกอบซอฟต์แวร์พร้อมคำอธิบายการไหลของข้อมูลองค์ประกอบของข้อมูลในโฟลว์และการบ่งชี้ไฟล์และอุปกรณ์ที่ใช้ เพื่ออธิบายไดอะแกรมการทำงาน จะใช้สัญลักษณ์พิเศษที่กำหนดโดยมาตรฐาน

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



ข้าว. 5.3. ตัวอย่างของไดอะแกรมการทำงาน: a - ชุดของโปรแกรม, b - ระบบซอฟต์แวร์

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

5.2. การใช้วิธีเพิ่มรายละเอียดเพื่อออกแบบโครงสร้างซอฟต์แวร์

วิธีเชิงโครงสร้างในการเขียนโปรแกรมในรูปแบบที่ถูกกำหนดขึ้นในช่วงทศวรรษที่ 70 ของศตวรรษที่ 20 เสนอโปรแกรมสลายตัวโดยใช้วิธีการลงรายละเอียดทีละขั้นตอน ผลลัพธ์ของการสลายตัวคือไดอะแกรมบล็อกโปรแกรม ซึ่งเป็นไดอะแกรมลำดับชั้นหลายระดับของการโต้ตอบของรูทีนย่อยการควบคุม อย่างน้อยที่สุด แผนภาพดังกล่าวจะแสดงลำดับชั้นสองระดับ กล่าวคือ จะแสดงโครงสร้างทั่วไปของโปรแกรม อย่างไรก็ตาม วิธีการเดียวกันนี้ทำให้สามารถรับไดอะแกรมโครงสร้างที่มีระดับจำนวนมากได้

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

เมื่อแยกย่อยโปรแกรมโดยใช้วิธีการแสดงรายละเอียดทีละขั้นตอน คุณควรปฏิบัติตามกฎพื้นฐานของการสลายตัวของโครงสร้างซึ่งตามมาจากหลักการของการจัดการในแนวดิ่ง: ก่อนอื่นให้ระบุรายละเอียดกระบวนการควบคุมของส่วนประกอบที่สลายตัวโดยปล่อยให้มีการชี้แจง ของการดำเนินการข้อมูลจนสุดท้าย นี่เป็นเพราะความจริงที่ว่ารายละเอียดลำดับความสำคัญของกระบวนการควบคุมช่วยลดความซับซ้อนของโครงสร้างของส่วนประกอบในทุกระดับของลำดับชั้นอย่างมีนัยสำคัญและทำให้ไม่สามารถแยกกระบวนการตัดสินใจออกจากการดำเนินการได้ดังนั้นจึงได้กำหนดเงื่อนไขในการเลือก a ทางเลือกอื่น พวกเขาจะเรียกโมดูลที่ใช้งานมันทันที

การดำเนินการโดยละเอียดด้วยโครงสร้างล่าสุดจะทำให้สามารถเลื่อนการปรับแต่งข้อกำหนดออกไปได้ และจะให้โอกาสในการปรับเปลี่ยนโครงสร้างเหล่านี้ได้อย่างไม่ลำบากโดยการลดจำนวนโมดูลที่ขึ้นอยู่กับข้อมูลนี้

นอกจากนี้ขอแนะนำให้ปฏิบัติตามคำแนะนำต่อไปนี้:

อย่าแยกการดำเนินการเริ่มต้นและการดำเนินการเสร็จสิ้นออกจากการประมวลผลที่เกี่ยวข้อง เนื่องจากโมดูลการเริ่มต้นและการดำเนินการเสร็จสิ้นมีการเชื่อมต่อที่ไม่ดี (ชั่วคราว) และการเชื่อมต่อที่แข็งแกร่ง (การควบคุม)

อย่าออกแบบโมดูลเฉพาะทางหรือใช้งานทั่วไปมากเกินไป เนื่องจากการออกแบบโมดูลเฉพาะทางมากเกินไปจะเพิ่มจำนวนโมดูล และการออกแบบโมดูลสำหรับใช้งานทั่วไปมากเกินไปจะเพิ่มความซับซ้อน

หลีกเลี่ยงการทำซ้ำการกระทำในโมดูลที่แตกต่างกัน เนื่องจากเมื่อมีการเปลี่ยนแปลง จะต้องแก้ไขส่วนของโปรแกรมทั้งหมดที่ดำเนินการ - ในกรณีนี้ ขอแนะนำให้ใช้การดำเนินการเหล่านี้ในโมดูลแยกต่างหาก

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

ในเวลาเดียวกันเมื่ออธิบายวิธีแก้ไขปัญหาแต่ละปัญหา ขอแนะนำให้ใช้โครงสร้างควบคุมโครงสร้างไม่เกิน 1-2 โครงสร้าง เช่น while-loop หรือการแตกแขนง ซึ่งช่วยให้คุณจินตนาการถึงโครงสร้างของการคำนวณที่จัดระเบียบได้ชัดเจนยิ่งขึ้น กระบวนการ.

การแบ่งพาร์ติชันเป็นโมดูลในการออกแบบประเภทนี้จะดำเนินการตามสำนึกตามขนาดโมดูลที่แนะนำ (20-60 บรรทัด) และความซับซ้อนของโครงสร้าง (โครงสร้างควบคุมที่ซ้อนกันสองหรือสามโครงสร้าง) โดยหลักการแล้ว ในฐานะโมดูล (รูทีนย่อย) เป็นไปได้ที่จะนำโซลูชันไปใช้กับงานย่อยที่กำหนดไว้ในขั้นตอนใดๆ ของกระบวนการลงรายละเอียด อย่างไรก็ตาม หลักการของการรับรองความสามารถในการผลิตของโมดูลจะมีบทบาทในการกำหนดเมื่อแบ่งโปรแกรมออกเป็นโมดูล .

เพื่อวิเคราะห์ความสามารถในการผลิตของลำดับชั้นผลลัพธ์ของโมดูล ขอแนะนำให้ใช้แผนที่โครงสร้างของคอนสแตนตินหรือแจ็กสัน

5. 3. แผนที่โครงสร้างของคอนสแตนติน

บนแผนที่โครงสร้าง ความสัมพันธ์ระหว่างโมดูลจะแสดงในรูปแบบของกราฟ จุดยอดสอดคล้องกับโมดูลและพื้นที่ข้อมูลทั่วไป และส่วนโค้งสอดคล้องกับการเรียกระหว่างโมดูลและการเข้าถึงพื้นที่ข้อมูลทั่วไป

จุดยอดมีสี่ประเภท (รูปที่ 1.4):

โมดูล - รูทีนย่อย

ระบบย่อย - โปรแกรม

Library - ชุดของรูทีนย่อยที่อยู่ในโมดูลแยกต่างหาก

พื้นที่ข้อมูลคือชุดข้อมูลที่ออกแบบเป็นพิเศษซึ่งสามารถเข้าถึงได้จากภายนอก

ก) ข) วี) ช)

ข้าว. 5.4. การกำหนดจุดยอดตามมาตรฐาน IBM, ISO และ ANSI:

เอ – โมดูล; ข – ระบบย่อย; ค – ห้องสมุด; d – พื้นที่ข้อมูล

ในกรณีนี้ แต่ละส่วนของระบบซอฟต์แวร์ (โปรแกรม, รูทีนย่อย) สามารถเรียกตามลำดับ, ขนาน, หรือเป็นคอร์รูทีน (รูปที่ 1.5)


ข้าว. 5.5. การกำหนดประเภทการโทร:

ก – การโทรตามลำดับ; b – การโทรแบบขนาน; c - เรียก coroutine

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

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

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

แผนที่โครงสร้างของ Constantine ช่วยให้คุณสามารถนำเสนอผลลัพธ์ของการแยกส่วนโปรแกรมออกเป็นโมดูลและประเมินคุณภาพได้ เช่น การปฏิบัติตามคำแนะนำของการเขียนโปรแกรมที่มีโครงสร้าง (การทำงานร่วมกันและการเชื่อมโยงกัน)

5.4. การออกแบบโครงสร้างข้อมูล

การออกแบบโครงสร้างข้อมูลหมายถึงการพัฒนาการเป็นตัวแทนในหน่วยความจำ พารามิเตอร์หลักที่ต้องพิจารณาเมื่อออกแบบโครงสร้างข้อมูลคือ:

ประเภทของข้อมูลที่จัดเก็บสำหรับแต่ละองค์ประกอบข้อมูล

ความสัมพันธ์ระหว่างองค์ประกอบข้อมูลและโครงสร้างที่ซ้อนกัน

ระยะเวลาการจัดเก็บข้อมูลโครงสร้าง (“อายุการใช้งาน”);

ชุดการดำเนินการกับองค์ประกอบข้อมูล โครงสร้างแบบซ้อน และโครงสร้างโดยรวม

ประเภทของข้อมูลที่จัดเก็บกำหนดประเภทของฟิลด์หน่วยความจำที่เกี่ยวข้อง ขึ้นอยู่กับภาษาการเขียนโปรแกรมที่ใช้ สิ่งต่อไปนี้ถือเป็นองค์ประกอบข้อมูล:

จำนวนเต็มและจำนวนจริงในรูปแบบต่างๆ

สัญลักษณ์;

ค่าบูลีน: จริงและเท็จ;

รวมถึงข้อมูลโครงสร้างบางประเภท เช่น

ชั้นเรียนที่ประกาศเป็นพิเศษ

ในเวลาเดียวกันสำหรับฟิลด์ตัวเลขการกำหนดช่วงของค่าที่เป็นไปได้อย่างถูกต้องเป็นสิ่งสำคัญมากและสำหรับข้อมูลสตริง - ความยาวสตริงสูงสุดที่เป็นไปได้

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

ลองพิจารณาตัวเลือกที่มีอยู่สำหรับการแสดงข้อมูลภายในองค์ประกอบและการเชื่อมต่อระหว่างกันโดยละเอียด

การแสดงข้อมูลใน RAM

มีโครงสร้างพื้นฐานสองประการสำหรับการจัดระเบียบข้อมูลใน RAM: เวกเตอร์และรายการ

โครงสร้างเวกเตอร์คือลำดับไบต์ของหน่วยความจำที่ใช้เพื่อรองรับช่องข้อมูล (รูปที่ 1.6)

ข้าว. 5.6. โครงสร้างหน่วยความจำเวกเตอร์

การจัดวางโครงสร้างข้อมูลที่จัดระเบียบตามลำดับช่วยให้สามารถเข้าถึงองค์ประกอบได้โดยตรง: ตามดัชนี (ชุดดัชนี) - ในอาร์เรย์หรือสตริง หรือตามชื่อฟิลด์ - ในบันทึกหรือวัตถุ

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

โครงสร้างข้อมูลในการแสดงเวกเตอร์สามารถวางได้ทั้งในหน่วยความจำแบบคงที่และแบบไดนามิก การวางการแสดงเวกเตอร์ในหน่วยความจำแบบไดนามิกบางครั้งอาจเพิ่มประสิทธิภาพในการใช้ RAM ได้อย่างมาก ขอแนะนำให้วางโครงสร้างชั่วคราวของหน่วยความจำแบบไดนามิกที่เก็บผลลัพธ์ระดับกลาง และโครงสร้างที่มีขนาดขึ้นอยู่กับข้อมูลแหล่งอินพุตอย่างมาก

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


ข้าว. 5.7. ตัวอย่างของโครงสร้างหน่วยความจำรายการ:

ก - รายการเชื่อมโยงเดี่ยวเชิงเส้น b - รายการต้นไม้; c เป็นรายการที่เชื่อมโยงแบบ n

อย่างไรก็ตาม เมื่อใช้โครงสร้างรายการ โปรดจำไว้ว่า:

จำเป็นต้องมีหน่วยความจำเพิ่มเติมเพื่อจัดเก็บพอยน์เตอร์

ทำการค้นหาข้อมูลในรายการเชิงเส้น ตามลำดับ, จึงต้องใช้เวลามากขึ้น

การสร้างรายการและการดำเนินการกับองค์ประกอบข้อมูลที่จัดเก็บไว้ในรายการต้องใช้โปรแกรมเมอร์ที่มีทักษะมากขึ้น ใช้แรงงานมากขึ้น และรูทีนที่เกี่ยวข้องมีข้อผิดพลาดมากขึ้น ดังนั้นจึงต้องมีการทดสอบอย่างละเอียดมากขึ้น

โดยทั่วไป การแสดงเวกเตอร์ใช้ในการจัดเก็บชุดคงที่ ตาราง (หนึ่งมิติและหลายมิติ) เช่น เมทริกซ์ แถว บันทึก รวมถึงกราฟที่แสดงโดยเมทริกซ์ adjacency เมทริกซ์อุบัติการณ์ หรือเชิงวิเคราะห์ การแสดงรายการสะดวกสำหรับการจัดเก็บโครงสร้างและโครงสร้างแบบไดนามิก (เปลี่ยนแปลงได้) ที่มีความสัมพันธ์ที่ซับซ้อน

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

การแสดงข้อมูลในหน่วยความจำภายนอก

ระบบปฏิบัติการสมัยใหม่รองรับสองวิธีในการจัดระเบียบข้อมูลในหน่วยความจำภายนอก: การเข้าถึงตามลำดับและการเข้าถึงโดยตรง

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

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

เมื่อเลือกประเภทของหน่วยความจำเพื่อรองรับโครงสร้างข้อมูล โปรดทราบว่า:

RAM จัดเก็บข้อมูลที่ต้องการการเข้าถึงอย่างรวดเร็ว ทั้งสำหรับการอ่านและการเปลี่ยนแปลง

ในข้อมูลภายนอก - ข้อมูลที่ต้องบันทึกหลังจากโปรแกรมสิ้นสุด

เป็นไปได้ว่าในระหว่างการทำงานขอแนะนำให้จัดเก็บข้อมูลใน RAM เพื่อเร่งการเข้าถึงข้อมูลเหล่านั้นและเมื่อเสร็จแล้วให้เขียนใหม่ลงในหน่วยความจำภายนอกเพื่อจัดเก็บข้อมูลระยะยาว นี่เป็นวิธีการที่โปรแกรมแก้ไขข้อความส่วนใหญ่ใช้: เมื่อทำงานกับข้อความ ข้อความทั้งหมดหรือบางส่วนจะถูกวางไว้ใน RAM จากนั้นจะถูกคัดลอกไปยังหน่วยความจำภายนอกตามต้องการ ในกรณีเช่นนี้ การแสดงข้อมูลจะได้รับการพัฒนาสองแบบ: ใน RAM และในหน่วยความจำภายนอก

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

5.5. การออกแบบซอฟต์แวร์ตามการสลายตัวของข้อมูล

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

เทคนิคแจ็คสัน

เมื่อสร้างวิธีการของเขา M. Jackson ดำเนินการจากข้อเท็จจริงที่ว่าโครงสร้างของข้อมูลเริ่มต้นและผลลัพธ์เป็นตัวกำหนดโครงสร้างของโปรแกรม

เทคนิคนี้ขึ้นอยู่กับการค้นหาความสอดคล้องระหว่างโครงสร้างของแหล่งข้อมูลและผลลัพธ์ อย่างไรก็ตาม เมื่อใช้งาน อาจเกิดสถานการณ์ที่ไม่มีการติดต่อสื่อสารในบางระดับได้ ตัวอย่างเช่น บันทึกในไฟล์ต้นฉบับจะไม่เรียงลำดับตามลำดับที่แถวที่เกี่ยวข้องควรปรากฏในรายงาน สถานการณ์ดังกล่าวเรียกว่า “การชนกัน” การชนมีอยู่หลายประเภทที่ได้รับการแก้ไขด้วยวิธีที่แตกต่างกัน หากลำดับของบันทึกแตกต่างออกไป จะมีการเรียงลำดับก่อนการประมวลผล

การพัฒนาโครงสร้างโปรแกรมตามวิธีการมีดังนี้

สร้างภาพโครงสร้างของข้อมูลอินพุตและเอาต์พุต

มีการระบุการเชื่อมต่อในการประมวลผล (ความสอดคล้อง) ระหว่างข้อมูลเหล่านี้

สร้างโครงสร้างของโปรแกรมตามโครงสร้างข้อมูลและความสอดคล้องที่ตรวจพบ

เพิ่มบล็อกการประมวลผลสำหรับองค์ประกอบที่ไม่พบรายการที่ตรงกัน

วิเคราะห์และประมวลผลความไม่สอดคล้องกัน เช่น แก้ไข "การชนกัน"

เพิ่มการดำเนินการที่จำเป็น (อินพุต เอาต์พุต การเปิด/ปิดไฟล์ ฯลฯ) เขียนโปรแกรมในรูปแบบโครงสร้าง (pseudocode)

เทคนิคของวอร์นิเยร์-ออร์

วิธี Varnier-Orr ใช้หลักการเดียวกันกับวิธี Jackson แต่หลักในการสร้างไดอะแกรมคือโครงสร้างของข้อมูลเอาต์พุต และหากโครงสร้างของข้อมูลอินพุตไม่สอดคล้องกับโครงสร้างของเอาต์พุต จากนั้นจึงสามารถเปลี่ยนแปลงได้ ดังนั้นสาเหตุหลักของการชนจึงหมดไป

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

ดังที่กล่าวมาข้างต้น สามารถใช้วิธี Jackson และ Varnier-Orr ได้ก็ต่อเมื่อข้อมูลของโปรแกรมที่กำลังพัฒนาสามารถนำเสนอในรูปแบบของลำดับชั้นหรือชุดของลำดับชั้นได้

5.6. เทคโนโลยีเคสที่อิงตามวิธีโครงสร้างของการวิเคราะห์และการออกแบบ

จนถึงปัจจุบัน เราได้สั่งสมประสบการณ์ในการประสบความสำเร็จในการใช้วิธีการวิเคราะห์โครงสร้างและการออกแบบที่มีชื่อเสียงส่วนใหญ่ในเครื่องมือ CASE ที่เกี่ยวข้อง วิธีการที่แพร่หลายที่สุดคือ: SADT (3.3%), การวิเคราะห์ระบบโครงสร้าง Gain-Sarson (20.2%), การวิเคราะห์และออกแบบโครงสร้าง Jordan-De (36.5%), การพัฒนาระบบ Jackson (7.7%), การพัฒนาโครงสร้าง DSSD (Data Structured การพัฒนาระบบ) Varnier-Orr (5.8%) การวิเคราะห์การออกแบบระบบเรียลไทม์โดย Ward-Mellor และ Hutley การสร้างแบบจำลองข้อมูลโดย Martin (22.1%)

ดังที่เห็นได้จากสถิติข้างต้น วิธีการที่ใช้กันอย่างแพร่หลายที่สุดคือการใช้ไดอะแกรมการไหลของข้อมูล นี่เป็นเพราะเหตุผลสองประการ:

ไดอะแกรมการไหลของข้อมูลในรายละเอียดมากขึ้นเมื่อเทียบกับไดอะแกรมการทำงาน สะท้อนถึงลักษณะเฉพาะของไดอะแกรมจำนวนมากในปัจจุบัน ข้อมูลระบบ: ไม่ต้องการการพิมพ์ข้อมูลที่เข้มงวดในการประมวลผล, จัดเตรียมความเป็นไปได้ในการจัดเก็บข้อมูล, ระบุการโต้ตอบกับโลกภายนอก, จัดให้มีการได้รับโมเดลซอฟต์แวร์ที่ครอบคลุม ฯลฯ ;

วิธีการได้รับการพัฒนาสำหรับการสร้างข้อกำหนดการออกแบบ (แผนที่โครงสร้าง Jackson หรือ Costantine) โดยใช้ไดอะแกรมการไหลของข้อมูล ซึ่งช่วยให้สามารถสร้างข้อกำหนดดังกล่าวได้โดยอัตโนมัติ

โครงสร้างเรียกว่าแผนภาพที่สะท้อน สารประกอบและ ปฏิสัมพันธ์ของฝ่ายบริหารส่วนของซอฟต์แวร์ที่กำลังพัฒนา

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

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

ข้าว. 5.1. ตัวอย่างบล็อกไดอะแกรมของชุดซอฟต์แวร์

แผนภาพบล็อกของระบบซอฟต์แวร์โดยทั่วไปจะแสดงการมีอยู่ของระบบย่อยหรือส่วนประกอบโครงสร้างอื่นๆ แตกต่างจากซอฟต์แวร์ที่ซับซ้อน แต่ละส่วน (ระบบย่อย) ของระบบซอฟต์แวร์จะแลกเปลี่ยนข้อมูลระหว่างกันอย่างหนาแน่น และอาจรวมถึงโปรแกรมหลักด้วย บล็อกไดอะแกรมของระบบซอฟต์แวร์มักจะไม่แสดงสิ่งนี้ (รูปที่ 5.2)

ข้าว. 5.2. ตัวอย่างแผนภาพบล็อกระบบซอฟต์แวร์

ภาพที่สมบูรณ์ยิ่งขึ้นของซอฟต์แวร์ที่ได้รับการออกแบบในแง่ของปฏิสัมพันธ์ของส่วนประกอบระหว่างกันและกับสภาพแวดล้อมภายนอกนั้นได้มาจากแผนภาพการทำงาน

แผนภาพการทำงานแผนภาพการทำงานหรือแผนภาพข้อมูล (GOST 19.701-90) - แผนภาพของการโต้ตอบของส่วนประกอบซอฟต์แวร์พร้อมคำอธิบายการไหลของข้อมูลองค์ประกอบของข้อมูลในโฟลว์และการบ่งชี้ไฟล์และอุปกรณ์ที่ใช้ เพื่ออธิบายไดอะแกรมการทำงาน จะใช้สัญลักษณ์พิเศษที่กำหนดโดยมาตรฐาน การกำหนดหลักของไดอะแกรมข้อมูลตาม GOST 19.701-90 แสดงไว้ในตาราง 1 5.1.

ตารางที่ 5.1

ชื่อบล็อก การกำหนด วัตถุประสงค์ของบล็อก
ข้อมูลที่บันทึกไว้ เพื่อระบุตารางและโครงสร้างข้อมูลอื่นๆ ที่ต้องจัดเก็บ โดยไม่ต้องระบุประเภทอุปกรณ์
หน่วยความจำเข้าถึงโดยสุ่ม เพื่ออ้างถึงตารางและโครงสร้างข้อมูลอื่นๆ ที่จัดเก็บไว้ใน RAM
หน่วยความจำเข้าถึงตามลำดับ เพื่ออ้างถึงตารางและโครงสร้างข้อมูลอื่นๆ ที่จัดเก็บไว้ในอุปกรณ์เข้าถึงตามลำดับ (เทปแม่เหล็ก ฯลฯ)
อุปกรณ์เก็บข้อมูลการเข้าถึงโดยตรง เพื่ออ้างถึงตารางและโครงสร้างข้อมูลอื่นๆ ที่จัดเก็บไว้ในอุปกรณ์ที่เข้าถึงโดยตรง (ดิสก์)
เอกสาร เพื่อกำหนดตารางและโครงสร้างข้อมูลอื่น ๆ ให้ส่งออกไปยังอุปกรณ์การพิมพ์
ป้อนข้อมูลด้วยตนเอง เพื่อระบุการป้อนข้อมูลด้วยตนเองจากแป้นพิมพ์
แผนที่ สำหรับการมาร์กข้อมูลบนบัตรแม่เหล็กหรือบัตรเจาะ
แสดง เพื่อระบุข้อมูลที่แสดงบนจอคอมพิวเตอร์


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

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

ข้าว. 5.3. ตัวอย่างของไดอะแกรมการทำงาน: เอ -ความซับซ้อนของโปรแกรม ข -ระบบซอฟต์แวร์


ไดอะแกรมอัลกอริทึม

งานออกแบบประกอบด้วยสององค์ประกอบ: การออกแบบผลิตภัณฑ์ซอฟต์แวร์เชิงตรรกะและกายภาพ การออกแบบเชิงตรรกะประกอบด้วยคลาสการพัฒนาเพื่อใช้งานอินสแตนซ์ - อ็อบเจ็กต์ ซึ่งจำเป็นต้องมีคำอธิบายโดยละเอียดเกี่ยวกับฟิลด์และวิธีการของคลาส รวมถึงความสัมพันธ์ระหว่าง...

  • (เทคโนโลยีวิศวกรรมซอฟต์แวร์)
  • การออกแบบซอฟต์แวร์
    การออกแบบมีสองสไตล์: การออกแบบเชิงวิวัฒนาการและการออกแบบเบื้องต้น วิธีวิทยา Extreme Programming (XP) ท้าทายภูมิปัญญาดั้งเดิมหลายประการเกี่ยวกับการพัฒนาซอฟต์แวร์ บางทีแนวคิดที่ถกเถียงกันมากที่สุดก็คือการละทิ้งการออกแบบที่ตรงไปตรงมา...
    (เทคโนโลยีวิศวกรรมซอฟต์แวร์)
  • การพัฒนาโครงสร้างซอฟต์แวร์โดยใช้แนวทางเชิงวัตถุ
    ในขั้นตอนการออกแบบ จะมีการระบุฟิลด์และวิธีการของคลาส รวมถึงความสัมพันธ์ระหว่างคลาส ทั้งหมดนี้สะท้อนให้เห็นในแผนภาพชั้นเรียน เพื่อชี้แจงเนื้อหาของคลาสบางคลาสในไดอะแกรม ให้ใช้สัญกรณ์ต่อไปนี้: คลาสควบคุม(ชั้นควบคุม) มีหน้าที่ประสานงานการดำเนินการ...
    (เทคโนโลยีวิศวกรรมซอฟต์แวร์)
  • วิธีโครงสร้างของการพัฒนาซอฟต์แวร์
    สาระสำคัญของแนวทางเชิงโครงสร้างในการพัฒนาระบบข้อมูลอัตโนมัตินั้นอยู่ที่การสลายตัว (พังทลาย) ให้เป็นฟังก์ชันอัตโนมัติ: ระบบแบ่งออกเป็นระบบย่อยของการทำงานซึ่งในทางกลับกันจะแบ่งออกเป็นฟังก์ชั่นย่อยแบ่งย่อยเป็นงาน ฯลฯ - ไปจนถึงขั้นตอนเฉพาะ ขณะเดียวกัน ระบบอัตโนมัติ...
    (ระบบสารสนเทศทางเศรษฐศาสตร์)
  • งานห้องปฏิบัติการหมายเลข 1 ขั้นตอนของการพัฒนาซอฟต์แวร์โดยใช้แนวทางการเขียนโปรแกรมที่มีโครงสร้าง ขั้นตอน "ข้อกำหนดทางเทคนิค"
    วัตถุประสงค์ของงาน: เพื่อทำความคุ้นเคยกับกฎเกณฑ์ในการเขียนข้อกำหนดทางเทคนิค งานห้องปฏิบัติการได้รับการออกแบบเป็นเวลา 4 ชั่วโมงการศึกษา การเตรียมงานห้องปฏิบัติการ 1. ทำความคุ้นเคยกับสื่อบรรยายในหัวข้อ “ขั้นตอนของการพัฒนาซอฟต์แวร์ คำแถลงปัญหา" สาขาวิชาวิชาการ "เทคโนโลยี...
    (เทคโนโลยีวิศวกรรมซอฟต์แวร์)
  • บล็อกไดอะแกรมโมเดล
    ถ้าระบบแสดงด้วยโมเดลทั้งสามที่กล่าวมาข้างต้น เราก็จะมีความคิดว่า: อะไรเข้าสู่ระบบจากสภาพแวดล้อมภายนอก และสิ่งที่ระบบส่งไปยังสภาพแวดล้อมภายนอก ระบบประกอบด้วยส่วนและองค์ประกอบใดบ้าง วิธีการเชื่อมต่อส่วนต่าง ๆ ของระบบเข้าด้วยกัน มีรุ่นที่สี่ซึ่ง...
    (ทฤษฎีองค์การ)
  • หลังจากพิจารณาข้อกำหนดทางเทคนิคของซอฟต์แวร์แล้ว ก็จะสามารถชี้แจงโครงสร้างของซอฟต์แวร์ได้ เช่น การระบุส่วนประกอบโครงสร้างและการเชื่อมต่อระหว่างกัน จากการพัฒนาโครงสร้าง จะได้รับแผนภาพการทำงานและคำอธิบายของส่วนประกอบต่างๆ

    การพัฒนาโครงสร้างซอฟต์แวร์

    โครงสร้างของซอฟต์แวร์สามารถนำเสนอในรูปแบบของบล็อกไดอะแกรมพร้อมคำอธิบายส่วนประกอบต่างๆ

    แผนภาพบล็อกสะท้อนถึงองค์ประกอบและการโต้ตอบในการจัดการส่วนต่างๆ ของซอฟต์แวร์ที่กำลังพัฒนา

    ระบบประกอบด้วยโมดูลซอฟต์แวร์ที่เชื่อมต่อถึงกันสามโมดูล:

    โมดูลบัญชีส่วนบุคคล

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

    บล็อกไดอะแกรมที่สมบูรณ์ของซอฟต์แวร์ที่ออกแบบแสดงไว้ในรูปที่ 2.1

    รูปที่ 2.1 - แผนภาพบล็อกซอฟต์แวร์

    การตรวจสอบโดยละเอียดของแต่ละโมดูลทำให้สามารถนำเสนอในรูปแบบขององค์ประกอบต่อไปนี้:

    “ การป้อนพารามิเตอร์คำขอ” - อนุญาตให้คุณระบุข้อมูลสำหรับคำขอ

    “ การแสดงหน้ากำหนดการ” - การสร้างเพจพร้อมข้อมูลที่ร้องขอบนหน้าจอ

    “ การสร้างเอกสารอิเล็กทรอนิกส์” - การสร้างไฟล์พร้อมข้อมูลที่ร้องขอ

    “กำหนดการส่ง” - การส่งข้อมูลที่มีการเปลี่ยนแปลงเมื่อมีการเปลี่ยนแปลงเกิดขึ้น

    การพัฒนาแผนภาพการทำงาน

    แผนภาพการทำงานหรือแผนภาพข้อมูล (GOST 19.701-90) - แผนภาพของการโต้ตอบของส่วนประกอบซอฟต์แวร์พร้อมคำอธิบายการไหลของข้อมูลองค์ประกอบของข้อมูลในโฟลว์และการบ่งชี้ไฟล์และอุปกรณ์ที่ใช้ เพื่ออธิบายไดอะแกรมการทำงาน จะใช้สัญลักษณ์พิเศษที่กำหนดโดยมาตรฐาน

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

    ดังนั้นจึงแบ่งออกเป็นสามโมดูลซอฟต์แวร์:

    โมดูลแสดงตารางเวลา

    โมดูลบัญชีส่วนบุคคล

    แผนภาพการทำงานทั่วไปของซอฟต์แวร์แสดงในรูปที่ 2.2

    รูปที่ 2.2 - แผนภาพการทำงานของซอฟต์แวร์