MTA TM354 Flashcards

1
Q

A relation between two or more modules which either directly or indirectly depend on each other to function properly is known as

A

circular dependency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

To which category and type do you classify the requirement:
“Upgrading the hardware should be done within 3 hours”

A

Non-Functional, Maintainability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

To which category and type do you classify the requirement:
“To operate in London, the system should be licensed by the local authorities”

A

Non-functional, Legal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

To which category and type do you classify the requirement:
“The system must allow users to verify their accounts using their mobile number’

A

Functional, Technical

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

System Architecture is the structure of items
that include all of the following except:

A

functional requirements of the items

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the best way to represent a “whole-part” relationship in a class diagram?

A

Aggregation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

In which Unified Process phase the final product is constructed

A

Construction

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

In which Unified Process phase the core of the system is developed

A

Elaboration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Which of the below security requirements address the protection of a system against threats and attacks?

A

Immunity

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Which of the below security requirements address the protection of data from unauthorized access

A

Privacy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Representing the marketing team of a supermarket as a class in a system is best categorized as which category

A

Organizational Units

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Representing the marketing team of a university as a class in a system is best categorized as which category

A

Roles

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Which UML diagram is a static model that describes the objects and the relationships between them that are needed to implement the required functionality?

A

Class diagram

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When a module of a system performs one task, the module is said to be

A

highly cohesive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What do activity diagrams best demonstrate

A

Workflow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

A system which is easier to understand, modify, replace, and reuse should

A

be loosely coupled

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Which of the following is not something that Use Case diagrams help provide:

A

Identifying components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Which Object-oriented software development model king is the one which describes the objects in a software system and their relationship to other objects:

A

Structural model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

what are the two types of synchronization bars

A

fork and join

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

What do you call an association, where at one end there is a qualifier consisting of one or more attributes

A

Qualified association

21
Q

State 3 of the tasks that are considered part if the Maintenance Activity?

A

− 🔧 Fixing errors
− 🔄Adapt software to a changing environment
− 🚀Improve software for future changes

22
Q

How do you define a Model?

A
  • 🌀 Abstract representation تمثيل مجرد
  • 📐 Specification, Design, System يصف المواصفات، التصميم، أو النظام
  • 👀 from a particular Point Of View من وجهة نظر معينة
  • 🌍 Simplification of reality تبسيط للواقع
  • 🔍 Understand an aspect of the system يساعد على فهم جزء معين من النظام
23
Q

How do you define a Good Model?

A
  • 🎯 Abstraction تجريد يوضح فقط الجوانب المهمة
  • 🔑 Concentrate on the essentials of a complex problem يركز على الأشياء الأساسية
  • 🚫 Excluding non-essential details يستبعد التفاصيل غير الضرورية
  • ✅ Capturing those of interest. يحتفظ فقط بالأشياء المهمة
24
Q

“The system should provide senior members with a discount when making a reservation”

Why the Requirement is Ambiguous?

A

🔹 Type: This is a functional requirement – Business requirement.

  • 🏷️ “Senior members” is not defined.
    It is unclear what criteria qualify a member as “senior.”
  • 💰 The amount or percentage of the discount is not specified.
  • 🎟️ It does not specify whether the discount applies to all types of reservations or only certain types.

✅ “The system should provide a 10% discount to members aged 65 and older when making any type of reservation.”

25
Q

A constraint is inherited from a superclass to a subclass.
How can the constraint be modified in the subclass?

يتم توريث القيد من الفئة الأساسية إلى الفئة الفرعية
كيف يمكن تعديل القيد في الفئة الفرعية؟

A

It can modify the constraint by ‘strengthening’ it, that is,
by adding further restrictions. ✅🔒

يمكن تعديل القيد عن طريق “تعزيزه”، أي إضافة مزيد من القيود والتقييدات الإضافية. ✅

26
Q

Define what is meant by coupling and provide 3 different form of coupling?

A

refer to the degree of interdependence among different modules. ⚙️🔧

  • 🧬A inherits from B.
  • 📦 A has an attribute of class B.
  • 🔍 A knows of a public attribute of class B.
27
Q

Why are swimlanes used in an activity diagram, and what do they help identify?

A

🛠️ Swimlanes is used to group activities associated with different roles. 🎭
🔍The swimlanes help to show the role that is responsible for each activity. 📌

  • 🛠️ يتم استخدام المسارات لتجميع الأنشطة المرتبطة بأدوار مختلفة. 🎭
  • 🔍 تساعد المسارات في تحديد الدور المسؤول عن كل نشاط في المخطط. 📌
