ASSIGNMENT 9 · CHAPTER 20

Make an integration decision across owners

Read the named source pages, check the five objectives, apply the concepts, then reassess your decision when new evidence appears. The total-time estimate includes preparation; report your actual time.

Practical hour. This build is this chapter’s practical hour. The assignment is not submitted without it. Running the tests is a separate row in the rubric; longer writing does not make up for it.

الساعة التطبيقية. هذا البناء هو الساعة التطبيقية لهذا الفصل. لا يُسلَّم الواجب بدونه. تشغيل الاختبارات صف مستقل في السلّم، لا يُعوَّض بطول الكتابة.

Course learning outcome 10: Explain systems of systems and their engineering challenges, practised by building and testing the honest display. The tests and the coverage step practise outcome 11: design and implement test cases across testing strategies.

مخرج التعلم 10: شرح نظام الأنظمة وتحدياته الهندسية، ويُمارَس ببناء العرض الصادق لحالة كل مصدر واختباره. والاختبارات وخطوة التغطية تمارس المخرج 11: تصميم حالات الاختبار وتنفيذها.

35–55 min total5 points totalDeadline: course LMSIndividual response
  1. Warm-up
  2. FIT → INTEGRATE → BOUND → ACT + EVIDENCE
  3. Commit Part A
  4. STRESS → REFIT
  5. AI declaration + human review
  6. Export and submit in LMS
Checking storage…Not yet saved

1 · WARM-UP · 5 MINUTES · NOT GRADED

Every participating system passes its own tests. Does this prove that their shared service works?

Show / hide warm-up answer

No. You still need tests of the connections between systems, changes made by independent owners, and behavior that appears only when the systems work together.

Lecture guide

X02A, X03, X04, X05, X06 and X08; original slides 15–41 and 48–60.

FIT identifies the relevant problem. INTEGRATE builds this chapter’s artifact. BOUND states the limits. ACT + EVIDENCE records the action, owner and verification. STRESS then tests your reasoning before REFIT.

Chapter map · Relevant mechanism · 20-rule map · Practice card. Source and chapter-unit identifiers are not canonical rule numbers.

CURRENT EDITION · MASTERY V2

Required preparation and assessment scope

Read: SoS classification and independence: slides 15–20; Data feeds and architecture patterns: slides 48–53.

Complete the five-objective preparation check after the assigned reading before you start.

Scope notes and earlier editions

Blackboard supplies the calendar deadline. All five chapter objectives, the classroom concepts and named reading are in assessment scope. Optional toolkit activities are enrichment unless assigned.

One assigned source application and one short transfer answer are included below, within the existing 5-point rubric. A reading click or a practice score is not proof of mastery.

Already started the previous edition? Resume or export your previous work using the same ID and browser. Previous drafts stay separate. Completed submissions do not need repeating unless the instructor requests it.

READ BEFORE ANSWERING

How your work is assessed · 5 points

