Beruflich Dokumente
Kultur Dokumente
Unit 1 : Overview
Topics covered
FAQs about software engineering Professional and ethical responsibility Socio -Technical Systems Emergent system properties Systems engineering Organizations, people and computer systems Legacy systems
Questions: UNIT 1
1. What are the attributes of good software & what are the challenges facing software engineering 2. Describe 4 professional responsibilities of a software engineer 3. What is a socio technical system. Describe its essential characteristics 4. Explain the activities involved in system design process
Questions: UNIT 1
5. What are emergent system properties? Give examples of each 6. Describe following (a) software, (b) Software engineering, (c) software product
What is software?
Computer programs and associated documentation such as requirements, design models and user manuals. Software products may be Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. Custom - developed for a single customer according to their specification.
Creating software
New software can be created by Developing new programs, Reusing existing software. Configuring generic software systems
Intellectual property rights Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and clients is protected.
Computer misuse Software engineers should not use their technical skills to misuse other peoples computers. Computer misuse ranges from relatively trivial (game playing on an employers machine, say) to extremely serious (dissemination of viruses).
Socio-technical Systems
What is a system?
A purposeful collection of inter-related components working together to achieve some common objective. A system may include software, mechanical, electrical and electronic hardware and be operated by people.
System categories
Technical computer-based systems Systems that include hardware and software but where the operators and operational processes are not normally considered to be part of the system. Examples: TV, Mobile, PC
System categories
Socio-technical systems Systems that include technical systems but also operational processes and people who use and interact with the technical system. Socio-technical systems are governed by organisational policies and rules. Examples: railway reservation system, Air traffic control system
Systems engineering
Specifying, designing, implementing, validating deploying and maintaining socio-technical systems. Concerned with: Software Hardware Systems interaction with users and environment Limited scope for rework during system
Inter-disciplinary involvement
Software engineering Electronic engineering Mechanical engineering
Structural engineering
Civil engineering
Electrical engineering
Architecture
Three types of requirement defined at this stage Abstract functional requirements. System functions are defined in an abstract way; System properties. Non-functional requirements for the system in general are defined; Undesirable characteristics. Unacceptable system behaviour is specified. Should also define overall objectives for the system.
Identify sub-systems
System modelling
During Design activity systems are modelled as a set of components & relationships between them An architectural model presents an over view of the sub-systems making up a system Usually presented as a block diagram
Siren
Voice synthesiser
Telephone caller
Sub-system description
Sub-system Movement sensors Door sensors Alarm controller Siren Voice syn thesizer T elephone caller Description Detects mov ement in the rooms monitored by the system Detects door opening in the external doors of the build ing Controls the operation of th e system Emits an aud ible warning when an intruder is suspected Synthesizes a voice messag e giving the location of the suspected intruder Mak es external calls to notify secu the police, etc. rity,
Sub-system development
Sub systems are usually developed in parallel Subsystem development may start another system engineering activity Or if subsystem is software then It may involve requirement, design, implementation, testing Some of the subsystems can be COTS Changes at a later stage is usually done in software as hardware changes are more costly
System integration
Putting independently development subsystems to make a complete system. Big Bang approach Incremental approach Incremental approach is better, as It is not feasible that all the subsystems are available at a time Reduces cost of error location
System integration
Once the integration is complete an extensive system testing takes place Testing interfaces between the components Testing the behaviour of the system as a whole
System installation
After completion, the system has to be installed in the customers environment. Problems during system installation Environmental assumptions may be incorrect; May be human resistance to the introduction of a new system; System may have to coexist with alternative systems for some time; May be physical installation problems (e.g.
System decommissioning
Taking the system out of service after its useful lifetime. For hardware systems it may require removal of materials (e.g. dangerous chemicals) which pollute the environment For software systems no physical decommissioning problem .
System decommissioning
Sometimes software are used to assist decommissioning . as they may identify the good components Sometimes data is still valuable then it has to be restructured to be used in new systems
Organisations/people/systems
Socio-technical systems are organizational systems intended to help deliver some organizational or business goal. If we do not understand the organizational environment where a system is used, the system is less likely to meet the real needs of the business and its users and may be rejected by the users and mangers of the organization
Process changes Does the system require changes to the work processes in the environment? Job changes Does the system de-skill the users in an environment or cause them to change the way they work? Organisational changes Does the system change the political power structure in an organisation?
Select tender
Negotiate contract
Contractor/Sub-contractor model
Legacy systems
Socio-technical systems that have been developed in past using old or obsolete technology. Crucial to the operation of a business and it is often too risky to discard these systems Bank customer accounting system; Aircraft maintenance system. Legacy systems constrain new business processes and consume a high proportion of company budgets.
Runs-on
Runs-on
Uses
System hardware
Application data
Business processes