28
Q

“The system must limit the number of characters that are user can use in a post”
🔹 Why the Requirement is Ambiguous?

A

🛠️ Type: functional requirement – Technical solution.

  • ❌ The requirement does not specify the exact limit on the number of characters.
  • ❌ It is unclear if the limit applies to all types of posts or specific ones.

🔹 ✅ “The system must limit the number of characters that the user can use in a post to 280 characters.”

29
Q

Explain why it is better to avoid over-complex use case diagrams and suggest one way to reduce the complexity of a use case diagram.

A

📊 The general approach to managing complexity is:
- partition a problem into subproblems 🧩 .
- and use abstraction 🎭 to reduce the detail and extract what is most significant to the problem.

📉 Reduce the complexity of a use case diagram by:
- 🖌️ redrawing it at a higher level of abstraction
- 📦 splitting it up into smaller modules.

30
Q

system in University, Provide 1 example of a class that belong to “Tangible Objects” and 1 Example of a class that belong to “Roles” , Provide an additional example that belong to both “Tangible Objects” and “Roles”

explain the Importance of Having Filtering Criteria When Selecting Classes

A

− 📚 Tangible Objects: Textbook, Laptop.
− 👤 Roles: Student, Lecturer.
− 🆔 Both Tangible Objects and Roles: ID Card, Lab Coat.

✅ Ensures that chosen classes are relevant and necessary for the system being modeled.
✅ Eliminates unnecessary complexity and focuses on essential elements that define the system’s behavior and structure.
✅ Makes the system easier to understand, develop, and maintain.
✅ Helps in avoiding redundancy and inconsistency in the system model.

31
Q

In the Hotel domain, Provide any example of a business rule and any example of business process, Why is Validation important to perform on Business Rules?

A
  • 📜 Business Rule:
    ✅ “All guests must provide a valid ID at check-in”
    ❌ “No pets are allowed in the hotel.”
  • 🏨 Business Process:
    🔹 Room Booking Process
    🔹 Check-out Process

✅ because it ensures that they are the most appropriate rules for the business.

32
Q

A Legacy system started out with all the characteristics of a good software system: Useful, Usable, Reliable, Flexible, Available, Affordable. State with a brief explanation 2 reasons why such a good system became a Legacy system.

A

🔄 Frequent Changes Since Inception:
📌 Too many modifications without proper documentation ➝ Complex, unstable, and hard-to-understand system.

📃 Lack of Documentation:
📌 Over time, documentation becomes incomplete or lost ➝ Difficult to understand and modify, increasing errors.

⚙️ Difficult Maintenance:
📌 Aging systems are costly and hard to maintain due to outdated technology, tangled code, or lack of system understanding.

33
Q

State the type of the below non-functional requirement and suggest a reasonable fit-criterion.

“An existing customer shall be able to complete the checkout process on the ecommerce website as quickly as possible.”

A

Usability: 🖥️💡 The fit-criterion is “An existing customer shall be able to complete the checkout process 🛒 on the ecommerce website 🌐 within 2 minutes ⏳.”

✅ Why?
* Sets a clear and measurable goal 🎯
* Avoids vague terms like “as quickly as possible” 🚀
* Helps evaluate system performance and user experience ✅

34
Q

Briefly discuss “flexibility” as one of the characteristics of a good software system. Also, state why legacy systems lack in flexibility.

A

🌀 Flexibility:
Software is easy to change 🔄 as time ⏳ goes

why legacy systems lack in flexibility?
Lacks flexibility ❌; as the software ages 🏚️, it becomes more difficult to maintain 🛠️ and costly 💰.

35
Q

A new restaurant decided to extend its business by adding a delivery section for customers to provide their orders from a mobile device. State 3 non-functional requirements with their types for such a system.

A

🔹 Usability: 👥 User-friendly for customers & staff.
🔹 Performance: ✅ Process 100 orders/hour, ✅ Respond within 2 seconds.
🔹 Security: 🔒 Strong encryption, 🚫 Firewall for protection.

36
Q

In an educational training institute, the task of “registering for promotion examination” has a requirement that the person who is performing the task must have completed 5 online training courses in the past 1 year. For this specific task, state each of the following: Initiator, Goal, Pre-Condition, Post-Condition.

