310 likes | 672 Views
Chapter 2 Socio-technical Systems ( C omputer-based System Engineering).
E N D
Chapter 2Socio-technical Systems(Computer-based System Engineering)
System EngineeringIs the activity of specifying, designing, implementing, deploying, maintaining systems, which include hardware, software ,people and interaction of the system with users and its environment.
Objectives • To introduce the concept of emergent systemproperties such as reliability and security • To explain system engineering and system processes
What is a system? • A collection of inter-related components working together towards some common objective. • A system may include software, mechanical, electrical and electronic hardware and be operated by people. • System components are dependent on other system components
What is a system? Cont… • System is more than simply the sum of its parts! • It has a properties of the system as a whole. (emergent properties)
System categories • Socio-technical systems • Systems that include technical systems but also operational processes and people (knowledge) who use and interact with the technical system. • Socio-technical systems are governed by organizational policies and rules.
Socio-technical system characteristics • They have emergent properties • Properties of the system of a whole that depend on the system components and their relationships. • They are often Non-deterministic • They do not always produce the same output when presented with the same input because the system’s behaviour is partially dependent on human operators.
System categories , cont… • Technical computer-based systems • Systems that include hardware and software but where the operators are not normally considered to be part of the system. • The system is not self-aware (Power point is not aware that is it being used to present Software Engineering course) .
Problems of systems engineering • Large systems are usually designed to solve'wicked' problems • Systems engineering requires a great deal of coordination acrossdisciplines • distrust and lack of understanding across engineering disciplines • Systems must be designed to last many years in a changing environment
Emergent System properties • Properties of the systemas a whole rather than properties that can be derived from the properties of components of a system. • Emergent properties are a consequence (result) of the relationships between system components • They can therefore only be assessed and measuredONCE the components have been integratedinto a system
Examples of emergent properties • The reliability of the system • This depends on the reliability of system components and the relationships between the components. • The usability of a system • This is a complex property which depends on the system operators and the environment where it is used.
Types of emergent properties • Functional properties • These appear when all the parts of a system work together to achieve some objective. • For example, a bicycle has the functional property of being a transportation device once it has been assembled from its components.
Types of emergent properties • Non-functional emergent properties • Examples are reliability, performance, safety, and security. • These relate to the behaviour of the system in its operational environment. • They are often critical for computer-based systems as failure that may make the system unusable.
Complexity of emergent system properties- reliability • Because of component inter-dependencies, faults can be propagated through the system, so failure in one component can affect the operation of other components. • System failures often occur because of unforeseen inter-relationships between component.
Influences on a system reliability • Hardware reliability • What is the probability of a hardware component failing and how long does it take to repair that component? • Software reliability • How likely is it that a software component will produce an incorrect output. • Software failure is usually distinct from hardware failure in that software does not wear out. • Operator reliability • How likely is it that the operator of a system will make an error?
Reliability relationships • Hardware failure can generate a non genuine signals • Software errorscan cause alarms to be activated which cause operator stress and lead to operator errors • The environmentin which a system is installed can affect its reliability( a system design to operate in temp between 0 and 10 degrees will feel if the air condition broke, components will behave in unpredictable way)
Properties such as performance, usability, and reliabilityare difficult to assess but can be measuredafter the system is operational. • However, some properties such as safety and securitypose a different problem, because it is very hard to predict all possible modes of access and explicitly forbid them. • Safety - the system that reflects the system’s ability to operate without danger • Security - the system should not permit unauthorised use • Measuring or assessing these properties is very hard
The system engineering process • Usually follows a ‘waterfall’ model because of the need for development of different parts of the system. • There are important distinctions between the system engineering process and the software development process:
The system engineering process • Little scope for rework during system developmentbecause hardware changes are veryexpensive, reworkingthe system design to solve these problems. Software becomes so important insystems because of its flexibility • Example: siting of Base station in mobile cell • Always involves engineers from different disciplines - interdisciplinary involvement- many engineering disciplineswho must work together, much scope for misunderstanding here. Different disciplines use a different vocabulary and much negotiation is required. Engineers may have personal agendas to fulfil.
Before a software can be engineered, the system in which it resides must be understood. To accomplish this, the overall objective of the system must be determined; the hardware, software, people, databases, procedures, and other system elements must be identified.system requirements must be elicited, analyzed, specified, modeled, validated, and managed. All the above activities are the foundation of system engineering.
Quote:the hardest part of building a software system is deciding what to buildAdvice:be sure you have assessed overall feasibility before you expend effort and time eliciting detailed requirements.Advice: if different customers cannot agree on requirements, the risk of failure is very high.
System requirements definition • System requirements • A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor • Three types of requirement defined at this stage • Abstract functional requirements. The basic functions that the system must provide aredefined in an abstract way • System properties. Non-functional requirements for the system in general are defined (availability, performance) • Desirable and Undesirable characteristics. Unacceptable system behaviour is specified (what the system must not do)
Also, the system requirement must defineoverall organizational objectives which the system should meet. Example:Consider a system for an office building to provide for fire protection and intruder detection. A statement of objective might be: • Functional objectives • To provide a fire and intruder alarm system for the building which will provide internal and external warning of fire or unauthorized intrusion
System requirements problems: • Complex systems are usually developed to address wicked problems • Problems that are not fully understood; Example : earthquake Can tackle the problem after it has happened
The system design process • Partition requirements, organize requirements into related groups , HW Req. , SW Req. • Identify sub-systems, identify a set of sub-systems which collectively can meet the system requirements • Assign requirementsto sub-systems, causes particular problems when are integrated , happen when purchase any sub-system.
The system design process, cont… • Specify sub-systemfunctionality and relationships between them • Define sub-system interfaces, if the interface has been agreed then a parallel sub-system development becomes possible.
System design 1 problems: • As a problems appear you often have to redo work done in earlier stages. • Solution : Using spiral process , each round on the spiral may add more detail to design.