0% found this document useful (0 votes)
36 views3 pages

Ch7 - Quiz (Group 2)

This document provides answers to 10 questions about key concepts in object-oriented design and software engineering. It defines the system context and interaction model, describes approaches to identify object classes, explains why specifying interfaces is important, outlines the four essential elements of a design pattern according to Gamma et al., and discusses levels of software reuse and aims of configuration management.

Uploaded by

buitrungnhan4858
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views3 pages

Ch7 - Quiz (Group 2)

This document provides answers to 10 questions about key concepts in object-oriented design and software engineering. It defines the system context and interaction model, describes approaches to identify object classes, explains why specifying interfaces is important, outlines the four essential elements of a design pattern according to Gamma et al., and discusses levels of software reuse and aims of configuration management.

Uploaded by

buitrungnhan4858
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Chapter 7: Design and implementation

Answer all questions. 1 mark per question

1. What are the 5 key activities in an object-oriented design process?

-Requirements analysis
-System design
-Object-oriented analysis
-Class design
-Implementation and testing

2. What do you understand by the system context and interaction model?

The system context defines the environment in which a system operates,


including external entities and their interactions. The interaction model
outlines how system components interact to achieve specific goals or
perform tasks.

3. Briefly describe 3 approaches that may be used to identify


object classes?

Three approaches to identify object classes:

1. Use Case Analysis: Identifying classes based on nouns in use case


descriptions.
2. Domain Modeling: Identifying classes from key concepts and entities in
the problem domain.
3. CRC Cards: Collaborative brainstorming using Class-Responsibility-
Collaboration cards to identify classes, their responsibilities, and
collaborations.
4. Why is it important to specify the interfaces of components that are
being developed by a software engineering team?

Specifying interfaces of components is important because it promotes


encapsulation, modularity, interoperability, abstraction, dependency
management, and facilitates testing and verification. It defines how
components interact, ensuring seamless integration and easier
maintenance of software systems.

5. What do Gamma et al. suggest are the four essential elements of


a design pattern?

Gamma et al. suggest that a design pattern comprises four essential


elements:

1. Pattern Name: Descriptive identifier.


2. Problem: Explanation of the problem the pattern addresses.
3. Solution: Description of the design components and relationships.
4. Consequences: Discussion of the trade-offs and implications of using
the pattern.

6. How do design patterns contribute to reuse?

Design patterns contribute to reuse by providing proven solutions to


common design problems, promoting abstraction and encapsulation,
defining standardized interfaces, enforcing best practices, and enhancing
maintainability in software development.

7. What are the 4 levels at which software reuse is possible?

There are 4 levels at which software reuse is possible:

1. Intra-Project: Reuse within the same project.


2. Inter-Project: Reuse across different projects within the same
organization.
3. Intra-Organization: Reuse across different teams or departments
within the same organization.
4. Inter-Organization: Reuse across different organizations or within the
software industry as a whole.
8. What are the principal aims of software configuration management?

The principal aims of software configuration management (SCM) are:

1. Version control
2. Change management
3. Baseline management
4. Configuration identification
5. Build management
6. Release management
7. Auditing and reporting

9. What are essential tools in a software development platform?

Essential tools in a software development platform include:


1. Integrated Development Environment (IDE)
2. Version Control System (VCS)
3. Build Automation Tools
4. Continuous Integration (CI) Tools
5. Issue Tracking Systems
6. Code Review Tools
7. Documentation Tools
8. Collaboration and Communication Tools
9. Testing Frameworks
10. Deployment and Containerization Tools

10. Briefly describe the idea of open-source development.

Open-source development involves making software source code publicly


available for anyone to view, modify, and distribute. It fosters
collaboration, transparency, and community-driven innovation.

You might also like