Python 1
Python 1
Python 1
What is System?
The term System is derived from the greek
word systema, which means an organized
relationship among functioning units or
components.
A system is collection of Interdependent,
Interrelated, and Interacting components/
Elements.
What a system possess?
• A system exists because it is designed to achieve one
or more objectives. A system has:
-an hierarchy of sub-systems and super systems
within itself.
-boundary: Rigid or Flexible.
-Synergy/ property of Wholism.
-Inherent regulatory mechanism.
-process of Input Through Output
System Concepts
The study of systems concepts, has three basic
implication :
• A system must be designed to achieve a
predetermined objective.
• Interrelationships and interdependence must exits
among the components.
• The objective of the organization as a whole have a
higher priority than the objectives of its subsystems.
Characteristics of a system
• Organization: It implies structure and order. It is the arrangement of components
that helps to achieve objectives.
• Interaction: It refers to the manner in which each component functions with other
components of the system.
• Interdependence: It means that parts of the organization or computer system
depend on one another. They are coordinated and linked together according to a
plan. One subsystem depends on the output of another subsystem for proper
functioning.
• Integration: It refers to the wholism of systems. It is concerned with how a system
is tied together.
• Central objective: A system should have a central objective. Objectives may be
real or stated. Although a stated objective may be the real objective, it is not
uncommon for an organization to state one objective and operate to achieve
another. The important point is that users must know the central objective of a
computer application early in the analysis for a successful design and conversion.
Elements of a system
• Outputs and inputs
• Processor‘s
• Control
• Feedback
• Environment
• Boundaries and
interface
Elements of a system
• Outputs and inputs: A major objective of a system is to produce an
output that has value to its user. In order to get a good output, inputs
to system must be appropriate. It is important to point out here that
determining the output is a first step in specifying the nature,
amount and regularity of the input needed to operate a system.
• Processors: It is the element of a system that involves the actual
transformation of input into output. It is the operational component
of a system. Processors may modify the input totally or partially,
depending on the specifications of the output. In some cases, input
is also modified to enable the processor to handle the
transformation.
• Control: The control elements guide the system. It is the decision-
making subsystem that controls the pattern of activities governing
input, processing, and output.
Elements of a system
• Feedback: Feedback measures output against a standard in some form
of cybernetic procedure that includes communication and control.
Feedback may be positive or negative, routine or informational.
Positive feedback reinforces the performance of the system. It is
routine in nature. Negative feedback generally provides the controller
with information for action.
• Environment: The environment is the “supra-system” within which
an organization operates. It is the source of external elements that
impinge on the system. In fact, it often determines how a system
must function.
• Boundaries and Interfaces: A system should be defined by its
boundaries- the limits that identify its components, processes, and
interrelationships when it interfaces with another system.
Types of systems
Tools
Methods
Process
Quality Focus
Quality Focus Layer
• Software engineering must rest on an
organizational commitment to quality.
• Total quality management foster a continuous
process improvement culture, and this culture
ultimately leads to the development of
increasingly more mature approaches to
software engineering.
• The bedrock that supports software
engineering is a quality focus.
Process Layer
• The foundation for software engineering is the process
layer.
• Software engineering process is the glue that holds the
technology layers together and enables rational and timely
development of computer software.
• Process defines a framework for a set of key process areas
(KPAs) that must be established for effective delivery of
software engineering technology.
• The key process areas form the basis for management
control of software projects and establish the context in
which technical methods are applied.
Methods Layer
• Software engineering methods provide the
technical how-to's for building software.
• Methods encompass a broad array of tasks
that include requirements analysis, design,
program construction, testing, and support.
• Software engineering methods rely on a set of
basic principles that govern each area of the
technology and include modelling activities
and other descriptive techniques.
Tools Layer
• Software engineering tools provide automated
or semi-automated support for the process
and the methods.
• When tools are integrated so that information
created by one tool can be used by another, a
system for the support of software
development, called computer-aided software
engineering, is established.
Software Quality Factors
• Correctness: A software system is expected to meets the explicitly
specified functional requirements and the implicitly expected non-
functional requirements.
If a software system satisfies all the functional requirements, the
system is said to be correct.
• Reliability: Customers may still consider an incorrect system to be
reliable if the failure rate is very small and it does not adversely
affect their mission objectives.
Reliability is a customer perception, and an incorrect software can
still be considered to be reliable.
• Efficiency: Efficiency concerns to what extent a software system
utilizes resources, such as computing power, memory, disk space,
communication bandwidth, and energy.
• Integrity: A system’s integrity refers to its ability to withstand attacks to its security.
In other words, integrity refers to the extent to which access to software or data by
unauthorized persons or programs can be controlled.
• Usability: A software is considered to be usable if human users find it easy to use.
Without a good user interface a software system may fizzle out even if it possesses
many desired qualities.
• Maintainability: Maintenance refers to the upkeep of products in response to
deterioration of their components due to continuous use of the products.
Maintenance refers to how easily and inexpensively the maintenance tasks can be
performed.
For software products, there are three categories of maintenance activities :
corrective, adaptive and perfective maintenance.
• Interoperability : Interoperability means whether or not the output of one system is
acceptable as input to another system, it is likely that the two systems run on
different computers interconnected by a network.
An example of interoperability is the ability to roam from one cellular phone
network in one country to another cellular network in another country.
• Testability: Testability means the ability to verify requirements. At
every stage of software development, it is necessary to consider
the testability aspect of a product.
To make a product testable, designers may have to instrument a
design with functionalities not available to the customer.
• Flexibility: Flexibility is reflected in the cost of modifying an
operational system.
In order to measure the flexibility of a system, one has to find an
answer to the question: How easily can one add a new feature to a
system.
• Portability: Portability of a software system refers to how easily it
can be adapted to run in a different execution environment.
Portability gives customers an option to easily move from one
execution environment to another to best utilize emerging
technologies in furthering their business.
• Reusability: Reusability means if a significant portion of one
product can be reused, maybe with minor modifications, in
another product.
Reusability saves the cost and time to develop and test the
component being reused.
SDLC
Investigation
Cost estimates.
Data collection.
Stage Key Question Result
4 Design :- How must the problem Implementation
be solved ? specification / schedule.
General specification and Final Cost / Benefit
Detailed specification. analysis.