ארכיטקט תוכנה – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
מ סקריפט החלפות (פרויקט)
שורה 1: שורה 1:
'''ארכיטקט תוכנה''' (ב[[אנגלית]]: '''software architect''') הוא [[מתכנת]] בכיר המקבל החלטות הנוגעות ל[[עיצוב תוכנה]] ברמה הגבוהה (high-level), ותפקידו להכתיב סטנדרטים טכניים לגבי [[מתודולוגיית פיתוח תוכנה|טכניקות תכנות]], כלים, [[שלד תוכנה|תשתיות תוכנה]] ו[[פלטפורמת מחשוב|פלטפורמות מחשוב]].
'''ארכיטקט תוכנה''' (ב[[אנגלית]]: '''software architect''') הוא [[מתכנת]] בכיר המקבל החלטות הנוגעות ל[[עיצוב תוכנה]] ברמה הגבוהה (high-level), ותפקידו להכתיב סטנדרטים טכניים לגבי [[מתודולוגיית פיתוח תוכנה|טכניקות תכנות]], כלים, [[שלד תוכנה|תשתיות תוכנה]] ו[[פלטפורמת מחשוב|פלטפורמות מחשוב]].


דמות ארכיטקט התוכנה החלה להתגבש עם התרחבות השימוש ב[[תכנות מונחה-עצמים]], ב[[שנות ה-90 של המאה ה-20|שנות התשעים]] המאוחרות של המאה ה-20, ובתחילת [[העשור הראשון של המאה ה-21|שנות האלפיים]]. תכנות מונחה-עצמים איפשר ליצור [[יישום מחשב|יישומים]] גדולים ומורכבים מאי פעם, מה שבתורו הצריך יותר תכנון ופיקוח ברמה הגבוהה. כמו כן, עם צמיחת הפופולריות של שימוש ב[[ארכיטקטורה רב-שכבתית]] ב[[פיתוח תוכנה]], גדל מספר האפשרויות השונות שבהן ניתן לממש יישומים. בעקבות התרחבות זאת, גדל במידה ניכרת גם הסיכון שפרוייקט לפיתוח תוכנה ייצור בטעות מוצר "חדש", אשר למעשה כבר היה קיים קודם. גורמים אלה הביאו לצורך בתפקיד החדש, של "ארכיטקט תוכנה" בפרוייקטים גדולים של פיתוח תוכנה.
דמות ארכיטקט התוכנה החלה להתגבש עם התרחבות השימוש ב[[תכנות מונחה-עצמים]], ב[[שנות ה-90 של המאה ה-20|שנות התשעים]] המאוחרות של המאה ה-20, ובתחילת [[העשור הראשון של המאה ה-21|שנות האלפיים]]. תכנות מונחה-עצמים איפשר ליצור [[יישום מחשב|יישומים]] גדולים ומורכבים מאי פעם, מה שבתורו הצריך יותר תכנון ופיקוח ברמה הגבוהה. כמו כן, עם צמיחת הפופולריות של שימוש ב[[ארכיטקטורה רב-שכבתית]] ב[[פיתוח תוכנה]], גדל מספר האפשרויות השונות שבהן ניתן לממש יישומים. בעקבות התרחבות זאת, גדל במידה ניכרת גם הסיכון שפרויקט לפיתוח תוכנה ייצור בטעות מוצר "חדש", אשר למעשה כבר היה קיים קודם. גורמים אלה הביאו לצורך בתפקיד החדש, של "ארכיטקט תוכנה" בפרויקטים גדולים של פיתוח תוכנה.


== תחומי אחריות ==
== תחומי אחריות ==

גרסה מ־19:08, 20 בספטמבר 2013

ארכיטקט תוכנהאנגלית: software architect) הוא מתכנת בכיר המקבל החלטות הנוגעות לעיצוב תוכנה ברמה הגבוהה (high-level), ותפקידו להכתיב סטנדרטים טכניים לגבי טכניקות תכנות, כלים, תשתיות תוכנה ופלטפורמות מחשוב.

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

תחומי אחריות

תחומי האחריות של ארכיטקט תוכנה כוללים:

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

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

ראו גם