.
مرحله تعمیر و نگهداری در تمام طول عمر سیستم ادامه دارد. آموزش برنامه نویسی برای کودکان ممکن است تغییراتی در سیستم پس از استقرار آن ضروری باشد.[113] ممکن است خطاهایی وجود داشته باشد، از جمله خطاهای مشخصات، خطاهای طراحی یا خطاهای کدگذاری. ممکن است بهبودها لازم باشد. سازگاری ممکن است برای واکنش به یک محیط در حال تغییر ضروری باشد.
برنامه نویس کامپیوتر
یک برنامه نویس کامپیوتر متخصصی است که مسئول نوشتن یا اصلاح کد منبع برای اجرای طرح تفصیلی است.[107] احتمالاً به یک تیم برنامه نویسی نیاز است زیرا اکثر سیستم ها آنقدر بزرگ هستند که توسط یک برنامه نویس منفرد تکمیل نمی شوند.[114] با این حال، افزودن برنامه نویس به پروژه ممکن است زمان آموزش برنامه نویسی برای کودکان تکمیل را کوتاه نکند. در عوض، ممکن است کیفیت سیستم را کاهش دهد.[114] برای مؤثر بودن، ماژول های برنامه باید تعریف و بین اعضای تیم توزیع شوند.[114] همچنین، اعضای تیم باید به شیوه ای معنادار و مؤثر با یکدیگر تعامل داشته باشند.[114]
برنامه نویسان کامپیوتر ممکن است در حال برنامه نویسی کوچک باشند: برنامه نویسی در یک ماژول واحد.[115] این احتمال وجود دارد که یک ماژول ماژول های موجود در فایل های کد منبع دیگر را اجرا کند. بنابراین، برنامه نویسان کامپیوتر ممکن است در ماژول های برنامه نویسی بزرگ برنامه نویسی کنند تا به آموزش برنامه نویسی برای کودکان طور موثر با یکدیگر جفت شوند.[115] برنامه نویسی در بزرگ شامل کمک به رابط برنامه نویسی برنامه (API) است.
ماژول های برنامه
برنامه نویسی مدولار تکنیکی برای اصلاح برنامه های زبان ضروری است. برنامههای اصلاحشده ممکن است اندازه نرمافزار را کاهش دهند، مسئولیتهای جداگانه را از هم جدا کنند و در نتیجه پیری نرمافزار را کاهش دهند. یک ماژول برنامه دنباله ای از عبارات است که در یک بلوک محدود شده و با هم با یک نام مشخص آموزش برنامه نویسی برای کودکان می شوند.[116] ماژول ها دارای یک تابع، زمینه و منطق هستند:[117]
عملکرد یک ماژول همان کاری است که انجام می دهد.
زمینه یک ماژول عناصری هستند که بر روی آنها انجام می شود.
منطق یک ماژول این است که چگونه عملکرد را انجام می دهد.
نام ماژول باید ابتدا بر اساس عملکرد آن مشتق شود، سپس بر اساس زمینه آن. منطق آن نباید جزء اسم باشد.[117] برای مثال، تابع compute_square_root(x) یا تابع compute_square_root_integer(i: integer) نامهای مناسب ماژول هستند. با این حال، تابع compute_square_root_by_division(x) نیست.
درجه تعامل در یک ماژول، سطح انسجام آن است.[117] انسجام قضاوتی در مورد رابطه بین نام یک ماژول و عملکرد آن است. درجه تعامل بین ماژول ها سطح جفت است.[118] کوپلینگ قضاوتی آموزش برنامه نویسی برای کودکان از رابطه بین زمینه یک ماژول و عناصری است که بر روی آنها اجرا می شود.
انسجام
سطوح انسجام از بدترین به بهترین عبارتند از:[119]
پیوستگی تصادفی: اگر یک ماژول چندین عملکرد را انجام دهد، انسجام تصادفی دارد و توابع کاملاً نامرتبط هستند. به عنوان مثال، تابع read_sales_record_print_next_line_convert_to_float(). اگر مدیریت قوانین احمقانه را اجرا کند، انسجام تصادفی در عمل رخ می دهد. برای مثال، "هر ماژول بین 35 تا 50 دستور اجرایی خواهد داشت."[119]
انسجام منطقی: اگر یک ماژول دارای یک سری توابع در دسترس باشد، آموزش برنامه نویسی برای کودکان اما فقط یکی از آنها اجرا شود، انسجام منطقی دارد. برای مثال، تابع perform_arithmetic( perform_addition, a, b ).
پیوستگی زمانی: اگر یک ماژول عملکردهای مربوط به زمان را انجام دهد، انسجام زمانی دارد. یک مثال، تابع initialize_variables_and_open_files(). مثال دیگر، stage_one()، stage_two()، ...
انسجام رویه ای: اگر یک ماژول چندین عملکرد مرتبط را انجام دهد، انسجام رویه ای دارد. برای مثال، تابع read_part_number_update_employee_record().
انسجام ارتباطی: اگر یک ماژول چندین کارکرد نزدیک به هم را انجام دهد، انسجام ارتباطی دارد. برای مثال، تابع read_part_number_update_sales_record().
انسجام اطلاعاتی: اگر یک ماژول چندین کارکرد را انجام دهد، انسجام اطلاعاتی دارد، اما هر تابع دارای نقاط ورودی و خروجی خاص خود است. علاوه بر این، توابع ساختار داده مشابهی دارند. کلاس های شی گرا در این سطح کار می کنند.
انسجام عملکردی: اگر یک ماژول به یک هدف واحد دست یابد ک آموزش برنامه نویسی برای کودکان ه فقط بر روی متغیرهای محلی کار می کند، انسجام عملکردی دارد. علاوه بر این، ممکن است در زمینه های دیگر قابل استفاده مجدد باشد.
جفت
سطوح جفت شدن از بدترین به بهترین عبارتند از:[118]
Content Coupling: اگر یک ماژول یک متغیر محلی تابع دیگری را تغییر دهد، دارای جفت محتوا است. COBOL این کار را با فعل alter انجام می داد.
کوپلینگ مشترک: اگر یک ماژول یک متغیر سراسری را اصلاح کند، جفت مشترک دارد.
کوپلینگ کنترلی: اگر ماژول دیگری بتواند جریان کنترل خود را تغییر دهد، یک ماژول دارای کوپلینگ کنترلی است. برای مثال perform_arithmetic( perform_addition, a, b ). درعوض، کنترل باید روی آرایش شیء برگشتی باشد.
Coupling Stamp: اگر یک عنصر از ساختار داده ای که به عنوان Teaching programming for children پارامتر ارسال می شود اصلاح شود، یک ماژول دارای جفت مهر است. شی گرا ج