is444: modern tools for applications development dr. azeddine chikh
DESCRIPTION
Software Software is intangible Software is complex Software is easy to reproduce The industry is labor-intensive Untrained people can hack something together Software is easy to modify Software does not ‘wear out’ 3TRANSCRIPT
![Page 1: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/1.jpg)
IS444: Modern tools for applications development
Dr. Azeddine Chikh
![Page 2: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/2.jpg)
Part 1.Object-Oriented Software Engineering
Chapter1: Software engineering
![Page 3: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/3.jpg)
Software Software is intangible Software is complex Software is easy to reproduce The industry is labor-intensive Untrained people can hack something together Software is easy to modify Software does not ‘wear out’
3
![Page 4: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/4.jpg)
Software Much software has poor design and is getting
worse Demand for software is high and rising We are in a perpetual ‘software crisis’ We have to learn to ‘engineer’ software
4
![Page 5: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/5.jpg)
Software taxonomy Custom
For a specific customer Generic
Sold on open market Often called COTS (Commercial Off The Shelf)
Embedded Built into hardware Hard to change
5
![Page 6: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/6.jpg)
Software taxonomy
Custom Generic Embedded Number of copies in use
low medium high
Total processing power devoted to running this type of software
low high medium
Worldwide annual development effort
high medium low
6
![Page 7: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/7.jpg)
Software taxonomy Real time software
E.g. control and monitoring systems Must react immediately Safety often a concern
Data processing software Used to run businesses Accuracy and security of data are key
Some software has both aspects
7
![Page 8: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/8.jpg)
Software engineering
1. The process of solving customers’ problems by the systematic development and evolution of large, high-quality software systems within cost, time and other constraints
8
![Page 9: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/9.jpg)
Software engineering
2. IEEE: the application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance of software; that is, the application of engineering to software.
9
![Page 10: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/10.jpg)
Software engineering
3. The Canadian Standards Association: The systematic activities involved in the design, implementation and testing of software to optimize its production and support.
10
![Page 11: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/11.jpg)
Software stakeholders
1. Users2. Customers3. Developers4. Development Managers
All four roles can be fulfilled by the same person
11
![Page 12: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/12.jpg)
Software quality Usability Efficiency Reliability Maintainability Reusability
12
![Page 13: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/13.jpg)
Software quality
QUALITY
Developer easy to design; easy to maintain; easy to reuse its parts
User easy to learn; efficient to use; helps get work done
Customersolves problems at an acceptable cost in terms of money paid and resources used
Development manager sells more and pleases customers while costing less to develop and maintain
13
![Page 14: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/14.jpg)
Software project activities Requirements and specification
Domain analysisDefining the problemRequirements gatheringRequirements analysisRequirements specification
14
![Page 15: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/15.jpg)
Software project activities Design
Systems engineeringSoftware architecture:Detailed design of the internals of a subsystemUser interface designDesign of databases
15
![Page 16: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/16.jpg)
Software project activities Modeling Programming Document preparation and production Software configuration management Quality assurance Deployment Managing the process Risk management
16
![Page 17: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/17.jpg)
Process as Problem Solving
17
statusquo
problemdefinition
technicaldevelopment
solutionintegration
![Page 18: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/18.jpg)
Software life cycle Basic models
Linear model Waterfall model V model X model
Strategic models Incremental model Spiral model Iterative models : Prototyping and RAD
18
![Page 19: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/19.jpg)
Linear model
19
analysis design code test
System/informationengineering
![Page 20: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/20.jpg)
Waterfall model
20
![Page 21: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/21.jpg)
V model
21
![Page 22: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/22.jpg)
Incremental model
22
analysis design code test
System/informationengineering
analysis design code test
analysis design code test
analysis design code test
increment 2
increment 3
increment 4
increment 1
delivery of1st increment
delivery of2nd increment
delivery of3rd increment
delivery of4th increment
calendar time
![Page 23: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/23.jpg)
Spiral model
23
CustomerCommunication
Planning
Construction & ReleaseCustomerEvaluation
Engineering
Risk Analysis
![Page 24: IS444: Modern tools for applications development Dr. Azeddine Chikh](https://reader036.vdocuments.mx/reader036/viewer/2022062412/5a4d1af17f8b9ab05997e412/html5/thumbnails/24.jpg)
Iterative models
24
listento
customerbuild/revise
mock-up
customertest-drivesmock-up
businessmodeling
datamodeling
processmodeling
applicationgeneration
testing&
turnover
businessmodeling
datamodeling
processmodeling
applicationgeneration
testing&
turnover
businessmodeling
datamodeling
processmodeling
applicationgeneration
testing&
turnover
team #1
team #2team #3
60 - 90 days
Prototyping
RAD