Top Banner
MedTech Software Engineering Main Notions, Lifecycle Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1 MedTech – Mediterranean Institute of Technology Software Engineering MedTech
26

Software Engineering - chp0- introduction

Apr 09, 2017

Download

Technology

Lilia Sfaxi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Engineering - chp0- introduction

MedTech

Software EngineeringMain Notions, Lifecycle

Dr. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 1

MedTech – Mediterranean Institute of TechnologySoftware Engineering

MedTech

Page 2: Software Engineering - chp0- introduction

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. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 2

Software Engineering

Page 3: Software Engineering - chp0- introduction

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. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 3

Software Engineering

Page 4: Software Engineering - chp0- introduction

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

• Tra ining of educators in Rabat, Esprit University, Supcom/Isetcom

• Tra ining of students in INSAT, Esprit University, V irtual 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. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 4

Software Engineering

Page 5: Software Engineering - chp0- introduction

MedTech

Speaker Disclosure

Dr. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 5

Software Engineering

136,189

108

9,474

90

Page 6: Software Engineering - chp0- introduction

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. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 6

Software Engineering

Page 7: Software Engineering - chp0- introduction

MedTech

SOFTWARE ENGINEERING: AN INTRODUCTIONSoftware Engineer ing

Dr. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 7

Page 8: Software Engineering - chp0- introduction

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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 8

Software Engineering: An Introduction

Page 9: Software Engineering - chp0- 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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 9

Software Engineering: An Introduction

Page 10: Software Engineering - chp0- 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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 10

Software Engineering: An Introduction

Page 11: Software Engineering - chp0- 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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 11

Software Engineering: An Introduction

Page 12: Software Engineering - chp0- 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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 12

Software Engineering: An Introduction

Page 13: Software Engineering - chp0- 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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 13

Software Engineering: An Introduction

Page 14: Software Engineering - chp0- 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. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 14

Software Engineering: An Introduction

Page 15: Software Engineering - chp0- 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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 15

Software Engineering: An Introduction

Page 16: Software Engineering - chp0- 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 trivia l (like game playing) or extremely serious (like the dissemination of viruses)

• See the ACM/IEEE Code of Ethics!

Dr. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 16

Software Engineering: An Introduction

Page 17: Software Engineering - chp0- introduction

MedTech

SDLC: SOFTWARE DEVELOPMENT LIFECYCLESoftware Engineer ing

Dr. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 17

Page 18: Software Engineering - chp0- introduction

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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 18

SDLC: Software Development Lifecycle

Customer

Developer

Tester

Designer

Team

Project Manager

Page 19: Software Engineering - chp0- introduction

MedTech

SDLC : Steps

Dr. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 19

SDLC: Software Development Lifecycle

RequirementsAnalysis

Design

ImplementationTesting

Release

Page 20: Software Engineering - chp0- introduction

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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 20

SDLC: Software Development Lifecycle

R.A.

Design

CodeTest

Release

Page 21: Software Engineering - chp0- introduction

MedTech

Step 2 : Design

• Focus on the “How”• Break the problem into smaller pieces

• Components

• End Result: Design Specification

• Reviewed by:• Designer, Developer

Dr. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 21

SDLC: Software Development Lifecycle

R.A.

Design

CodeTest

Release

Page 22: Software Engineering - chp0- introduction

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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 22

SDLC: Software Development Lifecycle

R.A.

Design

CodeTest

Release

Page 23: Software Engineering - chp0- introduction

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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 23

SDLC: Software Development Lifecycle

R.A.

Design

CodeTest

Release

Page 24: Software Engineering - chp0- introduction

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. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 24

SDLC: Software Development Lifecycle

R.A.

Design

CodeTest

Release

Page 25: Software Engineering - chp0- introduction

MedTech

SDLC Challenges

Dr. L i l ia SFAXIw w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 25

SDLC: Software Development Lifecycle

Page 26: Software Engineering - chp0- introduction

MedTech

References

Dr. L i l ia SFAXI w w w.l i l iasfaxi .w ix.co m/ l i l iasfaxi

Sl id e 26

• L. Bonilla, Introduction to Software Engineer ing, Mentorpick.com, 2009

• Mr. Jackman's Computer Programming Class, Software Development L ifecycle , 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