Architectural Design(part 1)
In this section of unit 3 i.e. Architectural design, we studied about : architectural design decisions, system structure, repository model, client/server model, layered model, modular decomposition style(object-oriented decomposition and function oriented decomposition).
Summary
In this section of unit 3 i.e. Architectural design, we studied about : architectural design decisions, system structure, repository model, client/server model, layered model, modular decomposition style(object-oriented decomposition and function oriented decomposition).
Things to Remember
- Architectural design is a creative process to establish a system organization or structure will satisfy the functional and non functional requirements. It is a creative process so the activities within the process differ radically depending on the type of system being developed, the background and experience of the system architect and the specific requirements for the system.
- Repository model: This model is suitable to the application when data is gathered by one subsystem and used by another subsystem.
- The client/server architecture model is a system model where the system is organized as a set of servers and associated servers and clients that access and use the services.
- The layered model of architecture organizes a system into layers, each of which provide a set of services. Each layer can be thought of as an abstract machine whose language is defined by the services provided by the layer.
- Object-oriented decomposition is concerned with object class, their attributes and their operations. An object class is an abstraction over a set of objects that identifies common attributes and services or operation that are provided by each object.
- Function oriented decomposition systems are organized as functional components. Functional components are called functional transformation. Functional transformation processes their inputs and produce outputs. Input data flows through these transformation until it connected to output.
MCQs
No MCQs found.
Subjective Questions
Q1:
If P = {a, e , i , o, u} and Q = {a, b, c, d, e}, find P∪Q, P∩Q, P - Q and Q - P.
Type: Short Difficulty: Easy
<p>Here, </p>
<figure class="inline-right" style="width: 383px;"><img src="/uploads/sets-5071-22.jpg" alt=" " width="299" height="240" /> <figcaption> </figcaption></figure>
<p><br />P = {a, e, i, o, u}<br />Q = {a, b, c, d, e}<br />Now,<br />P∪Q = {a, b, c, d, e, i, o, u}<br />The shahded region represents the elements of P∪Q.<br /><br />P∩Q = {a, e}<br />The shahded region represents the elements of P∩Q<br /><br />P - Q = {i, o, u}<br />The shahded region represents the elements of P - Q<br /><br />Q - P = {b, c, d}<br />The shahded region represents the Q - P<br /><br /></p>
Q2:
If U = {1, 2, 3, . . . . . . 15}, A = {2, 4, 6, 8, 10} and B = {1, 2, 3, 4, 5, 6, 7} form the following stes and represent them in Venn-diagram.
- A∪B
- A∩B
- A - B
- B - A
- (A∪B)'
- (A∩B)'
Type: Long Difficulty: Easy
<figure class="inline-right" style="width: 300px;"><img src="/uploads/ex5071-2.jpg" alt=" " width="300" height="231" /> <figcaption> </figcaption></figure>
<p>Here,<br />U = {1, 2, 3, . . . . . . 15}<br />A = {2, 4, 6, 8, 10}<br />B = {1, 2, 3, 4, 5, 6, 7<br />Now, <br />A∪B = {1, 2, 3, 4, 5, 6, 7, 8, 10}<br />The shaded region represents the elements of A∪B<br /><br />A∩B = {2, 4, 6}<br />The shaded region represents the elements of A∩B</p>
<p>A - B = {8, 10}<br />The shaded region represents the elements of A - B</p>
<p>B - A = {1, 3, 5, 7}<br />The shaded region represents the elements of B - A</p>
<p>(A∪B)' = U - (A∪B)<br />= {1, 2, 3, . . . . . . 15} - {1, 2, 3, 4, 5, 6, 7, 8, 10}<br />= {9, 11, 12, 13, 14, 15}<br />The shaded region represents the elements of (A∪B)'</p>
<p>(A∩B)' = U - (A∩B)<br />= {1, 2, 3, . . . . . . 15} - {2, 4, 6}<br />= {1, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15}<br />The shaded region represents the elements of (A∩B)'<br /><br /></p>
Q3:
From the adjoining Venn-diagram, list the elements of the following sets.
- A∪B
- A∩B
- A - B
- B - A
- (A∪B)'
- (A∩B)'
- (A - B)'
- (B - A)'
Type: Long Difficulty: Easy
<p>Here,<br />A∪B = {1, 2, 3, 4, 5, 6, 7}<br />A∩B = {2, 3, 5}<br />A - B = {1, 4, 6}<br />B - A = {7}<br />(A∪B}' = {8, 9, 10}<br />(A∩B)' = {1, 4, 6, 7, 8, 9, 10}<br />(A - B)' = {2, 3, 5, 7, 8, 9, 10}<br />(B - A)' = {1, 2, 3, 4, 5, 6, 8, 9, 10}</p>
<p> </p>
Q4:
If U = {1, 2, 3, . . . . . . . . . 20}, A = {1, 3, 5, 7, 9, 11, 13, 15}, B = {3, 6, 9, 12, 15, 18} and C = {1, 2, 3, 4, 5, 6, 7, 8}, list the elements of the following sets.
- A∪B∪C
- A∩B∩C
- (A∪B)∩C
- (A∩B)∪C
- (A∪B∪C)'
- (A∩B∩C)'
Type: Long Difficulty: Easy
<p>Here,<br />U = {1, 2, 3, . . . . . . . . . 20}<br />A = {1, 3, 5, 7, 9, 11, 13, 15}<br />B = {3, 6, 9, 12, 15, 18}<br />C = {1, 2, 3, 4, 5, 6, 7, 8}<br />Now, <br />A∪B = {1, 3, 5, 6, 7, 9, 11, 12, 13, 15, 18}<br />∴ A∪B∪C = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11., 12, 13, 15, 18}</p>
<p>A∩B = {3, 9, 15}<br />∴ A∩B∩C = {3, 9} </p>
<p>A∪B = {1, 3, 5, 6, 7, 9, 11, 12, 13, 15, 18}<br />∴ (A∪B)∩C = {1, 3, 5, 6, 7, 9}</p>
<p>A∩B = {3, 9, 15}<br />∴ (A∩B)∪C = {1, 2, 3, 4, 5, 6, 7, 8, 9, 15}</p>
<p>A∪B∪C = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 18}<br />∴ (A∪B∪C)' = U - {A∪B∪C}<br />= {10, 14, 16, 17, 19, 20}</p>
<p>A∩B∩C = {3, 9}<br />∴ (A∩B∩C)' = U - {A∩B∩C}<br />= {1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}</p>
<p> </p>
Q5:
If A = {2, 4, 6, 8, 10, 12}, B = {1, 2, 3, 4, 5, 6} and C = {2, 3, 5, 7, 11}, show that A∪(B∪C) = (A∪B)∪C
Type: Short Difficulty: Easy
<p>Here,<br />A = {2, 4, 6, 8, 10, 12}<br />B = {1, 2, 3, 4, 5, 6} <br />C = {2, 3, 5, 7, 11}<br />Now, <br />B∪C = {1, 2, 3, 4, 5, 6, 7, 11}<br />∴ A∪(B∪C) = {1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12}<br />Again,<br />A∪B = {1, 2, 3, 4, 5, 6, 8, 10, 12}<br />∴ (A∪B)∪C = {1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12}<br />∴ A∪(B∪C) = (A∪B)∪C proved.</p>
Q6:
On the basis of the given Venn diagram, list each of the following sets and respect each o f them by shading in separate each Venn diagram.
- \(\overline{A - B}\)
- \(\overline{A ∩ B}\)
- \(\overline{A}\) ∪ B
- \(\overline{A∪B}\)
Type: Long Difficulty: Easy
<p>Here, <br />From the Venn diagram <br />A = {1, 2, 3}<br />B = {2, 5, 8, 9}<br />U = {1, 2, 3, 4, 5, 6, 7, 8, 9}<br />Now, <br />or, A - B = {1, 2, 3} - {2, 5, 8, 9}<br />or, A - B = {1, 3}<br />or, \(\overline{A - B}\) = U - (A - B)<br />or, \(\overline{A - B}\) = {1, 2, 3, 4, 5, 6, 7,. 8, 9} - {1, 3}<br />∴ \(\overline{A - B}\) = {2, 4, 5, 6, 7, 8, 9}<br />In venn diagram</p>
<p>Here, the shaded region represents the set \(\overline{A - B}\)</p>
<p><br />Again,<br />or, A ∩ B = {2}<br />or, \(\overline{A∩B}\) = U - (A ∩ B)<br />or, \(\overline{A∩B}\) = {1, 2, 3, 4, 5, 6, 7, 8, 9} - {2}<br />or, \(\overline{A∩B}\) = {1, 3, 4, 5, 6, 7, 8, 9}<br />In venn diagram,</p>
<p>Here, the shaded region represents the set \(\overline{A∩B}\)</p>
<p>Then,<br />or, \(\overline{A}\) = U - A<br />or, \(\overline{A}\) = {1, 2, 3, 4, 5, 6, 7, 8, 9} - {1, 2, 3}<br />or, \(\overline{A}\) = {4, 5, 6, 7, 8, 9}<br />Now, \(\overline{A}\) ∪ B = {4, 5, 6, 7, 8, 9} ∪ {2, 5, 8, 9}<br />∴ \(\overline{A}\) ∪ B = {2, 4, 5, 6, 7, 8, 9}<br />In venn diagram </p>
<p>Here, the shaded region represents the set \(\overline{A}\) ∪ B</p>
<p>And,<br />or, A∪B = {1, 2, 3} ∪ {2, 5, 9, 8} <br />or, A∪B = {1, 2, 3, 5, 8, 9}<br />Now, \(\overline{A∪B}\) = U - (A∪B)<br />or, \(\overline{A∪B}\ = {1, 2, 3, 4, 5, 6, 7, 8, 9} - {1, 2, 3, 5, 8, 9}<br />or, \(\overline{A∪B}\ = {4, 6, 7}<br />In venn diagram</p>
<p>Here, the shaded region represents the \(\overline{A∪B}\</p>
<p> </p>
Q7:
From the given Venn diagram list the following sets using listing method:
- \(\overline{A∪B}\) and \(\overline{A}\) ∩ \(\overline{B}\)
- \(\overline{A∩B}\) and \(\overline{A}\) ∪ \(\overline{B}\)
Type: Short Difficulty: Easy
<p>Here, <br />\(\overline{A∪B}\) = {4, 6, 7}<br />\(\overline{A}\) ∩ \(\overline{B}\) = {4, 5, 6, 7, 8, 9} ∩ {1, 3, 4, 6, 7} <br />\(\overline{A}\) ∩ \(\overline{B}\) = {4, 6, 7}</p>
<p>Again,<br />\(\overline{A∩B}\) = {1, 3, 4, 5, 6, 7, 8, 9}<br />\(\overline{A}\) ∪ \(\overline{B}\) = {4, 5, 6, 7, 8, 9} ∪ {1, 3, 4, 6, 7}<br />\(\overline{A}\) ∪ \(\overline{B}\) = {1, 3, 4, 5, 6, 7, 8, 9}</p>
Q8:
Look at the Venn diagram and list each of the sets and represent each of them by shading in separate Venn diagrams.
- X ∪ Y
- X ∪ Y ∪ Z
- X ∩ Y
- (X ∩ Y) ∩ Z
- X - (Y ∪ Z)
- X - (Y ∩ Z)
Type: Long Difficulty: Easy
<p>Here, from given Venn diagram <br />U = {a, b, c, d, e, f, g, h, i} <br />X = {c, f, g}<br />Y = {c, d, e, f, i} <br />Z = {b, c, i}</p>
<p>Now, <br />X∪Y = {g, f, c} ∪ {c, d, e, f, i}<br />X∪Y = {c, d, e, f, g, i}<br />In venn diagram,</p>
<p>Here, the shaded region represents X∪Y</p>
<p>Again, <br />X ∪ Y ∪ Z = {g, f, c} ∪ {c, d, e, f, i} ∪ {c, i, b} <br />X ∪ Y ∪ Z = {b, c, d, e, f, g, i}<br />In venn diagram,</p>
<p>Here, the shaded region represents X ∪ Y ∪ Z.</p>
<p>Similarly, <br />X ∩ Y = {g, f, c} ∩ {d, f, c, e, i}<br />X ∩ Y = {c, f}<br />In venn diagram</p>
<p>Here, the shaded region represents X ∩ Y.</p>
<p>Similarly, <br />(X ∩ Y) ∩ Z = ({c, f, g} ∩ n{c, d, e, f, i} ∩ {b, c, i} <br />(X ∩ Y) ∩ Z = {f, c} ∩ {b, c, i}<br />(X ∩ Y) ∩ Z = {c}<br />In venn diagram</p>
<p>Here, the shaded region represents (X ∩ Y) ∩ Z</p>
<p>Similarly,<br />X - (Y ∪ Z) = {g, f, c} - ({c, d, e, f, i} ∪ {c, i, b})<br />X - (Y ∪ Z) = {g, f, c} - {b, c, d, e, f, i} <br />X - (Y ∪ Z) = {g} <br />In venn diagram,</p>
<p>Here, the shaded region represents X - (Y ∪ Z)</p>
<p>Similarly, <br />X - (Y ∪ Z) = {g, f, c} - ({c, d, e, f, i} ∩ {b, c, i})<br />X - (Y ∪ Z) = {g, f, c} - {c, i}<br />X - (Y ∪ Z) = {f, g} <br />In venn diagram,</p>
<p>Here, the shaded region represents X - (Y ∪ Z)</p>
<p> </p>
<p> </p>
<p><br /><br /></p>
Q9:
If P = {a,e,i,o,u} and Q = {a,b,c,d,e} find P ∪ Q.
Type: Very_short Difficulty: Easy
<p>Here, P = {a,e,i,o,u} and Q = {a,b,c,d,e}</p>
<p>Now, P ∪ Q = {a,b,c,d,e,i,o,u}</p>
<p>The shaded region represents the elements of P ∪ Q.</p>
Q10:
If P = {a,e,i,o,u} and Q = {a,b,c,d,e} find P - Q.
Type: Very_short Difficulty: Easy
<p>Here, P = {a,e,i,o,u} and Q = {a,b,c,d,e}</p>
<p>Now, P - Q = {i,o,u}</p>
<p>The shaded region represents the elements of P - Q.</p>
Q11:
If U = {1,2,3,.......15}, A = {2,4,6,8,10} and B = {1,2,3,4,5,6,7} find \(\overline{A∪B}\) and represent in Venn diagram.
Type: Very_short Difficulty: Easy
<p>Here, \(\overline{A∪B}\) = U - (A∪B)</p>
<p> = U - {1,2,3,4,5,6,7,8,9,10}</p>
<p> = {9,11,12,13,14,15}</p>
<p>The shaded region represents the elements of \(\overline{A∪B}\).</p>
Q12:
If U = {1,2,3,.......15}, A = {2,4,6,8,10} and B = {1,2,3,4,5,6,7} find \(\overline{A-B}\) and represent in Venn diagram.
Type: Very_short Difficulty: Easy
<p>Here, \(\overline{A-B}\) = U - (A - B)</p>
<p> = U - (8,10)</p>
<p> = {1,2,3,4,5,6,7,9,11,12,13,14,15}</p>
<p>The shaded region represents the elements of \(\overline{A-B}\).</p>
Videos
[Discrete Math 1] Set Operations
Sets: Union, Intersection, Complement

Architectural Design(part 1)
Introduction
For building the specified software system, designing the software architecture is a key step. Any complex software is composed of sub a system that interacts under the control of system design such that the system provides the expected behavior. While designing a software system, the logical approach is to identify the sub system that should compose the system, the interface of these sub system and the rules for interaction between the subsystem.
The initial design process of identifying these sub system and establishing a framework for sub system is called architectural design.(tutorsglobe) The output of this design process is the description of the software architecture. Architectural design is the first stage in the design process and represents the critical link between the design requirement engineering processes. The architectural design process is concerned with establishing a basic structural framework that identifies the measure component of the system and the communication between these components.(Sommerville SE_book)
Architecture is a design of system which gives a very high-level view of the parts of system and how they are related to form the whole system.
Three advantages of explicitly designing and documenting software architecture are:(coursehero)
- Stake- holder communication: The architecture is a high-level presentation of the system that may be used as a reference for discussion with different range of stakeholders.(coursehero)
- System Analysis: Making the system architecture explicit at an easy stage in the software development requires some analysis. (coursehero)Architectural design decision has a profound effect on whether the system can meet critical requirements such performance, reliability and maintainability, security etc.
- Reuse:A system architectural model is a compact and manageable description of how a system is organized and how the component interoperates. The component of the architectural design may be used in another software development process.
The system architecture affects the performance robustness; distribute ability and maintainability of the system.
Architectural Design Decisions
Architectural design is a creative process to establish a system organization or structure will satisfy the functional and non-functional requirements. It is a creative process so the activities within the process differ radically depending on the type of system being developed, the background and experience of the system architect and the specific requirements for the system.(Sommerville SE_book)
During the architectural design process, system architect have to make a number of fundamental decisions that affects the system and its development process. Based on their knowledge and experience, they have to answer the following fundamental questions:(Sommerville SE_book)
- How will the system be distributed across a number of processors?
- What architectural styles are appropriate for the system?
- What will be the fundamental approach used to structure the system?(Sommerville SE_book)
- How will the structural unit in the system be decomposed into modules?
- How will the architectural design be evaluated?
- How should the architecture of the system be documented?
The final product of architectural design process in an architectural design document. This may include a number of graphical representations of the system along with associated descriptive text. It should describe how the system is structured into sub system, the approach adopted and how each subsystem is structured into modules.(Sommerville SE_book)
System Organization or System Structure
The organization of a system reflects the basic strategy that is used to structure a system. Software designer have to make a decision on the overall organizational model of a system only in the architectural design process. The structure of the software system depends on type of software being developed, knowledge and experience of designer, type of model used in the development process and types of customers or organization for which the software is being developed. Some system structure models are as follows:
Repository Model
Subsystems making of a system must exchange information So that they can work together effectively. There are two fundamental ways in which this can be done.
- All shared data is held in a central database that can be accessed by all subsystems.(Sommerville SE_book)
- Each subsystem maintains its own database. Data is interchanged with other subsystem by passing massage to them.
This model is suitable to the application when data is gathered by one subsystem and used by another subsystem.
Advantages and Disadvantages:
- It is an efficient way to share large amount of data. There is no need to transmit data explicitly form one subsystem to another.
- However, subsystem must agree on the repository data model. Inevitably, this is a compromise between specific need of each too. Performance may be adversely affected by this compromise. It is difficult or impossible to generate new data model if their data models do not fit the agreed schema. (coursehero)
- Subsystems that produce data need not be concerned with how that data is used by other system.However, evolution may be difficult as a large volume of information is generated according to an agreed data model. Translating this into new model will certainly be expensive; it may difficult or even impossible.
- Activity such as backup, security, access control and recovery from error are centralized. They are the responsibility of the repository manager. Tools can focus on their principal function rather than concerned with these issues.(coursehero)
However, different sub-systems may have different requirements for security, recovery, & backup policies. The repository forces on all sub-system.(Sommerville SE_book)
Client/ Server Model
The client/server architecture model is a system model where the system is organized as a set of servers and associated servers and clients that access and use the services. The major components of this model are:
- Set of servers that offer services to other subsystem.
- A set of clients that call the services offered by server.
- A network that allows the client to access these services. This is not strictly necessary as the both client and server could run on a single machine.
Client may have to know the name of the available servers and the service that they provide. Client access the services provided by a server through the remote procedure call using a request-reply protocol. A client makes a request to a server and waits until it receive a reply.
Advantages:
- The important advantages of client server model are that it is a distributed architecture.
- Effective use can be made of networked system with many distributed processors.
- It is easy to add new server and integrate it with the rest of the system or to upgrade servers transparently
without affecting other parts of system.(Sommerville SE_book)
Layered Model
The layered model of architecture organizes a system into layers, each of which provide a set of services.(coursehero) Each layer can be thought of as an abstract machine whose language is defined by the services provided by the layer. This language is used to implement the next level of abstract machine. The layered approach supports the incremental development of system. As a layer is developed, some of the services provided by that layer may be made available to the users. This architecture is changeable; a layer can be replaced by another equivalent layer.(Sommerville SE_book)
Modular Decomposition Style
After overall system organization has been chosen, we need to make a decision on the approach to be used in decomposing subsystems into modules. The components in modules are usually smaller than subsystem, which allows alternative decomposition style to be used. A subsystem is a system in its own right whose operation does not depends on the services provided by other subsystem.
Subsystems are composed of modules and have defined interface, which are used for communication with other subsystem.. Module is normally a system component that provides one or more services to other modules.There are two main strategies that can be used when decomposing a subsystem into modules.
A)Object-Oriented Decomposition
An object oriented architecture model structures the system into the set of loosely coupled objects with well-defined interface. Objects call the services offered by other objects. Object-oriented decomposition is concerned with object class, their attributes and their operations. An object class is an abstraction over a set of objects that identifies common attributes and services or operation that are provided by each object. Objects are executable entities with the attributes and the services of the object class. Object oriented approach involves identifying the classes of object that are important for the software system. A decomposition scheme shows how an object class is related to other class through common attributes and services. The advantages of object-oriented approach are that objects are loosely coupled so the implementation of objects can be modified without affecting other objects.
.jpg)
B)Function Oriented Decomposition
Function oriented decomposition systems are organized as functional components. Functional components are called functional transformation. Functional transformation processes their inputs and produce outputs. Input data flows through these transformation until it connected to output. The transformation may execute sequentially or in parallel.
.jpg)
Advantages:
- It supports the reuse of transformation.
- Easily the system capability by adding new transformation.
- It is simple to implement either as concurrent or a sequential system.
The main problem with this approach is that there has to be a common format for data transfer that can be recognized by all transformation.
Reference:
- Sommerville, Ian. Software engineering. eight edition. Newyork: pearson, 2007.
- coursehero. <https://www.coursehero.com/file/10421924/Lesson3-1/>.
- csitprogram. <https://books.google.com.np/books?id=CDWRq0B9e5kC&pg=PA5&lpg=PA5&dq=+Software+Software+is+computer+programs+and+associated+documentation.&source=bl&ots=fuFOT7wYOS&sig=0tkbWoER8gf7RxbScRjIQc7W_d0&hl=en&sa=X&redir_esc=y#v=onepage&q=Software Software is%>.
- csitprogram. .
- csitnepal. .
Lesson
Architectural Design
Subject
Software Engineering
Grade
IT
Recent Notes
No recent notes.
Related Notes
No related notes.