CriterionScoring
FIT · 1 point1: Defines the problem using the chapter ideas accurately, distinguishes facts from assumptions and connects it to the proposed action. The short answer applying a second chapter idea must correctly apply the second concept; FIT and that answer together earn this single point.
Partial credit: 0.75 · 0.5 · 00.75: The right concept and mechanism, but one link is thin: a fact and an assumption are not separated, or the transfer answer applies the second concept only partly.
0.5: A relevant concept is named but applied generically or to the wrong mechanism, or the transfer answer is missing or incorrect.
0: No chapter concept is applied, the case is misread, or the answer depends on invented facts. A generic “hold and test” statement does not satisfy this criterion.
INTEGRATE · 1 point1: A feasible cross-owner agreement and staged acceptance test that handles incomplete participation and makes assumptions and authority explicit. Apply one idea from the assigned reading to your technical work and explain the connection. Build: every course check passes, your own tests catch every known bug (mutation test), and you can make your code change for the short discussion (micro-viva) and explain which tests change; the text uses what the build showed.
Partial credit: 0.75 · 0.5 · 00.75: A feasible agreement and staged test, but authority or incomplete participation is handled only partly—for example, no fallback when one owner does not take part.
0.5: The plan assumes control over independent owners, or the acceptance test cannot run with one participant missing. Or the build fails course checks that the written record does not explain.
0: No workable cross-owner plan, or one that depends on authority nobody has.
TESTS RUN · requiredRequired for submission: a recorded run of your own tests and the course checks on your final code, a second run after you change one test input, and the coverage sentence. Part A cannot be committed without them. Not replaceable: longer writing does not make up for a missing run. A run with failing checks is accepted when your text explains it. The build itself is marked in INTEGRATE.
THEIR CHANGE · requiredRequired for submission: run 3, their change, with your code and tests unchanged, and your answer to two questions: did your tests stay green, and is the result still correct? Not met when your answer does not match what the run shows, for example “the result is still correct” when it is not. This row adds no points and takes none; the instructor reviews a row that is not met.
IN-CLASS CHECK · requiredTwo questions on paper in the lecture after the deadline, with no devices, about your own submission: a small change to your code and one new fact. Both correct: the mark stands. One correct: the mark is halved. Neither: a two-minute conversation with the instructor decides. This row adds no points. See AI rules and the in-class check.
BOUND · 1 point1: States relevant assumptions, the situations covered, and a result you can observe that would make you review the decision.
Partial credit: 0.75 · 0.5 · 00.75: A relevant boundary and trigger, but one is imprecise—for example, a trigger that cannot be observed as written.
0.5: The boundary is generic (“if problems occur”) or does not match the claim and the plan.
0: No boundary, or a boundary that contradicts the case facts.
ACT + EVIDENCE · 1 point1: Gives a workable action with clear limits, who is responsible, and evidence someone else can check, while distinguishing checks already completed from checks you plan to do.
Partial credit: 0.75 · 0.5 · 00.75: A feasible action and useful evidence, but one element is missing—for example, the responsible role, or whether the evidence is completed or proposed.
0.5: The action is vague or not feasible in the case, or the evidence cannot be inspected by someone else.
0: No action, or evidence that is invented or reported as completed when it is only proposed.
REFIT · 1 point1: Explains how the new evidence affects the initial claim and justifies RETAIN, REVISE or REPLACE with a consistent final answer.
Partial credit: 0.75 · 0.5 · 00.75: The effect of the new evidence and the RETAIN / REVISE / REPLACE choice are justified, but the final record leaves one inconsistency with the new boundary.
0.5: A choice is stated but not justified from the new evidence, or the final record repeats Part A without addressing the change.
0: No REFIT, or a response that ignores or contradicts the new evidence.

Five points use the same familiar structure. The chapter artifact changes; the LMS determines how assignment points contribute to the course grade.

Learning-outcome alignment

This task supports CLO 10 of the course specification (section B). The Python build, its tests and the coverage step also support CLO 11. It is course-written practice, not an official national readiness assessment or an approved item-weight mapping.

Strong and weak answers for each criterion · how other answers are accepted
CriterionStrong exampleWeak example
FITStrong: The concept is managerial independence: three owners, three models, one interface. Given: the dashboard can read but not change any model; no agreement on announcing changes. Assumption, marked: the owners rank by the same idea of urgency.
Why: Names the chapter concept, keeps to the given facts and marks the assumption.
Weak: The dashboard is in charge because it shows everything.
Why: Confuses display with authority; no case fact.
INTEGRATEStrong: Treat each queue as a data feed. Show each call with its owner, timestamp and the owner's declared model version. Never merge the three rankings into one city-wide order without an agreed scale.
Why: Applies the data-feed pattern and keeps the owners' meanings separate.
Weak: Merge the three queues and sort by urgency score.
Why: Assumes the scores mean the same thing across owners.
BOUNDStrong: The promise holds while each owner's ranking rule and model version are unchanged and declared. An undeclared change in the share of high-urgency calls from one owner reopens it.
Why: Names the dependency and an observable trigger.
Weak: It works as long as everyone is honest.
Why: No dependency and no observable trigger.
ACT + EVIDENCEStrong: Action: an agreement that model changes are announced as interface changes with a trial period, owned by the city dispatch lead. Evidence: a per-owner baseline of urgency shares with a drift alert, proposed.
Why: Feasible action, a named role, evidence with its status.
Weak: Ask the owners to be careful.
Why: No specific action, owner or inspectable evidence.
REFITStrong: The private company's weighting shows my merged view was promising a fairness it could not check. I replace it: rankings are shown per owner with the model version, and the drift alert fires. My first plan assumed one shared idea of urgency.
Why: Names what changed, chooses REPLACE with a reason, admits the first assumption.
Weak: I keep the merged list; the dashboard cannot control the owners anyway.
Why: Uses lack of control as an excuse; ignores the given fact.

