+ All Categories
Home > Documents > KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By...

KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By...

Date post: 18-Jan-2016
Category:
Upload: della-holt
View: 216 times
Download: 1 times
Share this document with a friend
Popular Tags:
21
KUFA UNIVERSITY Department of Computer Science
Transcript
Page 1: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

KUFA UNIVERSITY

Department ofComputer Science

Page 2: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Fundamentals of Software Engineering

Presented ByPresented ByNeamah HassanNeamah Hassan

Presented ByPresented ByNeamah HassanNeamah Hassan

Page 3: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

discusses systematic and cost – effective techniques discusses systematic and cost – effective techniques to SW development to SW development

Software Engineering approach to develop sw

Software Engineering

Page 4: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Goals of study Goals of study Software Engineering

skill to participate in development of large software skill to participate in development of large software products products

learn how to effectively handle complexity in a learn how to effectively handle complexity in a software development problem software development problem

Page 5: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Life cycle modelLife cycle model

- describes the different activities that need to - describes the different activities that need to develop a (SW) and the develop a (SW) and the sequencing sequencing of these of these activities activities

- referred as referred as SDLCSDLC

- SW SW Life cycle Life cycle

Is a series of identifiable stages that a software Is a series of identifiable stages that a software product undergoes during its lifetime product undergoes during its lifetime

Page 6: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

AdvAdv

- encourages development of SW in semantic and - encourages development of SW in semantic and discipline manner discipline manner

- Produce good quality products without time and cost - Produce good quality products without time and cost overruns overruns

Page 7: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Documentation purposeDocumentation purpose

- a common understanding to S/W engineers and - a common understanding to S/W engineers and helps to develop SW in semantic and discipline helps to develop SW in semantic and discipline manner manner

- helps to identify inconsistencies , redundancies and - helps to identify inconsistencies , redundancies and omissions in the development process omissions in the development process

- Tailoring process become easy Tailoring process become easy

- Preventing the misinterpretations that occurPreventing the misinterpretations that occur

Page 8: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

There are four models to design life cycleThere are four models to design life cycle

1- waterfall model1- waterfall model

2- prototype model 2- prototype model

3- evolutionary model 3- evolutionary model

4- spiral model 4- spiral model

Page 9: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

waterfall modelwaterfall model

- basic model and most obvious therefore we should - basic model and most obvious therefore we should be understand this model well . be understand this model well .

- not practical , cant be used in the actual S/W - not practical , cant be used in the actual S/W development project . development project .

- theoretical way - theoretical way

- All other models based on classical All other models based on classical waterfall modelwaterfall model

Page 10: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Cont..Cont..

- classical waterfall model divided life cycle model classical waterfall model divided life cycle model into phases into phases

Feasibility study Feasibility study

- Requirements analysis and specification Requirements analysis and specification

- Design Design

- CodingCoding

- TestingTesting

- MaintenanceMaintenance

Page 11: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Cont..Cont..

- This model is sequential bcz execute every phase This model is sequential bcz execute every phase one after one one after one

- Advantage ? Advantage ?

- Disadvantage ? Disadvantage ?

Page 12: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Feasibility study Feasibility study

- Aim Aim

To determine whether it would be financially and To determine whether it would be financially and technically feasible to develop the product technically feasible to develop the product

- Understand the exact requirements of the Understand the exact requirements of the customer and to document it properly customer and to document it properly

- Two phase Two phase

- Requirements gathering and analysis

- Requirements specification

- Requirements analysis and specification

Page 13: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Cont … Cont …

Goal of Goal of Requirements gathering

-Collect the relevant info related to the product Collect the relevant info related to the product

-Goal of Goal of Requirements analysis

-Weed out the Weed out the incompletenessincompleteness and and inconsistenciesinconsistencies

In these In these Requirements

Page 14: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

- Requirements specification

Customer Customer Requirements are organized into software requirement specification ( SRS ) document.

Content of ( SRS )

1- function Requirements

2- non – function 2- non – function Requirements

Page 15: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

( SRS )

- ( SRS ) document is written using end user ( SRS ) document is written using end user terminology terminology

- Its important that the ( SRS ) document br Its important that the ( SRS ) document br reviewed and approved by the customer reviewed and approved by the customer

- Serve as contract between the customer and Serve as contract between the customer and development team development team

- Any feature dispute between customer and Any feature dispute between customer and developers can be settles by examining the ( SRS ) developers can be settles by examining the ( SRS ) document document

Page 16: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Design

- Transform the requirements specified in SRS Transform the requirements specified in SRS document in to structure that is suitable for document in to structure that is suitable for implementation.implementation.

- Translate the S/W design into source code Translate the S/W design into source code

- Called as implementation phase Called as implementation phase

Coding

Page 17: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Testing

- Each module is unit tested Each module is unit tested

- Unit tested involves Unit tested involves ( testing each module in ( testing each module in isolation from other module , isolation from other module , debugging, and debugging, and documenting it documenting it ) )

- To determine the correct working To determine the correct working

- Integration Integration is undertaken once they have been is undertaken once they have been coded and unit tested coded and unit tested

- System testing :- System testing :- to unsure that the developed to unsure that the developed system conforms to its requirements laid out in the system conforms to its requirements laid out in the SRS document SRS document

Page 18: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Cont…

There are three different kinds of System testingThere are three different kinds of System testing

1-alpha testing 1-alpha testing

The system performed by development teamThe system performed by development team

2- B testing 2- B testing

the system testing performed by a friendly set of the system testing performed by a friendly set of customers customers

3 – Acceptance testing 3 – Acceptance testing

the system testing performed by customer him self the system testing performed by customer him self after the product delivery after the product delivery

Page 19: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Maintenance

There are three different kinds of There are three different kinds of Maintenance

1- corrective 1- corrective Maintenance

Involves correcting errors that were not discovered during product development phase

2- perfective Maintenance

Involve improving the implementation of system and enhancing the functionalities of system according to customer requirements

3- adaptive Maintenance

Porting the S/W work in to new environment

Page 20: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

NEXT LECTURE

Prototype model Prototype model

Evolutionary model Evolutionary model

Spiral model Spiral model

Page 21: KUFA UNIVERSITY Department of Computer Science. Fundamentals of Software Engineering Presented By Neamah Hassan Presented By Neamah Hassan.

Recommended