Professional Documents
Culture Documents
Exams Answers
Exams Answers
ھﻮ ﺑﺲ ﻣﺤﺘﺎج ﺗﺬاﻛﺮه ﻣﻊ ﺷﻮﯾﮫ أﺳﺌﻠﺔ ﺗﺎﻧﯿﺔ ﻣﻮﺟﻮدة ﻓﻲ ﻣﻠﻒ "ﺣﻠﻮل ﻷﺳﺌﻠﺔ اﻻﻣﺘﺤﺎﻧﺎت" اﻟﻠﻲ ﻋﻠﻲ اﻟﺪراﯾﻒ ده �
ﻟﻜﻦ اﻟﻤﻠﻒ ده ﻣﺠﻤﻊ ﺑﺘﺎع %90ﻣﻦ اﻷﻓﻜﺎر ﻣﺮﺗﺒﯿﻦ ﺑﺘﺮﺗﯿﺐ اﻟﻤﺤﺎﺿﺮات وﺑﻌﺪﯾﻦ أﺳﺌﻠﺔ ال mcqاﻟﻠﻲ ﺟﺖ ﻓﻲ ﻛﻞ اﻻﻣﺘﺤﺎﻧﺎت
اﻟﻔﮭﺮس
اﻷﺳﺌﻠﺔ Slide1&2 <= 4:1
اﺧﺮ ﺣﺎﺟﮫ ﯾﺎرﯾﺖ دﻋﻮه ﺣﻠﻮه ﻣﻦ اﻟﻘﻠﺐ ﻟﻜﻞ اﻟﻠﻲ ﻛﺎن ﺳﺒﺐ ﻓﻲ ان اﻟﻤﻠﻒ ده ﯾﺘﺠﻤﻊ ❤❤
1- describe in details the waterfall process for software development?? Which one of the
processes in the waterfall process do you consider to be the most important, and why?
Waterfall Unidirectional, finish this step before moving to the next
1. Requirements Specification: Understanding the usage scenarios and deriving the static domain model
2. Design: Assigning responsibilities to objects and specifying detailed dynamics of their interactions under
different usage scenarios
3. Implementation: Encoding the design in a programming language
4. Testing: Individual classes/components (unit testing) and the entire system (integration testing)
5. Operation and Maintenance: Running the system, Fixing bugs and adding new features
I prefer design : because if I assigned responsibilities and specified dynamics well I will produce a great system
with no errors
2- Using the concept map to design locks and lighting operation for home access control?
� اﻹﺟﺎﺑﺔ
Concept Relation Concept
Tenant Wishes Lock Opened
Tenant Enters Key
Key Can be Valid
Key Can be Invalid
Valid Key Cause Lock Opened
Light Will open
Invalid Key May Signal Dictionary Attack
Burglar Launches Dictionary Attack
Dictionary Attack Can be prevent by enforcing Upper bound on fail attempt
3- Explain using Example the main parts of the problem domain (actors, concepts and use
case)
Agile Continuous user feedback essential; feedback loops on several levels of granularity
1. Requirements Specification: Understanding the usage scenarios and deriving the static domain model
2. Design: Assigning responsibilities to objects and specifying detailed dynamics of their interactions under
different usage scenarios
4. Testing: Individual classes/components (unit testing) and the entire system (integration testing)
5. Operation and Maintenance: Running the system, Fixing bugs and adding new features
In my opinion Design because if I assigned responsibilities and specified dynamics well I will produce a great
system with no errors
5- What Is the Difference Between Inheritance and Generalization? (Give Examples)
Generalization: process of extracting shared characteristics from 2 or more classes and
combining them into a generalized superclass.
Inheritance: inheriting common properties through class extension.
Composition: using instance variables that are references to other objects
Example:
Animal
- age: string
Rabbit Lion
Classes Lion and Rabbit are inheriting from the class Animal.
Process-Oriented: Object-Oriented:
Key Checker
Valid No
unlock()
key?
Unlock the
turnOn()
Lock
Light Control
Turn-on
The Light
8- Suggest a reason why we use case diagram are an aid to communication between user
and developer?
- Acting as a discussion tool between developer and user.
- Offer a common language for agreeing on the functions of the software system. ()اھﻢ إﺟﺎﺑﺔ ﻓﯿﮭﻢ
- Defining the scope of a system, as they represent the interaction of a system with its environment.
- Helping with project planning and quality assurance.
9- Briefly explain the most important differences between decomposition by partitioning
vs projection (Using example)
Projection-based decomposition helps us understand the components. in the context of their use, relative to
other parts of the system. while partitioning-based decomposition doesn't care about understanding relativity of
the components or their context.
example for a restaurant Automation system:
partitioning-based decomposition:
some team members will be responsible for the UI, other members will be responsible for the Business Logic,
other members will be responsible for the database design, and other bembers for the documentation.
every one of them only learns about the aspect that he is working on, and if any one of them fails, the whole
project fails.
projection-based decomposition:
some members will be responsible for the customer related functions, some other members will be responsible
for Kitchen-related functions, and other members responsible for Management related functions, every division
of them will be responsible for the whole functionality of their part including UI, logic, database,
documentation.
Each One of The Team Learns All Aspects of Software Development, if any one of them fails, the others Can
Still Succeed and Demonstrate their Mini-Project (separation of concerns).
10- Briefly Explain the most important difference between Divide Work by Problem vs
by Solutions?
Problem Solution
1- DIFFERENT TEAM MEMBERS 1- DIFFERENT TEAM MEMBERS
RESPONSIBLE TO SOLVE DIFFERENT RESPONSIBLE FOR DIFFERENT PARTS OF
SUB-PROBLEMS THE SYSTEM
2- SUITABLE FOR ANY LEVEL OF 2- SUITABLE FOR HIGHLY EXPERIENCED
EXPERTISE SPECIALISTS, NOT FOR BEGINNERS
3- IF UNCERTAIN ABOUT OTHER TEAM
MEMBERS’ SKILLS
4- ABILITY TO DELIVER ON TIME
Advanced
1- DEPENDENCY ON OTHER TEAM 1- DEVERYONE CAN FOCUS ON ONE AREA
MEMBERS IS REDUCED OF EXPERTISE
Drawback
1- POTENTIAL REDUNDANCIES 1- DEVELOPERS NEED TO KNOW A
LOT ABOUT THE SOLUTION
2- IF SOLUTION PARTS ARE NOT
PRECISELY SPECIFIED, THERE
WILL BE A GREAT UNCERTAINTY
ABOUT INTERFACING THE PARTS
AND INTEGRATING INTO THE
WHOLE SYSTEM.
5-NOT A QUALITY
Examples:
1- X must check a user’s identity. (business 1- X MUST VALIDATE THE USER’S IDENTITY
requirement) AND PASSWORD WITHIN 3 SECONDS
18- Automated Teller Machine System A customer wants to draw money from his bank
account. he enters his card into an ATM. the ATM machine prompts “enter pin”. The
customer enters his pin, the atm (internally) retrieves the bank account number from
the card. the ATM encrypts the pin and the account number and sends it over to the
bank. the bank verifies the encrypted account and pin number if the pin number is
correct, the ATM displays “enter amount”, draws money from the bank account and
pays out the amount. Draw an Activity Diagram for the Drawing Process.
( أﻧﺎ ﺣﺎوﻟت ﻣزودش ﻋن اﻟﻣطﻠوب ﻓﻲ اﻟﺳؤال ﻋﻠﻰ أد ﻣﺎ أﻗدر،)اﻧت ﻣﻣﻛن ﺗزود ﺣﺎﻻت زى ﻣﺎ اﻧت ﻋﺎﯾز
19- Draw a use case diagram for a student management system. the system is used by
students and teachers. the student should be able to check his attendance, check
timetable, and check is grades. that teacher should be able to also check student
attendance, check timetable, and check grades. Additionally, the Teacher should be
able to update attendance and update grades.
20- Draw a use case diagram for online shopping system, the system, is used by
customer and admin. With respect to customer actor, there will be registered customer
and others not, the registered customer can login, view-item, add-to-cart, purchase-
shipping, and feedback, in the case of purchase-shipping “check case” must be done.
But new customer can register and view item only.
ﺗﺎﻧﻰusecase وﻧﻔس اﻟطرﯾﻘﺔ ﺗﻘدر ﺗﺳﺗﺧدﻣﮭﺎ ﻣﻊ اى، generaliza�on ﺣل ﺗﺎﻧﻰ و ده اﻻﺣﺳن ﻻﺳﺗﻐﻼل ﻋﻼﻗﺔ ال
08-05-2019
l. Swimlane element is used in …. diagram.
3. The .......... details the system's structural characteristics (system parts and their
arrangement) that make it possible for the system to behave as described by its use cases.
4. A(n) …….. is a set or functional properties (Methods or Services) that a software object
provides or requires.
5. In the UML Use Case diagram it is ………. to use system boundary notation
a) optional b) mandatory
2. In the context of class modeling, ………... determines how many objects are involved in a given
relationship.
a) constraint b) process
a) Business b) Technical
a) variant b) guard
c) process d) transition
6. The language used in expressing…………. should be well defined and structured, so that …….can be
made easier if not automatic.
7. ………….is a classic software development model where analysis, design. implementation and testing
are arranged into a single sequence.
2. In the context of class modeling, ………... determines how many objects are involved in
a given relationship.
a) constraint b) process
a) Business b) Technical
2. In the context of class modeling, ………... determines how many objects are involved in
a given relationship.
a) Functional b) Non-functional
a) Business b) Technical
5. ……… -based decomposition helps us understand the components in the context of their
use, relative to other parts of the system.
a) Projection b) Partitioning