lecture_01_software_engineering introduction .ppt

Logandata 8 views 17 slides Jun 14, 2024
Slide 1
Slide 1 of 17
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17

About This Presentation

Software engineering easy slides .


Slide Content

Introduction

Objective
•To familiarize students to the fundamental
concepts, techniques, processes, methods and
tools of Software Engineering,
•To help students to develop basic skills that will
enable them to construct software of high quality
–software that is reliable, and that is
reasonably easy to understand, modify and
maintain
•To foster an understanding of why these skills are
important

Topics Description
1 Introduction to
the Course and
Software
Engineering
Layoutofthecourseandoverallintroductionofthe
disciplineofSoftwareEngineeringandwhatwewill
coverinthecourse.
2 Software
Processes &
Software Process
Models
Generalintroductionofprocessesandsoftware
engineerprocesses.Discussionofdifferentprocess
modelsandtheirpracticalimplications.Theseprocess
modelsincludeWaterfallmodel,evolutionarymodels
andincrementalmodels.
3 Software Process
Models
(continued);
Analysis modeling
Softwareprocessmodelswillbecompletedinthefirst
lectureofthisweek.Analysisphaseofsoftware
engineeringwillbeintroduced.
4 Scenario based
modeling
Analysismodelingapproaches(Objectoriented
analysis;Floworientedanalysis).Topicswillinclude
requirementgatheringusingusecasediagrams,
Activitydiagrams,Swimlanediagrams.

5 Flow oriented
modeling
Dataflowdiagrams,Controlflowdiagrams,
processingnarratives
6 Behavioral
modeling
Statediagrams,Sequencediagrams
7 Class DiagramsHowtocreateinitialdomainmodelandhowto
developconceptualclassdiagram.Usefulnessof
domainmodel.
8 Software DesignGeneralIntroductionofObjectOrientedDesign
techniquesandmethods
9 Software
Architecture
Discussionofneedofexplicitlydefiningsoftware
architectureanditsbenefits.Whatareimportant
determinantofselectionofcertainarchitectureor
architecturestyle.Costandbenefitanalysisofwell
knowarchitecturalstyle

10Source Code
Management
Whatarecodingstandardshowessentialtheyare?
Discussionofsoftwareconfigurationmanagement
process
11Software TestingWhatissoftwaretestingprocess,whatmethods,tools
andtechniquesareusetoverifyandvalidatethe
software.Howsoftwaretestingprocessisdistributed
overentirelifecycleofsoftwaredevelopment.
12Software
Maintenance
Whathappenbetweensoftwareisdeployedtillthe
timeitisretired.Howsoftwareevolutionoccursand
howitismanaged.
13Software QualityWhatissoftwarequality,howcanweensurethat
softwarewedevelopisofacceptablequality.Software
qualityassurancesimperatives.
14Software Business
and Ethics
BusinessofsoftwareisfastbecomeamajorGNP
producer.Manyrulesandregulationaretheretoguide
softwareindustry.Howbusinessandregulation
softwareengineeringpractices.(SpecialReading)

Motivation

Software can have huge impact in
any aspect of our society

Where can we find software?

Some popular ones…

Some popular ones…

And even in…

Conclusion
Software is almost everywhere!!!

Problems in software development
•Common issues
–The final software does not fulfill the needs of the
customer
–Hard to extend and improve: if you want to add a
functionality later its mission impossible
–Bad documentation
–Bad quality: frequent errors, hard to use, ...
–More time and costs than expected

Software Engineering
1)The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software; that is
the application of engineering to software.
2)The study of approaches as in (1)
--IEEE Definition (1993)

Software Engineering
Objective is to produce software that is:
•On time: is deliver at the established date.
•Reliable: does not crash.
•Complete: good documentation, fulfill
customer needs.

Recommended Books
•Text Books
–Roger S. Pressman, Software Engineering,
A Practitioner’s Approach, Latest Edition,
2005.
–Ian Sommerville, Software Engineering,
2000.