Software Engineering Chapter 2: Computer-based System Engineering

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering.
Advertisements

Chapter 27 Software Change.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2 – Software Processes
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 2.
Chapter 10 – Sociotechnical Systems Lecture 1 1Chapter 10 Sociotechnical Systems.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 2 Slide 1 Socio-technical Systems.
Software Evolution Managing the processes of software system change
Socio-technical Systems
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
©Ian Sommerville 2000Software Engineering, 6th edition Slide 1 Introduction l Getting started with software engineering l Objectives To introduce software.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software Engineering General Project Management Software Requirements
Chapter 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems.
Software Engineering Chapter 2 Socio-technical systems Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Software evolution.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Requirements Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 9 – Software Evolution and Maintenance
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 10 – Sociotechnical Systems 1Chapter 10 Sociotechnical Systems.
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
Software Engineering Dr. K. T. Tsang
2. Socio-Technical Systems
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
Socio-technical Systems. Objectives l To explain what a socio-technical system is and the distinction between this and a computer-based system. l To introduce.
Socio-technical Systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Systems Engineering l Designing, implementing, deploying and operating systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Software Requirements Engineering CSE 305 Lecture-2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Socio-technical Systems (Computer-based System Engineering)
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Systems Engineering l Specifying, designing, implementing, validating, deploying.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems.
Socio-technical Systems. Objectives To explain what a socio-technical system is and the distinction between this and a computer-based system To introduce.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Engineering CSC 342/Dr. Ghazy Assassa Chapter 10, Architectural Design “Sommerville +.. “ Slide 1 CSC 342 Semester II: H ( G)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Software Engineering, 8th edition. Chapter 2 Courtesy: ©Ian Sommerville 2006 Feb 12 th, 2009 Lecture # 3 Socio-technical Systems.
Socio-Technical Systems, York EngD Programme, 2009Slide 1 LSCITS and Socio-technical Systems Prof Ian Sommerville.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 2 Slide 1 Socio-technical Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Socio-technical Systems.
Slide 1 CS 310 Chapter 2 Socio Technical Systems A system that includes people, software, and hardware Technical computer-based systems include hardware.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter2: Systems Engineering l Designing, implementing, deploying and operating.
CHAPTER 2. Designing, implementing, deploying and operating systems which include hardware, software and people.
Socio-technical Systems
DT249/4 Information Systems Engineering
Software Processes (a)
Chapter 9 – Software Evolution and Maintenance
Systems Engineering Designing, implementing, deploying and operating systems which include hardware, software and people.
Presentation transcript:

CSC 342 Semester II: 1424-1425H (2003-2004 G) Software Engineering Chapter 2: Computer-based System Engineering Instructor: Dr. Ghazy Assassa

Systems Engineering Designing, implementing, deploying and operating systems which include hardware, software and people ..(Aircrafts, Trains, Vehicles..)

Objectives To introduce the concept of emergent system properties such as reliability and security To explain why the systems environment must be considered in the system design process To explain system engineering processes To explain system procurement processes

Topics covered Emergent system properties Systems and their environment System modelling The system engineering process System procurement

Software Engineering Software Eng: concerned only with S/W Embedded S/W: Special purpose S/W to operate a H/W Could be replaced by H/W For flexibility reasons, S/W solution is adopted instead of H/W solution

What is a system? A collection of inter-related components working together to achieve a predefined common objective.

System and Sub-systems A system may include sub-systems A car system includes many subsystems: Engine sub-system (fuel burning) Transmission sub-system (gear) Braking sub-system Sound sub-system Electrical sub-system (lights, electrical windows) Security sub-system Safety sub-system (air bags, center lock) Divide and conquer strategy

Example: HMS “Health Management System” & Sub-systems Example of a system including sub-systems at many levels (hierarchy) HMS “Health Management System” HIS “ Health Information System” HMS sub-systems include: In-patient: Admission Care services Medical treatment Medical record Operation Theatre Accounting…

Example: HMS “Health Management System” & Subsystems (cont.) Out-patient Patient appointment Staff scheduling Drug store Maintenance of equipment Laboratories etc...

Emergent properties Properties of the system as a whole rather than properties that can be derived from the properties of each component Emergent properties are a consequence of the relationships between system components They can therefore only be assessed and measured once the components have been integrated into a system

Non-functional properties You impose a constraint on non-functional properties: Speed/performance Reliability Safety Security

System reliability engineering Reliability is to be considered at the system level rather than at individual component level

System overall reliability System overall reliability is function of: 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 (but hardware does) Operator reliability How likely is it that the operator of a system will make an error? (stress conditions)

The ‘shall-not’ list Properties that the system shall not exhibit Safety issues - the system shall not behave in an unsafe way Security issues - the system shall not permit unauthorised use The ‘shall-not’ properties must also be defined in the system requirements

