Skip to content

Latest commit

 

History

History
145 lines (95 loc) · 12 KB

proj1-idea.md

File metadata and controls

145 lines (95 loc) · 12 KB

חזרה לעמוד ראשי

פרויקט 1 – הצעת פרויקט - Software Project Proposal

הקדמה

מטרות

  • הכרת הארגונים השותפים וההצעות שלהם
  • סקירת הצעה לפרויקט והתאמתה לקורס
  • שיתוף הסקר עם כלל הכיתה
  • בחירת הצעה

לוח זמנים

  • יום א 11/3 10:30 - יריד ארגונים
  • עד יום ג 13/3 24:00 - פרסום סקרי הצעות
  • עד יום ד 14/3 24:00 - שליחת בקשות שיבוץ לפרויקטים
  • עד יום א 14/3 הודעה על הרכב הצוותים ומעבר לשלב אתחול הפרוייקטים

הרכב הציון

הציון למשימה זו אינו נקבע לפי האם ההצעה שנסקרה עברה לשלב הבא, אלא רק איכותה ופרסומה בזמן. הציון ישוקלל כחלק מהגשות הפרויקט בקורס.

עבודה והגשה

המשימה הנוכחית מתבצעת בזוגות (מי שלא מצא בן-זוג אז ביחיד), כל זוג סטודנטים סוקר לפחות הצעה אחת לעומק כותב ומפרסם דו״ח בטופס שלמטה.

מבוא

במסגרת הקורס תפתחו מוצר/מערכת תוכנה בעלת ערך ללקוח אמיתי. מטרתכם במשימה זו היא לסקור את הארגון ואת ההצעה שלו לפרויקט ולבחון את מידת ההתאמה לקורס.

מאגר הרעיונות

בקורס זה אנחנו מפתחים מוצרי תוכנה עובר ארגונים חברתיים בירושלים שנענו לקול קורא (ניתן גם להירשם לקורס בחירה תמורת שעות העבודה עבור הארגון). הזמנו את הארגונים ליריד במכללה, זאת כדי ליצור קשר בלתי אמצעי בין הסטודנטים לארגונים. מומלץ לבקר בכמה שיותר ארגונים אך כל זוג סטודנטים נדרש לסקור הצעה אחת יותר לעומק. אם יש לכם עוד שאלות לארגונים לאחר היריד, אפשר ומומלץ גם לפנות לאיש הקשר של הארגון המצוין בהצעה בבקשה לבירור פרטים.

עליכם לבחון האם ההצעה מתאימה לצרכי הקורס בהתאם להנחיות שבהמשך מבחינת גודל ואפשרויות טכניות. מומלץ להתיייעץ עם צוות הקורס, (כולל רכזת התכנית). אפשר גם לפנות לאיש הקשר של הארגון המצוין בהצעה בבקשה לבירור פרטים.

רשימת הרעיונות

כללי

עליכם לבדוק שהרעיון הוא בעל ערך (לארגון) וישים למימוש בקורס במסגרת המשאבים הזמינים.

א. הרעיון - לתאר את המערכת המוצעת לפיתוח כך שהאחרים יבינו מהי וישתכנעו שהיא בעלת ערך. מהן הבעיות שהיא באה לפתור? מה יהיו הפונקציות העיקריות שלה?

ב. תיכון, היתכנות ותיכון - עליכם לתאר תיכון ראשוני (ארכיטקטורה\design) אפשרי למוצר. המטרה היא שיהיה אפשר להעריך באופן ראשוני אם ניתן לבנות את המערכת בעזרת שימוש מיטבי במשאבים: סמסטר אחד, חמישה מהנדסי תוכנה וטכנולוגיה מוצעת (במסגרת התרגיל בקורס נלמד פיתוח אפליקציות רשת - אך ייתכנו פתרונות אחרים). עליכם גם לנתח מספר סיכונים עיקריים ואפשרות מענה (למשל לפי מה שלמדתם בקורס ניהול פרויקט תוכנה, ראו גם למשל עוד על ניתוח סיכונים והערכת עלות-תועלת כאן),

כמהנדסי תוכנה סביר שתתבקשו לעיתים לבחון רעיונות חדשים וגם להציג ולשכנע בערכם והיתכנותם. עקב אילוצי הקורס ההצגה היא ע״י פרסום במקום משותף ומענה על שאלות דרך פורום הקורס.

משימת השכנוע בערך של רעיון (שלכם או אחרים) היא שלב ראשון לקראת עבודה בצוות לבניית מוצר.

דרישות המערכת