Other answers are accepted when: the answer names the chapter concept that decides, uses only the facts given in the task, separates what the dashboard controls from what it receives, and names evidence from a baseline or record that someone else can check. A different integration that meets these conditions earns the same marks as the model answer.

The examples are about a different practice case. They show the kind of reasoning that earns the mark, not the answer to this task.

What distinguishes an unsupported answer from a stronger one?

Different practice example · weak: “Every API passes, so the shared service is ready.”

Stronger: For a different city dashboard, acceptance includes timestamps, feed loss and independent version changes. The coordinator records what each owner agreed to and what remains useful without one feed.

The stronger answer names a mechanism, its scope and inspectable evidence. It does not certify a real system. Your assessed answer must address this task’s own facts.

The assignment in nine steps الواجب في تسع خطوات

  1. 115 minPrepareLecture, the two readings, the five practice questionsاحضر المحاضرة، اقرأ المصدرين، وحلّ الأسئلة الخمسة
  2. 21 minOpenOpen it with your Student ID, in the same browser every timeافتح الواجب برقمك الجامعي، ومن نفس المتصفح دائماً
  3. 320 minPart AFIT · artifact · BOUND · ACT + EVIDENCE, 120–180 wordsاكتب حكمك الأول: المشكلة، المهمة، الحدود، القرار والدليل
  4. 430 minBuildPlan, complete the code, write 3+ tests, Runاكتب الخطة، أكمل الكود، 3 اختبارات على الأقل، ثم Run
  5. 51 minCommitReview & commit Part A: it becomes read-onlyثبّت الجزء A: يصبح للقراءة فقط
  6. 62 minNew evidenceIt opens on the page right after you commit. Read itيظهر الدليل الجديد في الصفحة مباشرة بعد التثبيت: اقرأه
  7. 710 minPart BBoundary status, then RETAIN / REVISE / REPLACE and whyهل تغيّر قرارك؟ اختر وبرّر، ثم اكتب القرار النهائي
  8. 82 minSignDeclare AI use, type your name, tick the boxصرّح بالذكاء الاصطناعي، اكتب اسمك، وضع العلامة
  9. 93 minSubmitPrint / PDF, then upload the PDF in Blackboardصدّر PDF وارفعه في Blackboard

Select a step to see it on a picture of this page. Online guide: How to do an assignment.

Before you start

  • Save often. Use Save draft while working and download a backup before leaving a shared device.
  • Commit, then the new evidence. Part A becomes read-only when you commit, and the new evidence opens on this page straight away. Complete Part B, export the PDF and upload it in Blackboard.
  • AI rules and the in-class check. Part A is written without AI. After the deadline, a 10-minute paper check on your own submission decides whether your mark stands. Read the rules for each step before you start.

New to this format? Read the step-by-step guide. The sequence preserves your first judgment; it is not a secure examination system.

AI rules and the in-class check

قواعد الذكاء الاصطناعي والتحقق في المحاضرة

FCIT Generative AI Policy, Option C (Mixed Approach). Each step below has its own permitted AI level. You remain responsible for showing your own understanding, and using AI beyond the permitted level may be treated as academic misconduct. The level of every assessment is listed in the course specification.

