1 / 24

Lecture#1

Lecture#1. An Introduction to Software Engineering. SOFTWARE ENGINEERING. An Introduction to Software Engineering. Contents 1.1 Professional software development 1.2 Software engineering ethics 1.3 Case studies. Professional software development.

fhorace
Download Presentation

Lecture#1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture#1 An Introduction to Software Engineering

  2. SOFTWARE ENGINEERING

  3. An Introduction to Software Engineering Contents 1.1 Professional software development 1.2 Software engineering ethics 1.3 Case studies

  4. Professional software development • Software engineering is intended to support professional software evelopment, rather than individual programming. • Software is not just the programs themselves but also all associated documentation and configuration data that is required to make these programs operate correctly

  5. Professional software development • What is software? Computer programs and associated documentation. • Software products may be developed for a particular customer or may be developed for a general market.

  6. Professional software development • What are the attributes of good software? • Good software should deliver the required functionality and performance to the user and should be maintainable, dependable, and usable.

  7. Professional software development • Software engineers are concerned with developing software products. There are two kinds of software products • Generic products • Customized products

  8. Software engineering • Software engineering is an engineering discipline that is concerned with all spects of software production from the early tages of system specification through to mintaining the system after it has gone into use.

  9. Software engineering • All aspects of software production • Includes activities such as software project management and the development of tools, methods, and theories to support software production

  10. Software engineering • A software process is a sequence of activities that leads to the production of a software product.(Process 1-4) • Software specification, where customers and engineers define the software that is to be produced and the constraints on its operation.

  11. Software engineering • Software development, where the software is designed and programmed. • Software validation, where the software is checked to ensure that it is what the customer requires. • Software evolution, where the software is modified to reflect changing customer and market requirements.

  12. Software engineering diversity • Stand-alone applications • Interactive transaction-based applications • Embedded control systems • Batch processing systems • Entertainment systems • Systems for modeling and simulation • Data collection systems • Systems of systems

  13. software engineering fundamentals • software engineering fundamentals that apply to all types of software system • They should be developed using a managed and understood development process. • Dependability and performance are important for all types of systems. • Understanding and managing the software specification and requirements are important. • You should make as effective use as possible of existing resources.

  14. Software engineering ethics • You must also behave in an ethical and morally responsible way if you are to be respected as a professional engineer. • Confidentiality (agreement has been signed) • Competence (should not misrepresent your level of competence) • Intellectual property (should be careful to ensure that the intellectual property of employers and clients is protected.) • Computer misuse (should not use your technical skills to misuse other people’s computers. Computer)

  15. Case studies • The three types of systems that I use as case studies are: • An embedded system • An information system • A sensor-based data collection system

  16. Case studies • An insulin pump control system • The software controlling this system is an embedded system, which collects information from a sensor and controls a pump that delivers a controlled dose of insulin to a user.

  17. Case studies • The problem with this treatment is that the level of insulin required does not just depend on the blood glucose level but also on the time of the last insulin injection. • A software-controlled insulin delivery system might work by using a microsensor embedded in the patient to measure some blood parameter that is proportional to the sugar level.

  18. Case studies • An insulin pump control system

  19. Case studies • An insulin pump control system

  20. Case studies • A wilderness weather station • These weather stations collect data from a set of instruments that measure emperature and pressure, sunshine, rainfall, wind speed, and wind direction.

  21. Case studies • A wilderness weather station

  22. Case studies • The station software is therefore not just concerned with data collection. 1. Monitor the instruments, power, and communication hardware and report faults to the management system. 2. Manage the system power, ensuring that batteries are charged whenever the environmental conditions permit but also that generators are shut down in potentially damaging weather conditions, such as high wind.

  23. Case studies • The station software is therefore not just concerned with data collection. 3. Allow for dynamic reconfiguration where parts of the software are replaced with new versions and where backup instruments are switched into the system in the event of system failure

More Related