0% found this document useful (0 votes)
47 views

Software Design & Technology

This document discusses software design and architecture. It defines a system and software as components of a system that work toward a common goal. Requirements must be unambiguous and testable. The Capability Maturity Model (CMM) measures an organization's software maturity through five levels from initial to optimizing. Software architecture represents the structure, components, and relationships that build a system. It is important for communication, controlling complexity, and reducing risk. The architecture design process includes creation, analysis, and elaboration. Common architecture styles include data-center, data flow, call and return, object-oriented, and layered. Attributes like performance, security, and maintainability are considered.

Uploaded by

hamzaayyub
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)
47 views

Software Design & Technology

This document discusses software design and architecture. It defines a system and software as components of a system that work toward a common goal. Requirements must be unambiguous and testable. The Capability Maturity Model (CMM) measures an organization's software maturity through five levels from initial to optimizing. Software architecture represents the structure, components, and relationships that build a system. It is important for communication, controlling complexity, and reducing risk. The architecture design process includes creation, analysis, and elaboration. Common architecture styles include data-center, data flow, call and return, object-oriented, and layered. Attributes like performance, security, and maintainability are considered.

Uploaded by

hamzaayyub
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/ 4

Software Design & Architecture

System:
A system is a set of rules an arrangement of things or a group of related things that work
toward a common goal.
 System is a collection of components.
 Software is the one of component of system.

Requirements:
Requirements will be a statement and it would be able to make our sense.
A statement that identifies a product or process operational, functional or design characteristics
which is unambiguous, testable and necessary for process acceptability (by consumer or internal
Quality Assurance Guidelines).

CMM (Capability Maturity Model)


 CMMI was developed by SEI (Software Engineering Institute).
 It is not software process model.
 It is used as a benchmark to measure the maturity of organization software.

1. Initial: (Level-1)
 Work is performed Informally
 Organized not planned and advanced
 Ad hoc activity

2. Repeatable: (Level-2)
 Work is planned and tracked
 Track cost, schedule and functionality
 Proper Management

3. Defined: (Level-3)
 Work is well defined
 Every phase of process has made documentation
 Defined & Documentation
4. Managed: (Level-4):
 Work is Quantitatively control
 Quantitative measure of time
 Measure every phase of process (time) etc.

5. Optimizing (Level-5):
 Work is based upon continuous Improvement
 Best Software companies
 Process change management
 Technology change management
 Defect Prevention

Software Design architecture:


The Software architecture of a program or computing system is
the structure of the system which comprise:
 Software components
 Externally visible properties of those components
 Relationship among the components
Software architectural design represents the structure of the data and program components that
are required to build a computer-based-system.
Why we need?
The architecture is not the operational software. Rather, it is a representation that enables a
software engineer to:
[1] Analyse the effectiveness of the design: In meeting its stated requirements.
[2] Reduce the risks: Associated with the construction of the software.
Why Architecture is important?
Representations of software architecture are an enabler for communication between all parties
(Stakeholder) interested in the development of a computer-based system.
 Controls Complexity
 Gives Consistency
 Reduce risk
 Enable re-use
Architecture Design Process:
 Creation: of the data design
 Derivation: of one or more representations of the architectural structure of the
system.
 Analysis: of alternative architectural styles to choose the one best suited to
customer requirements and equality attributes.
 Elaboration: of the architecture based on the selected architecture.

Architecture Attributes:
 Performance: Localize operations to minimize sub-system communication.
 Security: Use a layered architecture with critical assets in inner layers.
 Safety: Isolate safety-critical components.
 Availability: Include redundant components in the architecture.
 Maintainability: Use fine-grain, self-contained components.

Architecture Styles:
Each style describes a system category that encompasses:
1) Set of components: ( a system e.g database, computational models that perform a
function required)
2) Set of connectors: that enable “communication, coordination and cooperation” among
components.
3) Constraints: that define how components can be integrated to form the system.

 Data-centre architectures
 Data flow architectures
 Call and return architectures
 Object-Oriented architectures
 Layered architectures

Data-centre architectures Client Client


Software Software
Client
Software

Client
Software
Client
Software Data store (repository)

Client Client
Software Software
Client
Software
Data flow architectures
Characterized by viewing the system as a series of transformations on successive pieces of input
data. Data enters the system and then flows through the components one at a time until they are
assigned to output of data store.
Database
Database result Server
Requests Query Result
Web
Client Side
Server
HTML HTML Files
Page
Generator

You might also like