سياسة الذكاء الاصطناعي التوليدي في كلية الحاسبات وتقنية المعلومات، الخيار C (النهج المختلط). لكل خطوة أدناه مستوى مسموح لاستخدام الذكاء الاصطناعي. وتبقى مسؤولًا عن إثبات فهمك بنفسك، واستخدام الذكاء الاصطناعي بما يتجاوز المستوى المسموح قد يُعامل مخالفةً أكاديمية. ومستوى كل تقييم في المقرر مذكور في توصيف المقرر.

  • Studying the lecture before you start. AI-Assisted · for learning: AI may explain an idea and ask you to restate it in your own words. It may not answer this case.

    قبل البدء: مذاكرة المحاضرة: بمساعدة الذكاء الاصطناعي · للتعلّم: يمكن للذكاء الاصطناعي أن يشرح فكرة ويطلب منك إعادة صياغتها بكلامك، ولا يجيب عن حالة هذا الواجب.

  • Part A answers (FIT, COMPARE, BOUND, ACT + EVIDENCE, reading, second idea). AI-Free: No AI. Write them yourself.

    إجابات الجزء A: بدون ذكاء اصطناعي: بدون ذكاء اصطناعي. اكتبها بنفسك.

  • The AI draft in the scenario. AI-Free: It is the material you critique. Find the claims the supplied facts do not support.

    مسودة الذكاء الاصطناعي في الحالة: بدون ذكاء اصطناعي: هي المادة التي تنقدها: حدّد الادعاءات التي لا تدعمها الحقائق المعطاة.

  • Python build. AI-Assisted: AI may explain an error message. It may not write your functions or your tests.

    البناء في بايثون: بمساعدة الذكاء الاصطناعي: يمكن للذكاء الاصطناعي أن يشرح رسالة الخطأ، ولا يكتب دوالك ولا اختباراتك.

  • After you commit (STRESS and REFIT). AI-Assisted: AI may question your reasoning. The final decision and the words are yours.

    بعد تثبيت الجزء A: بمساعدة الذكاء الاصطناعي: يمكن للذكاء الاصطناعي أن يسألك عن تفكيرك، والقرار الأخير وصياغته لك.

  • AI-use declaration. Required: Name the tool and the steps where you used it, what you changed because of it, and what you chose not to take, and why.

    تصريح استخدام الذكاء الاصطناعي: مطلوب: اذكر الأداة والخطوات التي استخدمتها فيها، وما غيّرته بسببها، وما رفضت أخذه ولماذا.

In-class check · AI-Free. In the lecture after the deadline you answer two short questions on paper, with no devices, about your own submission: a small change to your code (which test fails, and why) and one new fact (does your decision change?). It takes about 10 minutes. Both answers correct: your assignment mark stands. One correct: your mark is halved. Neither: a two-minute conversation with the instructor decides the mark. If you miss that lecture with an accepted excuse, the check is done in office hours. This applies the ownership rule on every assignment: your written work and your own explanation must agree.

التحقق في المحاضرة · بدون ذكاء اصطناعي. في المحاضرة التي تلي موعد التسليم تجيب على ورق، وبدون أي جهاز، عن سؤالين قصيرين حول واجبك أنت: تغيير صغير في الكود (أي اختبار سيفشل ولماذا)، ومعلومة جديدة (هل يتغير قرارك؟). يستغرق نحو 10 دقائق. إذا كانت الإجابتان صحيحتين تبقى درجة الواجب كما هي، وإذا كانت إجابة واحدة صحيحة تصبح نصف الدرجة، وإذا لم تصح أي منهما تُحدَّد الدرجة بعد نقاش قصير مع الأستاذ مدته دقيقتان. ومن غاب عن تلك المحاضرة بعذر مقبول يُجري التحقق في الساعات المكتبية. هذا تطبيق لقاعدة الملكية الموجودة في كل واجب: يجب أن يتفق ما كتبته مع شرحك له.

How to do it, with an example · كيف تحلها، مع مثال

Identity

Loaded from the entry page. Drafts are separated by Student ID in this browser.

Submission details

Check the current deadline and submission instructions in the LMS.

How this assignment connects to the lecture and the five objectives

ONE METHOD · TWO DIFFERENT CASES

From the classroom card to this assignment

The lecture has 20 slides and three short practice stations: claim + evidence; mechanism + limits; changed condition + revised decision. Here you transfer that reasoning to the separate assessed scenario below. Do not copy the practice answer or submit another full classroom report.

Unchanged: 5 raw points, existing deadline, local draft identity, confirmed Part A commitment, STRESS then REFIT, AI declaration and Blackboard submission. Already completed work does not need repeating merely because the lecture was updated.

Five chapter objectives → existing evidence opportunities

These are local chapter objectives. They do not renumber the approved syllabus outcomes or establish an official national mapping. The lecturer judges correctness and sufficiency; a field being filled is not attainment.