A

🔹 Initiator:
🎓 Student – wants to register for the promotion examination.
🔹 Goal:
✅ Successfully register for the promotion examination.
🔹 Pre-condition:
📚 Must have completed 5 online courses in 1 year.
🔹 post-condition:
📝 officially registered and eligible to take it.

37
Q

Briefly explain the difference between “System Boundary” and “Systems’ Environment”.

A

🔹 System Boundary ✨:
A conceptual line that separates the system from everything else (defines scope).

🔹 System Environment 🌍:
External factors that are not part of the system but can affect it or be affected by it.

38
Q

AOU decided to build a new system for students to be able to share their comments about the courses and tutors. State 3 non-functional requirements with their types for such a system.

A
  1. The system should have user-friendly interface 🖥️, usability ✅.
  2. The system shall handle up to 100 users simultaneously 👥⚡, performance 🚀.
  3. The system shall use colors, look, and feel 🎨👀.
39
Q

In a library domain, the task of “borrowing a book” has a requirement that the person who is performing the task must have an active membership. For this specific task state each of the following: Initiator, Goal, Pre-Condition, Post-condition.

A

🔹 Initiator: 👤 The user who wants to borrow a book from the library.
🔹 Goal: 📖 To successfully borrow a book from the library.
🔹 Precondition: ✅ Must have a library active membership
🔹 Postcondition: 🔄 Membership record and book availability are updated in the system 📚, allowing the user to take the book.

40
Q

Briefly explain how each of the terms Malleability, Complexity, and Size are considered important characteristics that affect the development of software.

A

🔹 Malleability 🔄
* Software is easy to change.
* creates continuous pressure for updates instead of replacements.

🔹 Complexity 🧩
* Software is often complex and difficult to define.
* Increased complexity leads to higher chances of errors.

🔹 Size 📏
* Larger software tends to have more errors than smaller ones.

41
Q

An online business that collects information about residents to rank residential areas decided to expand its operations over different countries. State 3 non-functional requirements with their types for such a system.

A

🔹 Usability 🎨:
should have user friendly interface,.

🔹 Maintainability and support🔧:
portable to all the operating systems

🔹 Cultural Adaptability 🌍:
Supports multiple languages with a formal and polite tone.

42
Q

In a car rental domain, the task of “renting a car” has a requirement that the person who is performing the task must have an active membership and the age matches the requirement based on car category. For this specific task state each of the following: Initiator, Goal, Pre-Condition, Post-condition.

A

🔹 Initiator 👤: The person renting the car.
🔹 Goal 🎯: Successfully rent a car.
🔹 Precondition ✅:
Must have an active membership and meet the age requirement for the car category.
🔹 Postcondition 🔄:
The rental system updates the membership record, and the car matches the required age category

43
Q

🔹 a. The system should remain capable of providing accurate results when used at high altitudes.

A

✅ Non-Functional Requirement – 🌍 Operational
✅ متطلب غير وظيفي – 🌍 تشغيلي

44
Q

🔹 b. Upgrading the hardware should be done within 3 hours.

A

✅ Non-Functional Requirement – ⏳ Maintainability

45
Q

🔹 c. The system must provide each user with a report of all the completed activities at the end of each week.

A

✅ Functional Requirement – 📊 Business
✅ متطلب وظيفي – 📊 أعمال

46
Q

🔹 d. The system must limit the size of messages to a maximum of 256KB.

A

✅ Non-Functional Requirement – 📏 Performance
✅ متطلب غير وظيفي – 📏 الأداء

47
Q

Briefly explain the importance of the “spiral process” when dealing with risk while using an iterative approach in software engineering.

A

✅ Identify Risks – and dealt with in terms of iterations.
⚠️ New Risks May Emerge – Each iteration introduces new risks.
📈 Continue Progressing – Improve through iterations.
🎯 Reach an Acceptable Solution – Meet user needs.

48
Q

When building a system for a car rental company, the software engineer identified the below classes. State whether each class is suitable or not and identify the category (Tangible Objects, Roles, Events, Organizational units) it belongs to.

Classes: Car, Maintenance Team, Holiday Specials Offers, Customer, Landmarks.

A

🔹 Tangible Object 🚘: Car
🔹 Role 👤: Customer
🔹 Event 🎉: Holiday special offers
🔹 Organization Unit 🏢: Maintenance team