Software Design & Technology

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 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