Chapter objectiveWhere it is practised / evidenced within this task
Objective 20.1 Recognize operational and managerial independence.FIT
Objective 20.2 Classify SoS and explain three kinds of complexity.transfer question + BOUND
Objective 20.3 Explain why reductionist assumptions can fail.source application + FIT
Objective 20.4 Plan interfaces, staged deployment and cross-system tests.INTEGRATE + EVIDENCE
Objective 20.5 Compare data-feed, container and trading architectures.ACT + REFIT

2 · PART A · 20 MINUTES

Assessed scenario · fictional teaching case

Task format: Review an AI assistant’s design. The same five criteria apply.

A fictional university wants one screen showing incidents using information from security, transport and facilities.

  • Each system can work on its own. Each has its own owner and schedule for releasing software updates.
  • Security sends incident IDs. Transport sends vehicle locations and the time each location was recorded. Facilities sends building-access status.
  • The owners agree to a limited daytime trial. They have not agreed how old information may be before it is unsuitable, or what the screen should show when a system stops sending data.

Each system passed its own API tests (tests of its program-to-program connection). Nobody has tested a failure involving the systems working together.

An AI assistant's draft design for the transport team — review it before the trial: “The screen asks all three systems for data every minute. It labels the latest value received from each as live. If a system stops sending data, it keeps displaying that system's last value so the screen is never empty. Each owner signs a one-page promise of 99.9% availability. To accept the design, check that every API returns HTTP 200 (a successful response code) and uses the agreed JSON data structure.”

Teaching simulation. Use only the supplied facts. You may calculate from them. Do not invent additional test results, thresholds or completed audits. If you propose extra evidence or a new threshold, label it proposed.
Quick word help · معاني المصطلحات

شرح مختصر للكلمات المستخدمة في هذا الواجب. ارجع إليه أثناء الحل.

Words in this case

System of systems (SoS)
Independent systems working together to provide a shared service.
أنظمة مستقلة تتعاون لتقديم خدمة مشتركة.
Constituent
One of the systems taking part.
أحد الأنظمة المشاركة.
Governance
Agreements about who decides, who is responsible and how changes are handled.
اتفاقات تحدد صاحب القرار والمسؤولية وطريقة التعامل مع التغييرات.
Feed / timestamp
Incoming updates / the recorded time attached to a value.
تحديثات بيانات واردة / الوقت المسجل مع القيمة.
Freshness limit
The greatest acceptable age of a data item for this task.
أقصى عمر مقبول للبيانات في هذه المهمة.
Staged acceptance
Checking readiness in steps before allowing wider use.
التحقق من الجاهزية على مراحل قبل توسيع الاستخدام.

Words used in every assignment

FIT
What problem matters, and why?
ما المشكلة المهمة؟ ولماذا؟
BOUND
When does your recommendation apply? What would make you review it?
متى يصلح قرارك؟ وما الذي يستدعي مراجعته؟
ACT + EVIDENCE
What will you do, who is responsible, and what supports it?
ما الإجراء؟ ومن المسؤول؟ وما الدليل؟
STRESS
New information shown after you lock Part A.
معلومات جديدة تظهر بعد تثبيت الجزء A.
REFIT
Review your decision using the new information.
راجع قرارك في ضوء المعلومات الجديدة.
RETAIN / REVISE / REPLACE
Keep the decision / adjust it / choose a different decision.
أبقِ القرار / عدّله / استبدله بقرار آخر.
Fact / assumption / proposed
Given evidence / something you assume / something you suggest doing or testing.
حقيقة معطاة / افتراض يحتاج تحققًا / إجراء أو اختبار تقترحه.
Artifact
The work you produce: for example a test plan, comparison or set of rules.
المخرج الذي تعدّه، مثل خطة اختبار أو مقارنة أو مجموعة قواعد.
Transfer answer
Apply a second chapter idea to the question, using your own explanation.
طبّق فكرة ثانية من الفصل على السؤال، واشرحها بأسلوبك.
Mutation test / micro-viva
Your tests try code with known bugs / a short discussion where you explain and change your code.
اختباراتك تكشف أخطاء مقصودة في الكود / مناقشة قصيرة تشرح فيها كودك وتعدله.

Keep the written response to about 120–180 focused words; use compact tables or notation. Include the source application and transfer answer in that budget. Your Python code, tests and build record are not counted in it. State facts, assumptions and proposed evidence separately. Quote or cite the assigned source precisely; explain its role. Report actual study time at the end.

