Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

‫اﻟﻤﻠﻒ ده ﻣﻤﻜﻦ ﺗﻌﺘﺒﺮوه ﻣﺠﻤﻊ اھﻢ أﺳﺌﻠﺔ ال ‪ software engineer‬اﻟﻠﻲ اﻟﺪﻛﺘﻮر ﺑﯿﺤﺐ ﯾﺴﺎﻟﮭﺎ ﻋﻠﻲ ﻛﻞ ﻣﺤﺎﺿﺮه‬

‫ان ﺷﺎء ﷲ ﻣﯿﺨﺮﺟﺶ ﻋﻨﮫ اﻻﻣﺘﺤﺎﻧﺎت‬

‫ھﻮ ﺑﺲ ﻣﺤﺘﺎج ﺗﺬاﻛﺮه ﻣﻊ ﺷﻮﯾﮫ أﺳﺌﻠﺔ ﺗﺎﻧﯿﺔ ﻣﻮﺟﻮدة ﻓﻲ ﻣﻠﻒ "ﺣﻠﻮل ﻷﺳﺌﻠﺔ اﻻﻣﺘﺤﺎﻧﺎت" اﻟﻠﻲ ﻋﻠﻲ اﻟﺪراﯾﻒ ده �‬

‫‪Software Engineering (Dr/Ahmed Ezzat) - Google Drive‬‬

‫ﻋﺸﺎن ﺗﺒﻘﻲ ﺿﺎﻣﻦ اﻻﻣﺘﺤﺎن ‪%100‬‬

‫ﻟﻜﻦ اﻟﻤﻠﻒ ده ﻣﺠﻤﻊ ﺑﺘﺎع ‪ %90‬ﻣﻦ اﻷﻓﻜﺎر ﻣﺮﺗﺒﯿﻦ ﺑﺘﺮﺗﯿﺐ اﻟﻤﺤﺎﺿﺮات وﺑﻌﺪﯾﻦ أﺳﺌﻠﺔ ال ‪ mcq‬اﻟﻠﻲ ﺟﺖ ﻓﻲ ﻛﻞ اﻻﻣﺘﺤﺎﻧﺎت‬

‫اﻟﻔﮭﺮس‬
‫اﻷﺳﺌﻠﺔ ‪Slide1&2 <= 4:1‬‬

‫اﻷﺳﺌﻠﺔ ‪Slide3&4 <= 8:5‬‬

‫اﻷﺳﺌﻠﺔ ‪Slide5 <= 9:14‬‬

‫اﻷﺳﺌﻠﺔ ‪Slide6&7 <= 15:20‬‬

‫اﺧﺮ ﺣﺎﺟﮫ ﯾﺎرﯾﺖ دﻋﻮه ﺣﻠﻮه ﻣﻦ اﻟﻘﻠﺐ ﻟﻜﻞ اﻟﻠﻲ ﻛﺎن ﺳﺒﺐ ﻓﻲ ان اﻟﻤﻠﻒ ده ﯾﺘﺠﻤﻊ ❤❤‬
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)

Actor: Agents external to the system that interact with it.


Concepts/ Objects: Agents working inside the system to make it function.
use case: Scenarios for using the system.
Example for ATM machine, Bank.
Actor: customer, ATM machine, Bank.
Concepts/ Objects: Banker, communication link.
use case: withdraw, Deposit.
4- describe in details the software engineering life cycle? Which one of the stages in the
software life cycle do you consider to be the most important, and why?
Software engineering life cycle (SDLC): Any organized process usually includes the following phases: Planning
/ Specification, Design, Implementation and Evaluation under strategies: Waterfall, Iterative + Incremental and
Agile

Waterfall Unidirectional, finish this step before moving to the next

Iterative + Incremental Develop increment of functionality, repeat in a feedback loop

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

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

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

Class Animal is a generalization from the classes Lion and Rabbit.

Classes Lion and Rabbit are inheriting from the class Animal.

6- Describe in detail the agile development process.


(‫)ﻣن اﻟﻣرﺟﻊ اﻟﻠﻰ اﻟدﻛﺗور ﻣرﺷﺣﮫ ﻓﻲ اول ﺳﻼﯾد‬
- Agile methods deal better with ill-defined requirements and emerging solution
technologies.
- Agile methods attempt to deal with these challenges by focusing on small product
increments that are developed in short time bursts. After each product increment, progress
is reviewed, lessons are learned, the project organization or goals are adjusted
accordingly.
7- State The Difference Between Object-Oriented Approaches Versus Process-Oriented
Approaches.
Object-Oriented Approach: Organization-Centric, Hard to Design but Good for Scale and Big Problems.
Process-Oriented Approach: Person-Centric, Easy to Design (Intuitive) But Does Not Scale Well for
Large-Size Problems.
Example for a Lock & Light System:

Process-Oriented: Object-Oriented:

Key Checker

Valid No
unlock()
key?

Yes Lock Control

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.

11- List the Requirements Engineering Components?


