Presentation is loading. Please wait.

Presentation is loading. Please wait.

IS444: Modern tools for applications development Dr. Azeddine Chikh.

Similar presentations


Presentation on theme: "IS444: Modern tools for applications development Dr. Azeddine Chikh."— Presentation transcript:

1 IS444: Modern tools for applications development Dr. Azeddine Chikh

2 Part 1.Object-Oriented Software Engineering Chapter1: Software engineering

3 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

4 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

5 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

6 Software taxonomy 6

7 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

8 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

9 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

10 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

11 Software stakeholders 1. Users 2. Customers 3. Developers 4. Development Managers All four roles can be fulfilled by the same person 11

12 Software quality Usability Efficiency Reliability Maintainability Reusability 12

13 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 Customer solves 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

14 Software project activities Requirements and specification  Domain analysis  Defining the problem  Requirements gathering  Requirements analysis  Requirements specification 14

15 Software project activities Design  Systems engineering  Software architecture:  Detailed design of the internals of a subsystem  User interface design  Design of databases 15

16 Software project activities Modeling Programming Document preparation and production Software configuration management Quality assurance Deployment Managing the process Risk management 16

17 Process as Problem Solving 17

18 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

19 Linear model 19

20 Waterfall model 20

21 V model 21

22 Incremental model 22

23 Spiral model 23

24 Iterative models 24 Prototyping RAD


Download ppt "IS444: Modern tools for applications development Dr. Azeddine Chikh."

Similar presentations


Ads by Google