SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
MedTech
Software Engineering
Main Notions, Lifecycle
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
MedTech – Mediterranean Institute of Technology
Software Engineering
MedTech
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
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
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
MedTech
Speaker Disclosure
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Software Engineering
136,189
108
9,474
90
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
MedTech
SOFTWARE ENGINEERING: AN INTRODUCTION
Software Engineering
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
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
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
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
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
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
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
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
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
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
MedTech
SDLC: SOFTWARE DEVELOPMENT LIFECYCLE
Software Engineering
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 17
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
MedTech
SDLC : Steps
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 19
SDLC: Software Development Lifecycle
Requirements
Analysis
Design
ImplementationTesting
Release
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
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
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
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
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
MedTech
SDLC Challenges
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 25
SDLC: Software Development Lifecycle
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

Mais conteúdo relacionado

Mais procurados

Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development Julien Henzelin
 
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSIAprès l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSISébastien Bourguignon
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservicesRiadh MNASRI
 
Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agilesguesta206aa87
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptxboulonvert
 
Formation autour de git et git lab
Formation autour de git et git labFormation autour de git et git lab
Formation autour de git et git labAbdelghani Azri
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche DevopsRomain Chalumeau
 
Jira Basic Concepts
Jira Basic ConceptsJira Basic Concepts
Jira Basic ConceptsMAKSTraining
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesStéphane Di Cioccio
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodologyAmit Verma
 
Agile Project Management with Scrum
Agile Project Management with ScrumAgile Project Management with Scrum
Agile Project Management with ScrumAditya Raj
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logicielMajid CHADAD
 

Mais procurados (20)

Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
SCRUM – Agile Methodology
SCRUM – Agile MethodologySCRUM – Agile Methodology
SCRUM – Agile Methodology
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development
 
Sdlc
SdlcSdlc
Sdlc
 
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSIAprès l’#agilité, le #DevOps, la nouvelle arme de la DSI
Après l’#agilité, le #DevOps, la nouvelle arme de la DSI
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 
Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agiles
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptx
 
Formation autour de git et git lab
Formation autour de git et git labFormation autour de git et git lab
Formation autour de git et git lab
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche Devops
 
Jira Basic Concepts
Jira Basic ConceptsJira Basic Concepts
Jira Basic Concepts
 
Agile
AgileAgile
Agile
 
Cours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweightCours design pattern m youssfi partie 7 facade bridge flyweight
Cours design pattern m youssfi partie 7 facade bridge flyweight
 
Presentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequencesPresentation DevOps : enjeux , objectifs, consequences
Presentation DevOps : enjeux , objectifs, consequences
 
Introduction agile scrum methodology
Introduction agile scrum methodologyIntroduction agile scrum methodology
Introduction agile scrum methodology
 
Agile Project Management with Scrum
Agile Project Management with ScrumAgile Project Management with Scrum
Agile Project Management with Scrum
 
Presentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDGPresentation-DEVOPS-par-GDG
Presentation-DEVOPS-par-GDG
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 

Destaque

Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- designLilia Sfaxi
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phaseLilia Sfaxi
 
Software Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationSoftware Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationLilia Sfaxi
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- testsLilia Sfaxi
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architectureLilia Sfaxi
 

Destaque (6)

Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 
Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phase
 
Software Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationSoftware Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specification
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- tests
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 

Semelhante a Software Engineering - chp0- introduction

Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 
Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?XebiaLabs
 
Working with Developers
Working with DevelopersWorking with Developers
Working with DevelopersPaul Walk
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineeringinfinitetechnology20
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesCMDLMS
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsIBM UrbanCode Products
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Jkumararaja
 
Kaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And UpdateKaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And UpdateKaseya
 

Semelhante a Software Engineering - chp0- introduction (20)

Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
ppt chapter 1.ppt
ppt chapter 1.pptppt chapter 1.ppt
ppt chapter 1.ppt
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
merged (1).pdf
merged (1).pdfmerged (1).pdf
merged (1).pdf
 
Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?Is Your DevOps Ready to Scale?
Is Your DevOps Ready to Scale?
 
Working with Developers
Working with DevelopersWorking with Developers
Working with Developers
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
Comp8 unit5 lecture_slides
Comp8 unit5 lecture_slidesComp8 unit5 lecture_slides
Comp8 unit5 lecture_slides
 
From XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOpsFrom XP and Continuous Integration to DevOps
From XP and Continuous Integration to DevOps
 
Ch01.ppt
Ch01.pptCh01.ppt
Ch01.ppt
 
Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)Chapter1 conventional softwaremanagement (1)
Chapter1 conventional softwaremanagement (1)
 
Kaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And UpdateKaseya Connect 2012 - Deploying Apps With Software Deployment And Update
Kaseya Connect 2012 - Deploying Apps With Software Deployment And Update
 
Unit1
Unit1Unit1
Unit1
 

Mais de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 

Mais de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2-UML-Classes
TD2-UML-ClassesTD2-UML-Classes
TD2-UML-Classes
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 

Último

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 

Último (20)

How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 

Software Engineering - chp0- introduction

  • 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. 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. 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. 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. MedTech Speaker Disclosure Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Software Engineering 136,189 108 9,474 90
  • 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. MedTech SOFTWARE ENGINEERING: AN INTRODUCTION Software Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. MedTech SDLC: SOFTWARE DEVELOPMENT LIFECYCLE Software Engineering Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17
  • 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. MedTech SDLC : Steps Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 19 SDLC: Software Development Lifecycle Requirements Analysis Design ImplementationTesting Release
  • 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. 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. 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. 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. 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. MedTech SDLC Challenges Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 25 SDLC: Software Development Lifecycle
  • 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