Geschreven door studenten die geslaagd zijn Direct beschikbaar na je betaling Online lezen of als PDF Verkeerd document? Gratis ruilen 4,6 TrustPilot
logo-home
College aantekeningen

Learn the best of ooad

Beoordeling
-
Verkocht
-
Pagina's
17
Geüpload op
17-01-2025
Geschreven in
2024/2025

The depth discussion of the ooad

Instelling
Vak

Voorbeeld van de inhoud

UNIT 1
Introduction: The Structure of Complex systems, The Inherent Complexity of Software,
Attributes of Complex System, Organized and Disorganized Complexity, Bringing Order to
Chaos, Designing Complex Systems, Evolution of Object Model, Foundation of Object Model,
Elements of Object Model, Applying the Object Model.

1.The Structure of Complex systems
A complex system is a system composed of many components which may interact with each
other. In many cases it is useful to represent such a system as a network where the nodes
represent the components and the links their interactions. Examples of complex systems are
Personal Computer, Plants, and Education System.
The structure of personal computer
A personal computer is a device of moderate complexity. Most are composed of the same
major elements: a central processing unit (CPU), a monitor, a keyboard, and some sort of
secondary storage device, usually either a CD or DVD drive and hard disk drive. We may take
any one of these parts and further decompose it. For example, a CPU typically encompasses
primary memory, an arithmetic/logic unit (ALU), and a bus to which peripheral devices are
attached. Each of these parts may in turn be further decomposed: An ALU may be divided into
registers and random control logic, which themselves are constructed from even more
primitive elements, such as NAND gates, inverters, and so on.
Central Processing Unit (CPU) — Executes programs
 Arithmetic & Logic Unit (ALU)
 Registers
 NAND gate
 CMOS Gate
 Interconnect
 Inverter
 Control Logic
 Primary Memory
 Bus — peripheral devices
 Hard disk drive — Persistent storage for data
 Monitor — Outputs data
 Keyboard — Inputs data
 Secondary storage device (DVD drive / USB) — Removable storage for data

Complex systems hierarchies
 Each Level of Hierarchy represents a Layer of Abstraction
 Each Layer
 Is built on top of other layers: CMOS Gates —> NAND Gates—> Registers
 (in turn) Supports other layers: CMOS Gates —> NAND Gates—> Registers

 Is independently understandable: CPU
 Works independently with clear separation of concerns: ALU, Memory

,  Common services / properties are shared across Layers: Same power-tree feeds the
components of CPU
 Layers together show Emergent Behavior
 Behavior of the whole is greater than the sum of its parts
 Systems demonstrate cross-domain commonality: Cars have processors, memory,
display


2. The Inherent Complexity of Software

There are two types of software are there in terms of complexity
 Simple Software
 Industrial-strength software
Simple Software
Simple Software is software with limited set of behaviors and not very complex. It is
specified, constructed, maintained, and used by the same person or a small group usually the
amateur programmer or the professional developer working in isolation. Such systems tend to
have a very limited purpose and a very short life span. Can be thrown away and replaced with
entirely new software rather than attempt to reuse them, repair them, or extend their
functionality

Industrial-strength software

Industrial-strength software applications exhibits a very rich set of behaviors, for example, in
reactive systems that drive or are driven by events in the physical world, and for which time
and space are scarce resources; applications that maintain the integrity of hundreds of
thousands of records of information while allowing concurrent updates and queries; and
systems for the command and control of real-world entities, such as the routing of air or
railway traffic. Software systems such as these tend to have a long life span, and over time,
many users come to depend on their proper functioning. Complexity of Industrial-Strength
Software systems exceeds the human intellectual capacity

Why Software Is Inherently Complex?
Inherent complexity derives from four elements:
1. The complexity of the problem domain,
2. The difficulty of managing the development process,
3. The flexibility possible through software,
4. The problems of characterizing the behavior of discrete systems.

The complexity of the problem domain
Domains are difficult to understand. Consider the requirements for the electronic system of a
multiengine aircraft, a cellular phone switching system, or an autonomous robot. The raw
functionality of such systems is difficult enough to comprehend. The functional requirements

, complex to master and often are competing, even contradictory. Non-functional Requirements
(usability, performance, cost, survivability, and reliability) are often Implicit and difficult to
justify in the budget.
This external complexity usually springs from the ―communication gap‖ that exists between
the users of a system and its developers. Users cannot express; developers cannot understand
due to lack of expertise across domains.

The difficulty of managing the development process
The task of the software development team is to engineer the illusion of simplicity. We strive
to write less code by inventing clever and powerful mechanisms. Today, it is not unusual to
find delivered systems whose size is measured in hundreds of thousands or even millions of
lines of code. The complexity of software goes well beyond the comprehension of a single (or
small group of) individual/s, even with meaningful decomposition. Hence, we need more
developers and more teams. The key management challenge is to maintain a unity and
integrity of management.

The flexibility possible through software
Software offers the ultimate flexibility, so it is possible for a developer to express almost any
kind of abstraction. This flexibility turns out to be an incredibly seductive property, however,
because it also forces the developer to craft virtually all the primitive building blocks on which
these higher-level abstractions stand. While the construction industry has uniform building
codes and standards for the quality of raw materials, few such standards exist in the software
industry. As a result, software development remains a labor-intensive business.

Problems of characterizing the behavior of discrete systems
Software is built and executed on digital computers. Hence, they are Discrete Systems. A large
application would have hundreds or even thousands of variables and more than one (often
several) thread of control. A state is entire collection of variables, the current values of
variables, the current address of each process, the calling stack of each process. Software has
finite number of states. Yet, many of these the states are often intractable and influenced by
external factors. This change is not deterministic (unlike continuous system) and needs
extensive Testing.

3. Attributes of Complex System


1. Hierarchic Structure
2. Relative Primitives
3. Separation of Concerns
4. Common Patterns
5. Stable Intermediate Forms

Hierarchic Structure
 All systems are composed of interrelated sub-systems
 Sub-systems are composed of sub-sub-systems, and so on

Geschreven voor

Vak

Documentinformatie

Geüpload op
17 januari 2025
Aantal pagina's
17
Geschreven in
2024/2025
Type
College aantekeningen
Docent(en)
Muskaan
Bevat
Alle colleges

Onderwerpen

$10.99
Krijg toegang tot het volledige document:

Verkeerd document? Gratis ruilen Binnen 14 dagen na aankoop en voor het downloaden kun je een ander document kiezen. Je kunt het bedrag gewoon opnieuw besteden.
Geschreven door studenten die geslaagd zijn
Direct beschikbaar na je betaling
Online lezen of als PDF

Maak kennis met de verkoper
Seller avatar
muskaanshaik0305

Maak kennis met de verkoper

Seller avatar
muskaanshaik0305 Jawaharlal Nehru technological University
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
-
Lid sinds
1 jaar
Aantal volgers
0
Documenten
2
Laatst verkocht
-

0.0

0 beoordelingen

5
0
4
0
3
0
2
0
1
0

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo makkelijk kan het dus zijn.”

Alisha Student

Bezig met je bronvermelding?

Maak nauwkeurige citaten in APA, MLA en Harvard met onze gratis bronnengenerator.

Bezig met je bronvermelding?

Veelgestelde vragen