A1 · FIT · 1 POINT

Name the type of system of systems (SoS). Explain how each system can work alone and make its own management decisions. Name one useful shared service. Identify control over the other owners that the AI draft wrongly assumes.

PYTHON BUILD · ASSESSED IN INTEGRATE

Build a display that shows the data's real state

Write display_state and headline. For every incoming data feed, show whether it is recent enough, too old, or unavailable. Do not label the whole display live when one feed is old or unavailable. Use the proposed 5-minute age limit. Use the actual result when reviewing the AI draft.

First time? Try the not-assessed practice build and a complete worked example on How to do an assignment.

Budget about 30 minutes. Python runs in your browser: nothing to install, and nothing is uploaded. The first run downloads Python once (about 10 MB, internet needed). Passing every check is necessary, not sufficient: your written record must use what the build shows.

Your tests also run against versions of the code with known bugs. Each bug must make at least one of your tests fail. This is called mutation testing. Your build record gives you a small code change to explain in a short discussion (micro-viva), selected using your Student ID. Be ready to make it and explain which tests change and why.

Primary source · about 15 minutes: M. W. Maier, “Architecting Principles for Systems-of-Systems,” Systems Engineering 1(4), 1998. Read about operational independence (each system can work alone) and managerial independence (each owner makes its own decisions). Which line of your code is needed because the dashboard does not control the owners of the data feeds? Use the answer in your build plan.

The course checks your build must pass
  • a fresh available feed is live
  • an old feed is stale
  • unavailable, missing or future times show as unavailable
  • the freshness limit is a parameter
  • the headline never hides a degraded feed
  • your own tests: at least three, all passing
  • your tests catch every known bug (mutation test)

Keep the given names. Write at least three functions whose names start with test_. Tab inserts four spaces.

Write your plan, then run.

COVERAGE STEP · COURSE OUTCOME 11 · DESIGN AND IMPLEMENT TEST CASES ACROSS TESTING STRATEGIES

The build record measures which lines and branches of your code your own tests run. The course checks are not counted.

  1. Make your three tests pass and read the coverage lines in the build record.
  2. Change one input in one of your tests. Run again: the record shows Run 2.
  3. Write one sentence: which branch is still not tested, and which input would test it.

RUN 3 · THEIR CHANGE · A PART YOU DID NOT WRITE CHANGES

Owner B changes what "updated" means in feed B, without changing the version number (still v1). It now means minutes since the last update, not the minute of the last update.

- "updated": minute of the last update        # feed B, version v1
+ "updated": minutes since the last update    # feed B, version still v1

After your tests pass (Run 2), run their change. Do not edit your code or your tests first.

A2 · INTEGRATE · 1 POINT

Review the AI draft design. Write an agreement for two participating systems: who owns each, what data they exchange, assumptions about software versions and data age, and useful behavior if one stops sending data. Plan a test of the shared service in stages. For each change you propose, say which weakness in the AI draft it addresses.

A3 · BOUND · 1 POINT

Separate what the trial coordinator can decide alone from what needs agreement with another owner. Name an event that would require stopping or limiting what the shared service promises.

A4 · ACT + EVIDENCE · 1 POINT

Approve the design, approve it with conditions, or reject it for the trial. Name the coordinating role and the owners who must take part. State what evidence is needed before moving to the next stage.

Name the test, activity record or review that supports your decision. State the conditions it covers, who checks it, and what evidence is missing. Clearly separate results already available from checks you are only proposing.

ASSIGNED SOURCE APPLICATION · INCLUDED IN THE EXISTING RUBRIC

Give a slide number from the assigned reading. Explain its idea in your own words, then point to the part of your answer it supports or challenges. A slide number alone is not enough.

TRANSFER CHECK · SCORED WITH FIT

Compare a data-feed design (systems send updates to a shared service) with a trading design (systems request or offer services through agreed exchanges). Which fits this incident screen? What extra kind of interaction would make the other design appropriate?

Commit is not LMS submission. Confirmation freezes FIT, INTEGRATE, BOUND, ACT and EVIDENCE before the new information appears.

Privacy: responses are stored locally in this browser under Chapter + Student ID. They are not sent to the instructor by this page. Submit the checked PDF through the LMS.