System architecture modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between sub-systems ‘interface’ Usually presented as a block diagram

Ex: Intruder alarm system System Architecture Block Diagram

Component types in alarm system Sensor Movement sensor, door sensor Actuator Siren Communication Telephone caller Co-ordination Alarm controller Interface Voice synthesizer

System architecture H/W & S/W sub-systems System architecture should be designed in terms of functional sub-systems (whether H/W or S/W subsystems) H/W or S/W sub-system for providing a function? Decision is governed by non-technical factors e.g. Availability of COTS components Time constraint Cost

ATC system architecture ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ##

Component types in alarm system Sensor Movement sensor, Door sensor Actuator Siren Communication Telephone caller Coordination Alarm controller Interface Voice synthesizer

The system engineering process

System Architecture System Decomposition into subsystems Many possible alternative decomposition solutions

System requirements definition “WHAT” Types of requirement Abstract functional requirements. System functions are defined in an abstract way Details at sub system level Non-functional requirements: Are defined for the system in general EX: Performance, safety, etc … that affect the requirements of the integrated sys ‘Shall-not’ characteristics: Unacceptable system behaviour is specified Domain requirements: Specific and highly technical for a particular domain of application eg protocol Z39.50 for Library Info Sys Should also define System environment ( Physical, Organisational and Human) Business requirements: Organizational objectives for the system

System requirements problems requirements Change !!!!! as the system is being specified

The system design process “HOW” 5 Design Activities

The system design process “HOW” 5 Design Activities: Partition requirements Organise requirements into related groups Identify sub-systems Identify a set of sub-systems which collectively can meet the system requirements Assign requirements to sub-systems Problems with externally purchased subsystems - COTS May impose modifications on the requirements because of non 100% compliance with requirements Integration problems

The system design process “HOW” (cont.) Specify sub-system functionality & inter-relationships May be seen as part of sys Design phase for general sub-sys (H/W+S/W+Human/W) OR as part of Analysis phase if the sub-sys is a S/W sub-sys Define sub-system interfaces Critical activity for parallel sub-system development Design comments Many possible design alternatives of H/W, S/W , Human operations The selected solution need not be the most appropriate technical solution: organizational and political issues may influence the choice of the solution (e.g. National supplier for a government sys)

System Design: Assignment of requirements to sub-systems

Sub-system development If the sub-sys is a S/W S/W process is started ‘RDIV’ ( Requirements, Design, Implementation, Validation) Make/Buy decision Develop Buy COTS sub-sys and work integration into the sys Cheaper Faster Tested If COTS does not meet the requirements exactly, rethink the design for adaptation in order to use COTS Work-around solution for problems through S/W changes … S/W should be designed for future changes - Dynamic Business environment

System integration Interface problems between sub-systems are usually found at this stage Integration approaches: Bing Bang integration Incremental integration Bing Bang integration: all sub-systems are integrated at the same time Incremental integration: sub-systems are integrated one at a time

System installation System is put in its environment Problems: Different environment from that assumed by sys developers ( e.g. Operating System version) Human resistance to the introduction of the new system System may have to coexist in parallel with alternative systems or sub-system components for some time Physical installation problems (e.g. network cabling problems) Operator training has to be identified

System operation Will bring unforeseen requirements to light Problems: Incompatibility if coexisting with old systems May require Users training Data conversion

System evolution A systems has a long lifetime span Embedded errors correction Dynamic business environment yields new requirements Evolution is inherently costly Changes must be analysed and approved Changes to one sub-system may affect other sub-systems, these in turn need to be fixed Cost of maintaining a sys increases with time - System structure becomes corrupted because of continuous maintenance changes Legacy systems: Existing old systems that the organisation must continue to use because they are critical for the business operations. Must be maintained and present a challenge to S/W Engineers aiming at reducing cost of maintenance

System decommissioning Taking the system out of service after its useful lifetime Physical H/W decommissioning problems May require removal of materials (e.g. dangerous chemicals) which pollute the environment Should be planned for in the system design by encapsulation May require data to be restructured and converted to be used in some other system S/W has no physical decommissioning issues

Computer-based System Procurement Acquiring a system for an organization to meet predefined need Deciding about: The best approach to acquire a system The best supplier A system may be: Bought as a whole Bought as separate parts and then integrated Especially designed and developed

System procurement (cont.) Some system specification and architectural design must be done before procurement decision Provide the supplier or contractor with specification about the required system The specification/ architectural design will help identify commercial off-the-shelf (COTS) sub-systems that might be bought. Large systems consist of a mix of: COTS Especially developed components

System procurement (cont.) Glue ware Use of S/W allows more use of H/W components The S/W act as a glue ware between the different components of H/W Cost of developing glue ware may counter balance savings from using COTS COTS is usually cheaper than developing a component from scratch

The system procurement process system specification and architectural design