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.

Software Engineering - chp0- introduction

Introduction to Software Engineering

  • Be the first to comment

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

    Be the first to comment

    Login to see the comments

  • TusharPatil74

    Feb. 9, 2017
  • OleksandrVinnytskyi

    May. 15, 2018
  • PallaviKolse

    Jan. 12, 2021
  • AnuragMalik12

    Mar. 26, 2021

Introduction to Software Engineering

Views

Total views

5,736

On Slideshare

0

From embeds

0

Number of embeds

1,010

Actions

Downloads

253

Shares

0

Comments

0

Likes

4

×