cen 4021 1 st lecture cen 4021 software engineering ii instructor: masoud sadjadi sadjadi/...

15
CEN 4021 1 st Lecture CEN 4021 CEN 4021 Software Engineering II Software Engineering II Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/ [email protected] Introduction: Introduction: hat is Software Project Management hat is Software Project Management

Upload: prosper-black

Post on 29-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

CEN 4021 1st Lecture

CEN 4021 CEN 4021 Software Engineering II Software Engineering II

Instructor: Masoud Sadjadi

http://www.cs.fiu.edu/~sadjadi/

[email protected]

Introduction: Introduction: What is Software Project Management?What is Software Project Management?

Page 2: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

AcknowledgementsAcknowledgements

Dr. Onyeka Ezenwoye

Dr. Peter Clarke

Dr. Betty Cheng

Dr. Bernd Bruegge

Dr. Allen Dutoit

2

Page 3: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

What is software?What is software?

Software– Computer programs and associated

documentation

Documentation includes– requirements– design models– user manuals– configuration file

Page 4: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

SoftwareSoftware

Software artifact – A unit of material, in the form of a document, presentation, or code, that is developed as a part of, or as a contribution to, the final solution to the users.

Code – A set of instructions to a device, possibly a computing device, to perform a desired set of instructions.

Page 5: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

Software everywhere!Software everywhere!

More and more systems are software controlled Expenditure on software represents a

significant fraction of investment in all developed countries.

40 million

86 million

Page 6: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

What is software What is software engineering?engineering?

A systematic approach to developing software.

“Methods and techniques to develop and maintain quality software to solve problems.”

[Pfleeger, 1990]

“Study of the principles and methodologies for developing and maintaining software systems.”

[Zelkowitz, 1978]

“Software engineering is an engineering discipline which is concerned with all aspects of software production.”

[Sommerville]6

Page 7: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II 7

What is software What is software engineering?engineering?

“Practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate, and maintain them.”

[Boehm, 1976]

“Deals with establishment of sound engineering principles and methods in order to economically obtain software that is reliable and works on real machines.”

[Bauer, 1972]

Page 8: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

What is software What is software engineering?engineering?

Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available.

Software engineering is concerned with theories, methods and tools for professional software development.

To produce quality software within constraints– Time & Cost

Page 9: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

What is a software process?What is a software process?

A set of activities whose goal is the development or evolution of software.

Generic activities in all software processes are:– Specification - what the system should do and its development

constraints– Development - production of the software system– Validation - checking that the software is what the customer wants– Evolution - changing the software in response to changing

demands.

Page 10: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

What is Software Project What is Software Project Management?Management?

Software project management is concerned with ensuring that, for a software project, – the most appropriate process and methodologies are

chosen, – the desired internal product structure is attained and – the external product properties are achieved.

In addition, the project management constraints of schedule and resources must be met.

[Tsui ’04]

Page 11: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

Why Software Project Why Software Project Management?Management?

Cost, cost, cost!!!

& Time, time, time!!!

$250 Billion is spent each year on approx. 175,000 information technology (IT) application projects.

31% of all the above projects will fail and 53% of the projects will overrun the original cost estimates i.e. $81 billion wasted or canceled projects.

US. Standish Group’s Chaos report.

Page 12: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

Why is SPM difficult?Why is SPM difficult?

The product is intangible:– Software cannot be seen or touched. – It is difficult to see and measure progress.

There are no standard software processes.– S/w process varies from one organization to another.– Effect are readily seen when the s/w project is part of a

wider systems engineering project.

Page 13: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

Why is SPM difficult?Why is SPM difficult?

Large software projects are often ‘one-of-a-kind’ projects.– Usually s/w projects differ in some ways from previous

projects.– Experience gained on one project may not work for

another project.– Technological changes in computers and

communications can make a manager’s experience obsolete.

[Sommerville ’04]

Page 14: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

SPM ActivitiesSPM Activities

Software Project Management activities include:– Proposal writing– Project planning and scheduling– Project cost– Project monitoring and reviews– Personnel selection and evaluation– Report writing and presentations

Page 15: CEN 4021 1 st Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.eduIntroduction: What

1st LectureCEN 4021: Software Engineering II

Phases of SPMPhases of SPM

The previous management activities are captured using the acronym POMA:

– Planning

– Organizing

– Monitoring

– Adjusting