האילוץ העיקרי הוא שהיא באה לפתור בעיה של ארגון שנענה לקול הקורא שפרסמנו. לצרכי הקורס חשוב גם שזו תהיה מערכת לא טריוויאלית בעלת מספר רכיבי תוכנה. ביתר פירוט, המערכת צריכה ש:

  1. יהיה לה קשר לעולם האמיתי, ז"א היא באה לפתור בעיה אמיתית של מישהו\מישהי אמיתי\ת באמצעות מערכת שעיקרה תוכנה.
  2. המערכת תהיה אפליקציית ווב\מובייל (יישום רשת) בארכיטקטורת לקוח/שרת (ולא אתר או מערכת ניהול תוכן בלבד!). כברירת מחדל, הלקוח יהיה כתוב ב- html/css/js (ומותאם גם ללקוח נייד) והשרת ב- node.js או שפה מונחית עצמים אחרת.
  3. השרת צריך לכלול לוגיקה שאינה טריוויאלית (ולא רק בסיס נתונים).
  4. כברירת מחדל הקוד יהיה מאוחסן במאגר פתוח ב- github וגרסה עובדת של השרת תהיה זמינה על גבי תשתית ענן - כך שתהיה למוצר גישה נוחה למפתחים וללקוחות (יילמד בתרגיל).
  5. מדובר ברעיון חדש. הוא יכול למשל להיות תוסף (plug-in) לתוכנה קיימת, אך לא העתק מדויק של מוצר קיים או של פרויקט אחר במכללה.
  6. המערכת תעשה שימוש משמעותי ולא טריוויאלי ברכיבים ותשתיות קיימים, כגון בסיסי נתונים, רכיבי אימות, שרותים פתוחים ועוד (ולא רק ספריות סטנדרטיות), זאת כדי שהוא יהיה מעניין וגם ישים במגבלות הקורס.
  7. יהיה אפשר להדגים את המערכת בזמן ההרצאה וגודלה מתאים להערכתכם לפיתוח במסגרת האילוצים של הקורס (כולל הזמן שייקח ללמוד את הסביבה, התהליך וכדו').
  8. רעיונות יוצאי דופן במקוריותם אינם מחויבים לתנאים שלמעלה להתאמות נוספות – יש לפנות לצוות הקורס.

תכני הסקר

להלן התכנים הנדרשים למסמך שסוקר את ההצעה:

  1. שם הסטודנט\ים ושם משתמש בגיטהאב (יש לפתוח חשבון בהקדם - ראו הדרכה בתרגיל אישי 1 בנושא).
  2. שם הארגון
  3. מהי המערכת שתפותח? איזו בעיה היא פותרת? מי הם הלקוחות והמשתמשים.
  4. מדוע היא כדאית לפיתוח (business case)? מהן החלופות כיום?
  5. שם מוצע לפרויקט ולמוצר (באנגלית)
  6. תיכון - תיאור ברמה ראשונית של הרכיבים\מודולים שישמשו במערכת. הוסיפו תרשים אחד לפחות (דוגמאות). שפות תוכנה וספריות\שירותים מתוכננים לשימוש.
  7. תכנון ראשוני - פרטו בקצרה שלבים שלדעתכם נדרשים כדי לממש את הפרויקט.
  8. סיכונים - מה לדעתכם הסיכונים והבעיות העיקריים שהפרויקט עלול להיתקל בהם? כיצד תנמיכו או תתמודדו איתם. האם אפשר לפתור את הבעיה ללא פיתוח תוכנה? מהם הייתרונות שיכולים להתקבל מהשקעה בפיתוח.
  9. הערות נוספות - עם מי התייעצתם במהלך הסקר, שאלות פתוחות וכדו׳

הוראות הגשה

  • ביריד תקבלו טופס לדוגמא עם שם אחד הארגונים
  • לאחר ההשתתפות ביריד יש למלא את טופס סקרֿ. תוכלו להתרשם מכלל הסקרים שמולאו וכך בהמשך לבחור את הפרויקטים המועדפים על ידיכם.
  • שליחה אישית של עדיפויות לפרויקט בטופס רישום לפרויקט

יש להוסיף בטופס פסקה עם תיאור כללי של הסיבה לבחירה שלכם, במקרה שאתם חלק מצוות מוצע של חמישה סטודנטים יש להוסיף פסקה שבה תשכנעו שהצוות הוא בעל שונות (diversity) (ראו גם בהגדרות משימה קבוצתית 2)

צוות הקורס יעדכן לקראת השבוע הבא על השיבוץ שייעשה בהתאם למידע שתעבירו לעיל.

לו״ז להגשות בתחילת ההנחיות. להבהרות נוספות פנו בבקשה לפורום הקורס.

הנחיות נוספות

שימו לב לנושאי פרטיות ברשת – חלק גדול מתוצרי העבודה בקורס הם ציבוריים. במידה ואינכם מעוניינים לפרסם פרטים אישיים (כמו שם, ת.ז. ומייל) הקפידו שלא להשתמש בהם במסמכים שמועלים לקישורים ציבוריים (ולכלול אותם רק בטופס ההגשה).

זכרו שמשימה זו היא הבסיס להחלטה על המערכות שנפתח בהמשך הסמסטר. זו גם יכולה להיות הזדמנות לעבוד על רעיון שתמיד חלמתם עליו!

קישורים נוספים

  1. מדריך כתיבת SOW
  2. ReadySet תבנית הצעת פרויקט מאתר תבניות
  3. Jonathan Rasmusson, Ten Questions You’d Be Crazy not to Ask at the Start of Your Project
  4. תבנית למצגת מבוססת על המאמר הקודם
  5. טיפים לפרויקט תוכנה לסטודנטים
  6. טיפים לכתיבת מצגת לדוגמא
  7. טיפים לדיבור לפני קהל

בהנאה ובהצלחה צוות הקורס