1- Requirements Gathering [Elicitation] (HELPS THE CUSTOMER TO DEFINE WHAT IS Required)
2- Requirements Analysis (REFINING AND MODIFYING THE GATHERED REQUIREMENTS)
3- Requirements Specification (DOCUMENTING THE SYSTEM REQUIREMENTS)
12- List The 4 Activities of The Requirements Engineering Process.
1- REQUIREMENTS ELICITATION.
2- REQUIREMENTS ANALYSIS AND NEGOTIATION.
3- REQUIREMENTS DOCUMENTATION.
4- REQUIREMENTS VALIDATION.
(‫)ﻟﻮ ﻋﺎﯾﺰ ﺗﺰود ھﺘﻜﻮن اﻹﺟﺎﺑﺔ ﻛﺪه‬
1- REQUIREMENTS ELICITATION: is the activity concerned with identifying the requirements.
THIS IS DONE BY:
i. CONSULTING THE STAKEHOLDERS.
ii. READING EXISTING DOCUMENTS.
iii. UNDERSTANDING THE DOMAIN.
iv. DEFINING THE BOUNDARIES OF THE SYSTEM.
v. AND UNDERSTANDING THE POSSIBILITIES FOR CHANGE.
2- REQUIREMENTS ANALYSIS AND NEGOTIATION:
i. IS THE ACTIVITY WHERE REQUIREMENTS ARE CATEGORIZED AND PRIORITIZED
AND EXAMINED FOR THEIR PROPERTIES.
3- REQUIREMENTS DOCUMENTATION: IS USUALLY DONE USING A TEMPLATE DOCUMENT.
4- REQUIREMENTS VALIDATION: Consists of a carful check of the overall requirements documentation
13- Differentiate between functional requirements and non-functional requirements in
software development by providing two examples for each along with their types?
Functional Non-functional
1-DESCRIBES THE BEHAVIOR OF THE SYSTEM. ‫ﻣﮭﻤﮫ‬ Are qualities that the system should have such as
being secure, fast, usable, or maintainable.
2-SPECIFICATIONS OF THE PRODUCT’S
FUNCTIONALITY;

3-ACTIONS THAT THE PRODUCT MUST TAKE.

4-DERIVED FROM THE FUNDAMENTAL PURPOSE


OF THE PRODUCT;

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

2- X MUST BE USABLE BY USERS WITH LIMITED


SKILLS.
2- X MUST PRODUCE A STATEMENT OF THE
USER’S ACCOUNT. 3- X MUST OPERATE IN ARCTIC CLIMATES
(FREEZING WEATHER).
3- X MUST CHECK A USER’S PASSWORD.
4- X MUST WORK FAST, SECURE, ETC.
4- X Must employ the company’s proprietary password
maintenance system. (Technical Solution Requirement) ‫ﻣﺶ ﻣﻦ اﻟﺴﻼﯾﺪ وﻟﻜﻦ ﻣﮭﻤﯿﻦ ﻋﺸﺎن ﻟﻮ طﻠﺐ اﻟﻨﻮع‬
System Shall Calculate a Guest’s Bill In 2 Seconds.
[Performance Requirement]

The Product Shall Use Only Two Colors in the UI.


[Look-And-Feel Requirements]

14- Identify Functional and Non-Functional Requirements in Each Of The Following


Scenarios:
1- An Online Hospital System Must Employ the Hospital’s Proprietary Password
Maintenance System. Functional
2- An Online Hospital System Must Produce a Statement of The Patient’s Final Bill
Amount. Functional
3- A User Should Be Able to Learn 80 Percent of The Functionality of The Hospital System
In 2 Hours. Non-Functional
4- User Interface of The Hospital System Should Follow Only 2 Colors Matching with Its
Logo Non-Functional
5- An Online Hospital System Shall Handle Up To 1000 Users Simultaneously Without
Server Failure. Non-Functional
6- An Online Hospital System Shall Be Able to Be Modified to Cope with New Class Of
Users. Non-Functional
15- Given the Below Diagram, answer questions based on the diagram.

1- What is the name of the diagram? Class-Diagram


