27-04-2006, 15:55
|
|
|
חבר מתאריך: 29.09.02
הודעות: 208
|
|
צריך עזרה בתכנון מבנה של תוכנה oop
שלום.
אני רוצה לבנות תוכנה (פשוטה בהתחלה) לניהול ספריה (של ספרים) ב ++C.
החלטתי להתחיל מתוכנת console ורק אחר כך לבנות את הgui כי היה לי מסובך מדי לתכנן הכל ביחד.
התחלתי כבר שלוש פעמים והפסקתי כי ראיתי שאני לא מצליח לתכנן את המחלקות והמשתנים בצורה טובה.
אני אכתוב את ההתחלה ואתם תתקנו אותי ותעזרו לי להמשיך.
בסיס נתונים
אני חושב להשתמש בקבצי טקסט. יהיו כמה קבצים.
רשימת שואלים: רשימה מסודרת לפי שם משתמש או שם ספר או מספר סידורי שלהם (?) שבכל שורה שלושה שדות. 1. שם ספר או מספר סידורי (?) 2. שם משתמש 3. תאריך השאלה
רשימת מחברים: מסודרת לפי שם מחבר. כל אחד מקבל מספר סידורי. שני שדות. 1. שם מחבר 2. מספר סידורי
רשימת הוצאות: מסודרת לפי שם הוצאה. כל אחת מקבלת מספר סידורי. שני שדות. 1. שם הוצאה 2. מספר סידורי
רשימת ספרים: מסודרת לפי שם ספר (?) שבכל שורה ארבעה שדות. 1. שם ספר 2. מספר מחבר 3. מספר הוצאה 4. שנת הוצאה 5. מספר סידורי
ספרן
מצא ספר: מקבל שם מציג את כל המידע על הספר. (אולי צריך רק להחזיר כתובת של המידע על הספר ופונקציה אחרת תציג).
הוסף ספר: מקבל מצביע לstruct שבו כל המידע על הספר, מוסיף אותו ומחזיר bool לאישור.
הסר ספר: מקבל שם או מספר סידורי (?) של הספר, מסיר אותו ומחזיר bool לאישור.
קורא
מצא ספר: מקבל שם מציג את כל המידע על הספר. (אולי צריך רק להחזיר כתובת של המידע על הספר ופונקציה אחרת תציג).
שאל ספר: מקבל שם או מספר סידורי (?) של הספר, את שם המשתמש או את המספר שלו (?), מסמן את הספר כשאול, מוסיף את הקורא לרשימת השואלים עם שם הספר או מספרו הסידורי (?) ותאריך ומחזיר bool לאישור.
החזר ספר: מקבל שם משתמש או שם ספר או מספר סידורי של הספר, מסיר את הסימון שהספר שאול ומחזיר bool לאישור.
וואי זה כל כך מסובך!
איך מתכננים דבר כזה? עם כל המשתנים והscopes ומי מכיר את מי, ומי בתוך מי, ואיזו שיטה של סידור הקבצים לבחור, והאם לחלק את הקבצים לקבצים קטנים יותר, ומתי לעבוד לפי מספרים סידוריים ומתי להשאר עם המידע ששיש ממילא.
בבקשה תגידו לי איך אפשר לעשות סדר בדברים, מהן המחלקות הראשיות ומה הבסיס של הקשר בין הדברים בתוכנה.
תודה רבה!
|