190 likes | 265 Views
Requirements Engineering. Worshop in Software Engineering Project Department of Computer Science Ben-Gurion university. Purpose of a requirements document. Serve as a contract for the planned application Multiple viewpoints: Legal Financial Developmental
E N D
Requirements Engineering Worshop in Software Engineering Project Department of Computer Science Ben-Gurion university Worshop in SE Project
Purpose of a requirements document • Serve as a contract for the planned application • Multiple viewpoints: • Legal • Financial • Developmental • We, as developers adopt only the developmental view
Nature of a requirements document • Conceptual: • No realization aspect. It can apply to any appropriate realization (implementation) mode: • Manual • Hardware • Software • Use nature sources • Precise: Every requirement is testable • Non-testable requirements: • “Convenient interface” • “Affordable application” • “fast application”
Content of a requirements document • General specification – in conceptual terms: • This is the most important part. All stakeholders should be involved in its careful formulation. • It serves as the application “manifest”. • Used to settle disagreements along the application development. • Integrity and business rules: • Constraints that the application must satisfy • Functional requirements: • Services that the application should provide • Non-functional requirements: • Desirable properties of the application
Initial Requirements Document fora Generator of Interactive Internet Forum Mira Balaban, Ofer Biller, Alexander Grorhovski Worshop in SE Project
תאור כללי: פורוםהוא אתר המאפשר דיונים פתוחים בעלי עניין ציבורי. פורום כולל מספר כלשהו של תתי-פורומים (sub-forums). כל תת-פורום מיועדלדיונים בנושא כלשהו. תת-פורום יכול לכלול הרבה דיונים בנושא שלו. בכל דיון של תת-פורום יש הודעה-ראשונה, נקראת thread, והודעות הקרויות posts, והמהוות את דיון המשתמשים בנושא של ההודעה- הראשונה. הודעה היא תגובה להודעה אחרת (יחידה). הודעות מפורסמות על ידי משתמשים(users), שהינם חברי הפורום. לפורום יש משתמשים אורחים (guests), ומשתמשים חברים (members), אשר עברו תהליך רישום(registration) ויש להם חשבון בפורום. אורחים יכולים לצפות בהודעות הפורום. חברים נכנסים לפורום על ידי בצוע פעולת התחברות(login) שבמהלכה הם מזהים את עצמם. בסיום פעולתם בפורום, חברים יכולים להתנתק מהפורום (logout). חברים שהתחברו לפורום יכולים לבצע פעולות, כגון פרסום הודעות חדשות, ועריכת ומחיקת הודעות שהם פרסמו בעבר. חבר יכול להיות במעמד פעיל או לא פעיל.
כל תת-פורום מנוהל על ידי משתמשים שהם חברים, המתפקדים כמנחיו (moderators). הפורום כולו מנוהל על ידי משתמש שהוא חבר המשמש כמנהל (administrator). המנחים והמנהל דואגים לשמירת החוקיות של נושאי הדיונים, ההודעות-הראשונות והודעות התגובה. פורום-אינטראקטיבי הינו אתר דיונים שהעדכונים בו מתרחשים בזמן אמת. כלומר, משתמשים רואים ומתעדכנים בזמן אמת בכל המתרחש בפורום. פורום אינטרנטי הוא פורום שאתר הדיונים שלו הוא אינטרנטי. דוגמאות: • א. פורום: http://www.ynet.co.il/home/0,7340,L-813,00.html • ב. תת-פורום: http://www.ynet.co.il/home/0,7340,L-870-7715,00.html (על ידי עיון בו ניתן לראות את ה-threadsוה-posts שלו). • ג. דוגמה לאינטראקטיביות מספק ה-Facebook.
מאפיינים עיקריים (key features) של פורום: • ניהול דיון בנושא כלשהו. • יכולת חופשית להצטרף לדיון – פתיחות למשתתפים בדיונים; יכולת פרסום הודעות באופן חפשי. • יצירת קבוצות ידידים-בפורום, החולקים מידע ביניהם.
איפיון של מחולל מערכת מסוג X: בהינתן מידע ונתונים המאפיינים מערכת קונקרטית מסוג X, מייצר מערכת X קונקרטית.
מאפיינים ואילוצי נכונות(business and integrity rules): • ניהול פורום: • לפורום יש מנהל יחיד, שהוא משתמש חבר. • מנהל פורום יכול להיות מוחלף מדי פעם. • מידע בפורום (הודעות, משתמשים, תתי-פורומים ונושאי דיון) נשמר לאורך זמן – אלא אם כן, נמחק על ידי משתמש המוסמך לכך. • החלפה של מנהל הפורום או של מנחי תתי-פורום נקבעת על פי מדיניות ניהול הפורום. • מנחה פורום הצובר יותר מ-X תלונות ממשתמשים שונים בתת-פורום זה מושעה מתפקידו. מספר התלונות הקובע משתנה מפעם לפעם. • הפורום תומך בריבוי משתמשים בו זמנית.
מאפיינים ואילוצי נכונות (2)(business and integrity rules): • תת-פורום: • כל תת-פורום עוסק בנושא מסוים, ומכיל הודעות רלוונטיות לנושא זה בלבד. • לתת-פורום יש לפחות מנחה (moderator) אחד, ואולי יותר. • מנחה של תת-פורום חייב להיות חבר של תת-הפורום. • למנחה יש לפחות תת-פורום אחד שאותו הוא מנחה. • מנחי תת-פורום יכולים להיות מוחלפים מדי פעם. • מנחה תת-פורום יכול להיות מושעה מתפקידו, על פי מדיניות ניהול הפורום.
מאפיינים ואילוצי נכונות (3)(business and integrity rules): • משתמשים: • לכל משתמש יש שם המזהה אותו באופן יחיד בפורום. • למשתמש יכולים להיות ידידים. • למשתמש יכולים להיות דיונים שאותם הוא התחיל. • דיווח: • כל הפעולות המתבצעות בפורום מדווחות ב-logger של פעולות. • כל השגיאות בפעולת הפורום מדווחות ב-logger של שגיאות. • הודעות: • כל הפעולות המתבצעות בפורום מדווחות ב-logger של פעולות. • כל השגיאות בפעולת הפורום מדווחות ב-logger של שגיאות. • מחיקת הודעה גוררת מחיקת כל הודעות התגובה הישירות והעקיפות להודעה זו.
מאפיינים ואילוצי נכונות (4)(business and integrity rules): • אבטחה: • התחברות של חבר (login) לפורום נעשית תוך שימוש בשם משתמש וסיסמא. • סיסמאות בפורום נשמרות רק לאחר הצפנה. בפרט – אינן מופיעות בדיווחי הפעולות והשגיאות. • סיסמא של חבר אינה מופיעה בצורה מפורשת על אמצעי הממשק לפורום (מסך מחשב, מסך טלפון, וכו'). • כללי אינטראקטיביות: • משתמש הצופה בדיון בנושא X יראה הודעות המתווספות לדיון בנושא X תוך כדי הצפייה. • חבר שהתחבר לפורום יכול לקבל התראה בזמן אמת כאשר ידיד שלו מפרסם הודעה (גם אם ההודעה מתפרסמת לא בדיון שהוא צופה בו כרגע, או לא בתת-הפורום שבו הוא צופה). • חבר שהתחבר לפורום יכול לקבל התראה בזמן אמת אם מפורסמת הודעה באחד הדיונים שהוא התחיל (כלומר הוא הראשון שפרסם הודעה בהם).
דרישות פונקציונאליות: • שירותי משתמשים: • כניסה לפורום – כאורח או כחבר. • צפייה ברשימת תתי-הפורומים בפורום, ובנושאיהם. • צפייה בהודעות של תת-פורום. • חיפוש הודעות על פי פרמטרים שונים. למשל, לפי תוכן או על פי המשתמש שפרסם אותן. • אורח (guest): • רישום לפורום. • חבר (member) פעיל: • התחברות (login) והתנתקות (logout) מהפורום. • פרסום הודעה בתת-פורום בתגובה להודעה של משתמש אחר. • פתיחת דיון (פתיחת thread חדש) על ידי פרסום הודעה בנושא חדש לדיון. • יתכן שחבר יוכל לשנות תוכן הודעות עצמיות. • יתכן שחבר יוכל למחוק הודעות עצמיות. יכול להשפיע על הודעות תגובה. • ניהול רשימת ידידים (friends) מקרב החברים בפורום. • תלונה על מנהל פורום או על מנחה. • שינוי מעמד החשבון במערכת ללא פעיל.
דרישות פונקציונאליות (2): • שירותי מנהלים: • מנחה (moderator): • נידוי (banning) משתמש מהפורום לתקופה כלשהי או לצמיתות, על פי מדיניות ניהול הפורום. • מנחה עם ותק כלשהו: רשאי לשנות תוכן של הודעה בתת-הפורום עליו הוא אחראי. • מנחה עם ותק כלשהו רשאי למחוק כל אחת מהודעות שפורסמו בתת-הפורום שבו הוא ממלא את תפקיד המנחה. • מנהל (administrator): • מנהל יכול לעשות את כל מה שמנחה יכול לעשות, עבור כל תתי-הפורומים. • מינוי חבר כמנחה של תת-פורום, בתנאי שעומד בכללי מנוי מנהלים של מדיניות ניהול פורומים. • השעיית המנחה של פורום על פי כללי השעיה של מדיניות ניהול פורומים. • בטול מינוי של חבר כמנחה. • מינוי מנהל חדש לפורום במקום עצמו, בתנאי שעומד בכללי מנוי מנהל של מדיניות ניהול הפורום. • הוספת תת-פורום. • החלפת מנחה. • קבלת דיווח על מצב הפורום: מספר הודעות כולל, הודעות של משתמש כלשהו, וכו'.
דרישות פונקציונאליות (3): • שירותי ניהול פורומים: • בדיקה שתוכן הודעה-ראשונה והודעות תגובה בפורום תואמות את נושא תת-הפורום. • קביעת מדיניות השעיה למנחים ולמנהל. • קביעת תנאי מנוי למנהל ולמנחי פורומים. • אתחול פורום. הקמת כל החלקים הקבועים, שאינם תלויים בפעילות שוטפת של הפורום. תהליך האתחול כולל מינוי מנהל לפורום ומנחים לתתי-פורומים. • קביעת מדיניות השעיה למשתמשי הפורום.
דרישות לא פונקציונאליות: • מהירות (זמן): • זמן קצוב להמתנה לתשובה של פורום. • זמן קצוב להצגה של הודעות אינטראקטיביות למשתמשים, יחסית לזמן התרחשות האירוע שיוזם אותן. • זמן קצוב לתהליך ההתחברות של לקוח לפורום. • זמן קצוב ליצירת פורום חדש. • עומס: • מספר המשתמשים היכולים בו זמנית לקבל שירות נקצב על ידי מדיניות הפורום. • זמינות: • לאחר אתחול פורום, הוא פועל באופן רציף, כלומר אינו מסיים את פעולתו (למעט מקרים של הפסקת חשמל או קריסת המערכת המממשת). • אפשר להתקשר לפורום ממקומות שונים.
דרישות לא פונקציונאליות (2): • קיבול: • פורום מסוגל לתמוך במספר לא מוגבל של הודעות. • לקוח יכול לראות מספר לא מוגבל של הודעות. • צריכת ה-CPU של לקוח בפורום מוגבלת על ידי ה-CPU של המחשב שבו הוא משתמש. • ניידות: • פורום צריך לעבוד תחת דפדפני FireFoxו-Explorer . • שימושיות: • ממשק לקוח:לקוח מתקשר עם פורום דרך ממשק גרפי בשפה האנגלית. הממשק צריך להיות פשוט לתפעול עבור משתמש בעל רקע בסיסי ביותר במחשבים. למשל: • כפתור בממשק מכיל כיתוב קצר (2 מילים לכל היותר) או אייקון המתאר את תפקידו (רצוי גם וגם). • ... • עדכון קבוע: • פורום מספק למשתמש בכל רגע נתון מידע עדכני על מעמדו הנוכחי: אורח, חבר, מנחה, מנהל. • מעשיות: האפליקציה משתמשת בתוכנות מדף זמינות וניתנות ללימוד בתקופה קצובה. • מחיר: מחיר תוכנות המדף שבהן האפליקציה משתמשת הוא קצוב.
דרישות לא פונקציונאליות (3): • תחזוקה: • ניתן לשנות את מדיניות הניהול של פורום ואת השירותים למשתמשים בזמן קצר יחסית – קצוב על ידי מדיניות הפורום. • שינוי מדיניות אינו כרוך בהשקעה מרובה של משאבים. • אילוצי פלטפורמת מימוש: • תוכנת מחולל הפורומים כתובה ב-java או ב-C#. • תוכנת ממשק למשתמשי פורום כתובה ב-java או ב-C#.