2- What type of relationships appear in the diagram? List and describe them.
Association: describes how an instance of 1 class is connected to other classes.
Inheritance: inheriting common properties through class extension.
Composition: relation where composited class cannot exist outside the compositing
class.
Aggregation: relation where aggregated class can exit outside the aggregated class.
3- Interpret relationship between:
i. Department and staff
Association, Department can Have Many Staffs, but staff can be only in 1 department,
(many-to-one).
ii. Staff and consultation room
Aggregation, only 1 staff can exist in only 1 consultation room (one-to-one
16- Given the Below Diagram, answer the following questions.

1- What is the name of the Diagram? Class-Diagram


2- What does “Item” represent in the diagram? Class
3- What Type Of Relationships appear in the Diagram? List and Describe Them.
Association: describes how an instance of 1 class is connected to other classes.
Inheritance: inheriting common properties through class extension.
Composition: relation where composited class cannot exist outside the compositing
class.
Aggregation: relation where aggregated class can exit outside the aggregated class.

4. Interpret relationship between Customer and ShoppingCart.


Association, Customer can have only 1 cart (one-to-one relationship).
5. What does “CustID” represent in the Diagram? Attribute for Customer Class
17- Consider the lending process from a library: "A typical lending library keeps a
stock of books for the use of its members. Each member can look on the library shelves
to select a copy to borrow. then take out a number of books, up to a certain limit. After
a given period of time, the library expects members to return the books that they have
on loan. When borrowing books, a member is expected to wait in queue, then to hand
their chosen books to the librarian, who records each new loan before issuing the books
to the member. After that the librarian will prepare for next member in the queue.
When a book is on loan to a member, it is associated with that member: possession of
the book passes from the library to the member for a defined period. The normal loan
period for each book is two weeks. If the member fails to bring the book back on or
before the due date, the library imposes a fine."
1- What are the business process and business rules in the above system?
1- Business processes:
i. find book on a shelf.
ii. wait in the queue; issue a book.
iii. and return a book.
2- Business rules:
i. There is a limit to the number of books a member can take out.
ii. A loan is for a period that is normally two weeks.
iii. Late returns incur a fine.
2- Draw an activity diagram for issuing a copy of a book.
‫ ﻟﻠﺤﻞ ﻣﺒﺎﺷﺮة ﻻن اﻟﺤﻞ ﻛﺪه ﻧﺎﻗﺺ وھﺘﺤﺘﺎج ﺗﺰود ﻋﻠﯿﮫ ﻓﻼزم ﺗﺴﻤﻊ اﻟﺸﺮح ﻋﺸﺎن‬21 ‫ ﻟﻠﺤﻞ ﻣﻊ اﻟﺸﺮح او اﻟﺪﻗﯿﻘﮫ‬17 ‫ﺷﻮف اﻟﻤﺤﺎﺿﺮة اﻷﺧﯿﺮة ﻣﻦ اﻟﺪﻗﯿﻘﮫ‬
‫ﺗﻜﻤﻞ ﺣﻞ اﻟﺴﺆال‬
3- List the sequence of activities with showing roles of people.

One possible solution is:

1- The member brings the book back into the library.


2- The member will join the queue till the librarian record the returned book,
3- As soon as the librarian finish the process, the member leave the queue.
4- The librarian will put the book aside and prepare for the next member in the queue.

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.

a) use case b) activity c) class d) object

2. …….. is the process of assigning responsibilities to objects and specifying detailed


dynamics of their interactions under different usage scenarios.

a) Software Requirements b) Software Design

c) Domain model d) None of the mentioned

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.

a) Software Requirements b) Software Design

c) Domain model d)None of the mentioned

4. A(n) …….. is a set or functional properties (Methods or Services) that a software object
provides or requires.

a) Interface b) Client object

c) Functional Requirements d) None of the mentioned

5. In the UML Use Case diagram it is ………. to use system boundary notation

a) optional b) mandatory

c) compulsory d) None of the mentioned


29-05-2019
1. ………..ensures that the business rules implemented are the ones that the business wants.

a) Validation b) Business rules

c) Verification d) Business constraints

2. In the context of class modeling, ………... determines how many objects are involved in a given
relationship.

a) Navigation expression b) Multiplicity

c) Role name d) None of the

3. In an e-commerce system "add items to cart" is one of the……….. of the business.

a) constraint b) process

c) rule d)None of the mentioned

4. There are three types of requirements engineering: Functional Requirements,Non- Functional


Requirements, and………….. Requirements.

a) Business b) Technical

c) Security d) None of the mentioned

5. In an activity diagram………… is a constraint represented inside a pair of square bracket.

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.

a) Business Process, Validation b) Business Rules, Verification

c) Traceability, Maintenance d) None of the mentioned

7. ………….is a classic software development model where analysis, design. implementation and testing
are arranged into a single sequence.

a) iteration model b) waterfall model

c) incremental model d) None of the mentione


30-06-2021
1. ………..ensures that the business rules implemented are the ones that the business
wants.

a) Validation b) Business rules

c) Verification d) Business constraints

2. In the context of class modeling, ………... determines how many objects are involved in
a given relationship.

a) Navigation expression b) Multiplicity

c) Role name d) None of the

3. In an e-commerce system "add items to cart" is one of the……….. of the business.

a) constraint b) process

c) rule d)None of the mentioned

4. There are three types of requirements engineering: Functional Requirements,

Non- Functional Requirements, and………….. Requirements.

a) Business b) Technical

c) Security d) None of the mentioned

5. ………….is a classic software development model where analysis, design.


implementation and testing are arranged into a single sequence.

a) iteration model b) waterfall model

c) incremental model d) None of the mentioned


29-06-2022
1. Requirements ……….. is a way of ensures that the Requirements correspond to what is
really intended of the system.

a) Validation b) Business rules

c) Verification d) Business constraints

2. In the context of class modeling, ………... determines how many objects are involved in
a given relationship.

a) Navigation expression b) Multiplicity

c) Role name d) None of the

3. In an e-commerce system "add items to cart" is one of the……….. of the requirements


of the system.

a) Functional b) Non-functional

c) process d) None of the mentioned

4. There are three types of requirements engineering: Functional Requirements,

Non- Functional Requirements, and………….. Requirements.

a) Business b) Technical

c) Security d) None of the mentioned

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

c) Analysis d) None of the mention

You might also like