Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

4

Share

Download to read offline

Software Engineering - chp0- introduction

Download to read offline

Introduction to Software Engineering

Related Books

Free with a 30 day trial from Scribd

See all

Software Engineering - chp0- introduction

  1. 1. MedTech Software Engineering Main Notions, Lifecycle Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1 MedTech – Mediterranean Institute of Technology Software Engineering MedTech
  2. 2. MedTech Speaker Disclosure • Dr. Lilia Sfaxi • Associate Professor in INSAT • Researcher in LIP2 Laboratory, MASTER team • PHD in Computer Science from the University of Grenoble and Science Faculty of Tunis • Software Engineering Degree from INSAT, University of Carthage Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 2 Software Engineering
  3. 3. MedTech Speaker Disclosure • Research Field : Big Data Area • Big Data & Decisional Systems • Big Data Systems’ Methodology • Teaching : Main Focus on New Technologies • Big Data • Business Intelligence • Mobile Applications • Service-based Architectures (SOA, WOA, Microservices, API Management…) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 3 Software Engineering
  4. 4. MedTech Speaker Disclosure • Certifications • ITIL (Information Technology Infrastructure Library) V1 • IBM Mobile Application Specialist (Worklight) • IBM Big Data Specialist (BigInsight) • Other Activities • IBM trainer in Mobile Development • Training of educators in Rabat, Esprit University, Supcom/Isetcom • Training of students in INSAT, Esprit University, Virtual University of Tunis • Teacher in the Virtual University of Tunis (UVT) • Mobile Application Development (Android) for 2nd year Professional Master in Open Source Software (MP2L) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 4 Software Engineering
  5. 5. MedTech Speaker Disclosure Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Software Engineering 136,189 108 9,474 90
  6. 6. MedTech Summary of the Course • Software Engineering: An introduction • Importance of Software Development • Definitions • Software + Engineering • Software Engineering • Attributes of a good Software • Key Challenges • SDLC: Software Development Lifecycle • Definition and Actors • Steps • Requirements Analysis • Design • Implementation • Testing • Release Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 6 Software Engineering
  7. 7. MedTech SOFTWARE ENGINEERING: AN INTRODUCTION Software Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7
  8. 8. MedTech Importance of Software • Software is everywhere! • The economies of all developed nations are dependent on software • Software costs often dominate system costs • Software costs more to maintain than to develop! Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 Software Engineering: An Introduction
  9. 9. MedTech Definitions: Software • Computer Programs + Associated Documentation • Can target: • A particular customer: bespoke/customized software • The general market: generic software • Software products are: • Intangible • Complex • Flexible Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 Software Engineering: An Introduction
  10. 10. MedTech Definitions: Software Engineering • Engineering • Action of defining and sequencing necessary tasks for the creation of a new product or service • Software Engineering • Engineering discipline concerned with all aspects of software production • Captures the customers’ business needs and specify the blueprints for the system, so that programmers can implement it Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 10 Software Engineering: An Introduction
  11. 11. MedTech Definitions: Software Engineering Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software IEEE’90 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 Software Engineering: An Introduction
  12. 12. MedTech Definitions: Software Engineering Software Engineers must: • Adopt a systematic and organized approach to their work • Use appropriate tools and techniques … depending on: • The problem to be solved • The development constraints • The available resources ... with a given budget ... before a given deadline ... while changes occur! Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 12 Software Engineering: An Introduction
  13. 13. MedTech A good software … • delivers the required functionality and performance to the user • is maintainable : evolves to meet changing needs • is dependable : must be trustworthy and secure • is usable by its users • is efficient : should not make wasteful use of system resources • is reusable: can be reused in another form or for other purposes Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 Software Engineering: An Introduction
  14. 14. MedTech Skills of a Software Engineer • A software engineer is not (only) a developer! • “ It is not enough to do your best: you must KNOW what to do, THEN do your best” W. Edwards Deming • Aside from the technical skills, a software engineer must have other skills : • Communication • Feedback • Motivation • Analytical • Planning • Risk assessment Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14 Software Engineering: An Introduction
  15. 15. MedTech Key Challenges • Need to master both the technical and business problems • Software is formal, while the real world is informal • Coping with legacy systems • Old valuable systems must be maintained, not systematically replaced • Increasing diversity • Consider the set of mixed and heterogeneous hardware and software involved in the same system • Increasing demands for reduced delivery time • Ethical Responsibility! Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 15 Software Engineering: An Introduction
  16. 16. MedTech Key Challenges: Ethical Responsibility • Behaving in a honest and ethically responsible way in order to be respected • Respect of the confidentiality of the client’s information • Competence: avoid to misrepresent your competence by accepting a task you cannot do • Intellectual Property rights: respect of patents, of copyrights • Computer misuse: the employer’s computer must be properly used • Whether the misuse is trivial (like game playing) or extremely serious (like the dissemination of viruses) • See the ACM/IEEE Code of Ethics! Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 16 Software Engineering: An Introduction
  17. 17. MedTech SDLC: SOFTWARE DEVELOPMENT LIFECYCLE Software Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17
  18. 18. MedTech SDLC : Definition and Actors • SDLC: Process of creating and altering systems, and the models and methodologies that people use to develop these systems • Actors: Mainly (but not only) Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 18 SDLC: Software Development Lifecycle Customer Developer Tester Designer Team Project Manager
  19. 19. MedTech SDLC : Steps Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 19 SDLC: Software Development Lifecycle Requirements Analysis Design ImplementationTesting Release
  20. 20. MedTech Step 1 : Requirement Analysis • Work closely with the customer • Customer can be • a client, • your employer, • or yourself • Focus on the “What”, not the “How” • End Result: Functional Specification • Reviewed by: • Customer, Designer Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 20 SDLC: Software Development Lifecycle R.A. Design CodeTest Release
  21. 21. MedTech Step 2 : Design • Focus on the “How” • Break the problem into smaller pieces • Components • End Result: Design Specification • Reviewed by: • Designer, Developer Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 21 SDLC: Software Development Lifecycle R.A. Design CodeTest Release
  22. 22. MedTech Step 3 : Implementation • Write the code according to design • In some cases (oddly) the shortest phase! • End Result: Executable* Application • Reviewed by: • Designer, Developer, Tester * or not… Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 22 SDLC: Software Development Lifecycle R.A. Design CodeTest Release
  23. 23. MedTech Step 4 : Testing • Verify the code works according to the functional specification • Look for corner cases • End Result: Test Plan, A program that works * • Reviewed by: • Designer, Developer, Tester * hopefully… Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 23 SDLC: Software Development Lifecycle R.A. Design CodeTest Release
  24. 24. MedTech Step 5 : Release • Close to the customers (again) • Validate their expectations • Get feedback for • Next version • Maintenance • End Result: A happy customer and lots of $$$ Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 24 SDLC: Software Development Lifecycle R.A. Design CodeTest Release
  25. 25. MedTech SDLC Challenges Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 25 SDLC: Software Development Lifecycle
  26. 26. MedTech References Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 26 • L. Bonilla, Introduction to Software Engineering, Mentorpick.com, 2009 • Mr. Jackman's Computer Programming Class, Software Development Lifecycle, https://www.youtube.com/watch?v=9STHYg7igIQ , consulted the 22nd sept. 2016 • Recommanded Readings • I. Sommerville, Software Engineering (6th edition), Addison Wesley Publishing Company , 2000 • H Gomaa, Software Modeling and Design: UML, Use Cases, Patterns and Software Architectures
  • AnuragMalik12

    Mar. 26, 2021
  • PallaviKolse

    Jan. 12, 2021
  • OleksandrVinnytskyi

    May. 15, 2018
  • TusharPatil74

    Feb. 9, 2017

Introduction to Software Engineering

Views

Total views

5,852

On Slideshare

0

From embeds

0

Number of embeds

1,022

Actions

Downloads

260

Shares

0

Comments

0

Likes

4

×