SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Introduction
                                     Loganathan R



  Prof. R. Loganathan, CSE, HKBKCE            1
Objectives
• Understand what software engineering is
  and its importance
• Know the answers to key questions about
  software engineering
• Understand ethical and professional issues
  that are important for software engineers


Prof. R. Loganathan, CSE, HKBKCE            2
Software costs
• Software costs often dominate computer system
  costs. The costs of software on a PC are often
  greater than the hardware cost.
• Software costs more to maintain than it does to
  develop. For systems with a long life, maintenance
  costs may be several times development costs.
• Software engineering is concerned with cost-
  effective software development.

                  Prof. R. Loganathan, CSE, HKBKCE   3
Software engineering
• Software engineering is concerned with
  theories, methods and tools for professional
  software development.
• First proposed in 1968 at a conference held
  to discuss ‘Software Crisis’
• Informal software development is NOT
  enough for large & complex systems.
• Developed effective methods of S/W
  Specification, Design & Implementation
                Prof. R. Loganathan, CSE, HKBKCE   4
FAQs about SE:

              1.What is software?
• Computer programs and associated documentation such as
  requirements, design models and user manuals.
• Two fundamental types of software Products
• Generic Products
   • Developed to be sold to a range of different customers e.g. PC software such
     as Excel or Word.
• Customised or Bespoke Products
   • developed for a single customer according to their specification.
• The difference is, for generic products the s/w specification is
  controlled by organisation(developed), for Customer products it is
  the buying organisation.



                            Prof. R. Loganathan, CSE, HKBKCE                   5
FAQs about SE:
2.What is software engineering?
 • Software engineering is an engineering discipline
   that is concerned with all aspects of software
   production.
 • 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.

                   Prof. R. Loganathan, CSE, HKBKCE   6
FAQs about SE:
3.What is the difference between software
   engineering and computer science?
• Computer Science is concerned with theory and
  fundamentals.
• Software Engineering is concerned with the
  practicalities of developing and delivering useful
  software.
• Computer Science theories are still insufficient(unlike
  Physics & Electrical) to act as a complete
  underpinning for software engineering (often use of
  ad hoc approaches).

                    Prof. R. Loganathan, CSE, HKBKCE    7
FAQs about SE:
4. What is the difference between software
   engineering and system engineering?
• System engineering is concerned with all aspects of
  computer-based systems development including
  hardware, software and process engineering.
• Software engineering is part of this process
  concerned      with     developing     the    software
  infrastructure, control, applications and databases in
  the system.
• System engineers are involved in system specification,
  architectural design, integration and deployment.

                    Prof. R. Loganathan, CSE, HKBKCE   8
FAQs about SE:

  5.What is a software process?
• A set of activities and associated results that produce
  a software product.
• Four common Fundamental process activities in all
  software processes are:
  • Specification - what the system should do and its
    development constraints.
  • Development - software system design and programming.
  • Validation - checking that the software is what the
    customer wants.
  • Evolution - changing the software in response to changing
    demands.

                     Prof. R. Loganathan, CSE, HKBKCE       9
FAQs about SE:
6. What is a software process model?
 • A simplified representation of a software process, presented from a
   specific perspective(one’s view).
 • Examples of process perspectives are
    – Workflow Model (perspective )- Shows sequence of activities in the process with
      i/p, o/p and dependencies;
    – Data-flow or Activity Model(perspective) – represents a set activities, which
      carries out some data transformation(shows how i/p to the process(spec) is
      transformed to o/p(design).
    – Role/action model(perspective) – roles of the people & activities for which the
      are responsible(who does what).
 • Generic process models
    – Waterfall – above activities are represented as separate process phase as
      specification, design, implementation, testing and so on;
    – Iterative development – interleaves the activities of spec., development &
      validation;
    – Component-based software engineering(CBSE)-focuses on integrating existing
      parts .

                              Prof. R. Loganathan, CSE, HKBKCE                     10
FAQs about SE:
7. What are the costs of software engineering?
  • Roughly 60% of costs are development costs, 40%
    are testing costs. For custom software, evolution
    costs often exceed development costs.
  • Costs vary depending on the type of system being
    developed and the requirements of system
    attributes such as performance and system
    reliability.
  • Distribution of costs depends on the development
    model that is used.

                    Prof. R. Loganathan, CSE, HKBKCE   11
Activity cost distribution
 Wat erfall model
0                         25                        50                         75                    100



    Specification         Design                Development             Integ ration and testing



 It erative development

0                         25                        50                        75                     1 00



 Specification              Iterative development                                   System testing


 Component-based software eng        ineering

0                         25                        50                        75                     1 00



 Specification       Development                                     Integ ration and testing


 Development and evolution costs for long-lifetime syst        ems
0                         10                        200                        30                     400



     System development                                   System evolution

                          Prof. R. Loganathan, CSE, HKBKCE                                                  12
Product development costs


   0                 25                        50                        75       100



Specification   Development                                      System testing




                              Prof. R. Loganathan, CSE, HKBKCE                          13
FAQs about SE:
8.What are software engineering methods?
 • Structured approach to software development(Quality in a Cost
   effective way) which include system models, notations, rules,
   design advice and process guidance.
 • Methods
     Structured Analysis(Function Oriented)(1970)
     Object Oriented(1980s&1990s)
     UML(integrated into single approach)
 • Components used in these methods:
    • Model descriptions
        • Descriptions of graphical models which should be produced;
    • Rules
        • Constraints applied to system models;
    • Recommendations
        • Advice on good design practice;
    • Process guidance
        • What activities to follow.

                                   Prof. R. Loganathan, CSE, HKBKCE    14
FAQs about SE:

             9. What is CASE?
• Computer-Aided Software Engineering.
• Software systems that are intended to provide automated
  support for software process activities(requirement
  analysis, system modelling ,testing & debugging).
• CASE systems are often used for method support.




                    Prof. R. Loganathan, CSE, HKBKCE   15
FAQs about SE:
10. What are the attributes of good software?
 • The software should deliver the required functionality and
   performance to the user and should be maintainable, dependable
   and acceptable.
 • Maintainability
    – Software must evolve to meet changing needs of customer;
 • Dependability
    – Software must be trustworthy(reliability, security & safety) ;
 • Efficiency
    – Software should not make wasteful use of system resources(memory/CPU);
 • Acceptability
    – Software must accepted by the users for which it was designed. This means it
      must be understandable, usable and compatible with other systems.


                              Prof. R. Loganathan, CSE, HKBKCE                  16
FAQs about SE:
11.What are the key challenges facing software engineering?
  • Heterogeneity, delivery and trust.
  • Heterogeneity Challenge
     – Developing techniques for building software that can cope with
       heterogeneous platforms and execution environments(Distributed systems);
  • Delivery Challenge
     – Developing techniques that lead to faster delivery of large and complex
       systems without compromising quality;
  • Trust Challenge
     – Developing techniques that demonstrate that software can be trusted by its
       users.




                             Prof. R. Loganathan, CSE, HKBKCE                  17
Professional and ethical responsibility
• Software        engineering   involves    wider
  responsibilities than simply the application of
  technical skills.
• Software engineers must behave in an honest and
  ethically responsible way if they are to be
  respected as professionals.
• Ethical behaviour is more than simply upholding
  the law.

                 Prof. R. Loganathan, CSE, HKBKCE   18
Issues of professional responsibility
• Confidentiality
  – Engineers should normally respect the confidentiality
    of their employers or clients irrespective of whether or
    not a formal confidentiality agreement has been
    signed.
• Competence
  – Engineers should not misrepresent their level of
    competence. They should not knowingly accept work
    which is outwith their competence.


                    Prof. R. Loganathan, CSE, HKBKCE      19
Issues of professional responsibility
• Intellectual property rights
   – Engineers should be aware of local laws governing the use of
     intellectual property such as patents, copyright, etc. They should
     be careful to ensure that the intellectual property of employers
     and clients is protected.
• Computer misuse
   – Software engineers should not use their technical skills to
     misuse other people’s computers. Computer misuse ranges from
     relatively trivial (game playing) to extremely serious
     (dissemination of viruses).


                        Prof. R. Loganathan, CSE, HKBKCE             20
ACM/IEEE Code of Ethics
• The professional societies in the US have
  cooperated to produce a code of ethical practice.
• Members of these organisations sign up to the
  code of practice when they join.
• The Code contains EIGHT Principles related to the
  behaviour of and decisions made by professional
  software engineers, including practitioners,
  educators, managers, supervisors and policy
  makers, as well as trainees and students of the
  profession.

                  Prof. R. Loganathan, CSE, HKBKCE   21
Code of ethics - principles
• PUBLIC
  – Software engineers shall act consistently with the public
    interest.
• CLIENT AND EMPLOYER
  – Software engineers shall act in a manner that is in the best
    interests of their client and employer consistent with the public
    interest.
• PRODUCT
  – Software engineers shall ensure that their products and related
    modifications meet the highest professional standards possible.

                       Prof. R. Loganathan, CSE, HKBKCE            22
Code of ethics - principles
• JUDGMENT
  – Software engineers shall maintain integrity and independence in
    their professional judgment.
• MANAGEMENT
  – Software engineering managers and leaders shall subscribe to
    and promote an ethical approach to the management of
    software development and maintenance.
• PROFESSION
  – Software engineers shall advance the integrity and reputation of
    the profession consistent with the public interest.

                       Prof. R. Loganathan, CSE, HKBKCE           23
Code of ethics - principles
• COLLEAGUES
  – Software engineers shall be fair to and supportive of
    their colleagues.
• SELF
  – Software engineers shall participate in lifelong learning
    regarding the practice of their profession and shall
    promote an ethical approach to the practice of the
    profession.


                     Prof. R. Loganathan, CSE, HKBKCE      24
Ethical dilemmas
• Disagreement in principle with the policies of
  senior management.
• Your employer acts in an unethical way and
  releases a safety-critical system without finishing
  the testing of the system.
• Participation in the development of military
  weapons systems or nuclear systems.


                   Prof. R. Loganathan, CSE, HKBKCE   25

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringAnwarrChaudary
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-softwareAlenaDion
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering Ialamzeb123
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Cs504 handouts 1_45
Cs504 handouts 1_45Cs504 handouts 1_45
Cs504 handouts 1_45Ahsan Younis
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineeringtanni821216
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineeringSHREEHARI WADAWADAGI
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1IIUI
 
CSC426 - Software Engineering Lecture Note
CSC426   - Software Engineering Lecture NoteCSC426   - Software Engineering Lecture Note
CSC426 - Software Engineering Lecture NoteBro Shola Ajayi
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringRasan Samarasinghe
 

Was ist angesagt? (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Cs504 handouts 1_45
Cs504 handouts 1_45Cs504 handouts 1_45
Cs504 handouts 1_45
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Introduction to Software Enigneering
Introduction to Software Enigneering Introduction to Software Enigneering
Introduction to Software Enigneering
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SECh123
SECh123SECh123
SECh123
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1
 
Ch1
Ch1Ch1
Ch1
 
CSC426 - Software Engineering Lecture Note
CSC426   - Software Engineering Lecture NoteCSC426   - Software Engineering Lecture Note
CSC426 - Software Engineering Lecture Note
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
DISE - Introduction to Software Engineering
DISE - Introduction to Software EngineeringDISE - Introduction to Software Engineering
DISE - Introduction to Software Engineering
 

Andere mochten auch

Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Individual differences and call ppt
Individual differences and call pptIndividual differences and call ppt
Individual differences and call pptgianbisa
 
#ThroughGlass : An Introduction to Google Glass
#ThroughGlass : An Introduction to Google Glass#ThroughGlass : An Introduction to Google Glass
#ThroughGlass : An Introduction to Google GlassNick Moline
 
Yadira's 37th presentation
Yadira's 37th presentationYadira's 37th presentation
Yadira's 37th presentationDenis Martinez
 
Sarcs sexii power point final
Sarcs sexii power point finalSarcs sexii power point final
Sarcs sexii power point finalMichael Greenwell
 
Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1Dr. Loganathan R
 
Guide To Qrops Pension Planning
Guide To Qrops Pension PlanningGuide To Qrops Pension Planning
Guide To Qrops Pension Planninggregsmithhk
 
Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...
Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...
Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...Nick Moline
 
Who are SBS.doc
Who are SBS.docWho are SBS.doc
Who are SBS.docSally15
 
European empires and conquest
European empires and conquestEuropean empires and conquest
European empires and conquestsantana_dianag
 
Justia and Amazon CloudSearch
Justia and Amazon CloudSearchJustia and Amazon CloudSearch
Justia and Amazon CloudSearchNick Moline
 
Providing Access for Spanish Speaking Patrons
Providing Access for Spanish Speaking PatronsProviding Access for Spanish Speaking Patrons
Providing Access for Spanish Speaking Patronstomastoro
 
world with problem
world with problemworld with problem
world with problemarcjoan
 

Andere mochten auch (20)

Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
CV (ACCOUNTANT)
CV (ACCOUNTANT)CV (ACCOUNTANT)
CV (ACCOUNTANT)
 
Individual differences and call ppt
Individual differences and call pptIndividual differences and call ppt
Individual differences and call ppt
 
#ThroughGlass : An Introduction to Google Glass
#ThroughGlass : An Introduction to Google Glass#ThroughGlass : An Introduction to Google Glass
#ThroughGlass : An Introduction to Google Glass
 
Yadira's 37th presentation
Yadira's 37th presentationYadira's 37th presentation
Yadira's 37th presentation
 
Ning post #3
Ning post #3Ning post #3
Ning post #3
 
Sarcs sexii power point final
Sarcs sexii power point finalSarcs sexii power point final
Sarcs sexii power point final
 
DJKrush
DJKrushDJKrush
DJKrush
 
Ning post #2
Ning post #2Ning post #2
Ning post #2
 
Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1
 
Guide To Qrops Pension Planning
Guide To Qrops Pension PlanningGuide To Qrops Pension Planning
Guide To Qrops Pension Planning
 
Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...
Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...
Second Stage Booster: Optimizing Drupal and Wordpress for SEO, Speed and Soci...
 
Who are SBS.doc
Who are SBS.docWho are SBS.doc
Who are SBS.doc
 
Stres na drodze - raport
Stres na drodze - raportStres na drodze - raport
Stres na drodze - raport
 
European empires and conquest
European empires and conquestEuropean empires and conquest
European empires and conquest
 
Justia and Amazon CloudSearch
Justia and Amazon CloudSearchJustia and Amazon CloudSearch
Justia and Amazon CloudSearch
 
Ning post 2
Ning post 2Ning post 2
Ning post 2
 
Providing Access for Spanish Speaking Patrons
Providing Access for Spanish Speaking PatronsProviding Access for Spanish Speaking Patrons
Providing Access for Spanish Speaking Patrons
 
Moby
MobyMoby
Moby
 
world with problem
world with problemworld with problem
world with problem
 

Ähnlich wie Software engineering introduction

MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Education Front
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
Software Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxSoftware Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxomgadekar25
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxssuserdee5bb1
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notesGarima Singh
 
香港六合彩
香港六合彩香港六合彩
香港六合彩pchgmf
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideSharehcslenk
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩tnxaht
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩eqhnwl
 
六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩bxuket
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩ohtpwshx
 

Ähnlich wie Software engineering introduction (20)

1 introduction
1 introduction1 introduction
1 introduction
 
1 introduction (1)
1 introduction (1)1 introduction (1)
1 introduction (1)
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
 
Software process
Software processSoftware process
Software process
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
Software Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptxSoftware Engineering PPT Unit I.pptx
Software Engineering PPT Unit I.pptx
 
RRC RUP
RRC RUPRRC RUP
RRC RUP
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
se
sese
se
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩
 
六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 

Mehr von Dr. Loganathan R

Ch 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdfCh 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdfDr. Loganathan R
 
IoT Sensing and Actuation.pdf
 IoT Sensing and Actuation.pdf IoT Sensing and Actuation.pdf
IoT Sensing and Actuation.pdfDr. Loganathan R
 
Program in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointersProgram in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointersDr. Loganathan R
 
Implement a queue using two stacks.
Implement a queue using two stacks.Implement a queue using two stacks.
Implement a queue using two stacks.Dr. Loganathan R
 
Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Dr. Loganathan R
 
Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1Dr. Loganathan R
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information SecurityDr. Loganathan R
 
Mcs 012 computer organisation and assemly language programming- ignou assignm...
Mcs 012 computer organisation and assemly language programming- ignou assignm...Mcs 012 computer organisation and assemly language programming- ignou assignm...
Mcs 012 computer organisation and assemly language programming- ignou assignm...Dr. Loganathan R
 

Mehr von Dr. Loganathan R (20)

Ch 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdfCh 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdf
 
IoT Sensing and Actuation.pdf
 IoT Sensing and Actuation.pdf IoT Sensing and Actuation.pdf
IoT Sensing and Actuation.pdf
 
Ch 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdfCh 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdf
 
Program in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointersProgram in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointers
 
Implement a queue using two stacks.
Implement a queue using two stacks.Implement a queue using two stacks.
Implement a queue using two stacks.
 
Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3
 
Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2
 
Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3
 
Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2
 
Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3
 
Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2
 
Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3
 
Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2
 
Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1
 
Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4
 
Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3
 
Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2
 
Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information Security
 
Mcs 012 computer organisation and assemly language programming- ignou assignm...
Mcs 012 computer organisation and assemly language programming- ignou assignm...Mcs 012 computer organisation and assemly language programming- ignou assignm...
Mcs 012 computer organisation and assemly language programming- ignou assignm...
 

Kürzlich hochgeladen

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Software engineering introduction

  • 1. Introduction Loganathan R Prof. R. Loganathan, CSE, HKBKCE 1
  • 2. Objectives • Understand what software engineering is and its importance • Know the answers to key questions about software engineering • Understand ethical and professional issues that are important for software engineers Prof. R. Loganathan, CSE, HKBKCE 2
  • 3. Software costs • Software costs often dominate computer system costs. The costs of software on a PC are often greater than the hardware cost. • Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs. • Software engineering is concerned with cost- effective software development. Prof. R. Loganathan, CSE, HKBKCE 3
  • 4. Software engineering • Software engineering is concerned with theories, methods and tools for professional software development. • First proposed in 1968 at a conference held to discuss ‘Software Crisis’ • Informal software development is NOT enough for large & complex systems. • Developed effective methods of S/W Specification, Design & Implementation Prof. R. Loganathan, CSE, HKBKCE 4
  • 5. FAQs about SE: 1.What is software? • Computer programs and associated documentation such as requirements, design models and user manuals. • Two fundamental types of software Products • Generic Products • Developed to be sold to a range of different customers e.g. PC software such as Excel or Word. • Customised or Bespoke Products • developed for a single customer according to their specification. • The difference is, for generic products the s/w specification is controlled by organisation(developed), for Customer products it is the buying organisation. Prof. R. Loganathan, CSE, HKBKCE 5
  • 6. FAQs about SE: 2.What is software engineering? • Software engineering is an engineering discipline that is concerned with all aspects of software production. • 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. Prof. R. Loganathan, CSE, HKBKCE 6
  • 7. FAQs about SE: 3.What is the difference between software engineering and computer science? • Computer Science is concerned with theory and fundamentals. • Software Engineering is concerned with the practicalities of developing and delivering useful software. • Computer Science theories are still insufficient(unlike Physics & Electrical) to act as a complete underpinning for software engineering (often use of ad hoc approaches). Prof. R. Loganathan, CSE, HKBKCE 7
  • 8. FAQs about SE: 4. What is the difference between software engineering and system engineering? • System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. • Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system. • System engineers are involved in system specification, architectural design, integration and deployment. Prof. R. Loganathan, CSE, HKBKCE 8
  • 9. FAQs about SE: 5.What is a software process? • A set of activities and associated results that produce a software product. • Four common Fundamental process activities in all software processes are: • Specification - what the system should do and its development constraints. • Development - software system design and programming. • Validation - checking that the software is what the customer wants. • Evolution - changing the software in response to changing demands. Prof. R. Loganathan, CSE, HKBKCE 9
  • 10. FAQs about SE: 6. What is a software process model? • A simplified representation of a software process, presented from a specific perspective(one’s view). • Examples of process perspectives are – Workflow Model (perspective )- Shows sequence of activities in the process with i/p, o/p and dependencies; – Data-flow or Activity Model(perspective) – represents a set activities, which carries out some data transformation(shows how i/p to the process(spec) is transformed to o/p(design). – Role/action model(perspective) – roles of the people & activities for which the are responsible(who does what). • Generic process models – Waterfall – above activities are represented as separate process phase as specification, design, implementation, testing and so on; – Iterative development – interleaves the activities of spec., development & validation; – Component-based software engineering(CBSE)-focuses on integrating existing parts . Prof. R. Loganathan, CSE, HKBKCE 10
  • 11. FAQs about SE: 7. What are the costs of software engineering? • Roughly 60% of costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs. • Costs vary depending on the type of system being developed and the requirements of system attributes such as performance and system reliability. • Distribution of costs depends on the development model that is used. Prof. R. Loganathan, CSE, HKBKCE 11
  • 12. Activity cost distribution Wat erfall model 0 25 50 75 100 Specification Design Development Integ ration and testing It erative development 0 25 50 75 1 00 Specification Iterative development System testing Component-based software eng ineering 0 25 50 75 1 00 Specification Development Integ ration and testing Development and evolution costs for long-lifetime syst ems 0 10 200 30 400 System development System evolution Prof. R. Loganathan, CSE, HKBKCE 12
  • 13. Product development costs 0 25 50 75 100 Specification Development System testing Prof. R. Loganathan, CSE, HKBKCE 13
  • 14. FAQs about SE: 8.What are software engineering methods? • Structured approach to software development(Quality in a Cost effective way) which include system models, notations, rules, design advice and process guidance. • Methods  Structured Analysis(Function Oriented)(1970)  Object Oriented(1980s&1990s)  UML(integrated into single approach) • Components used in these methods: • Model descriptions • Descriptions of graphical models which should be produced; • Rules • Constraints applied to system models; • Recommendations • Advice on good design practice; • Process guidance • What activities to follow. Prof. R. Loganathan, CSE, HKBKCE 14
  • 15. FAQs about SE: 9. What is CASE? • Computer-Aided Software Engineering. • Software systems that are intended to provide automated support for software process activities(requirement analysis, system modelling ,testing & debugging). • CASE systems are often used for method support. Prof. R. Loganathan, CSE, HKBKCE 15
  • 16. FAQs about SE: 10. What are the attributes of good software? • The software should deliver the required functionality and performance to the user and should be maintainable, dependable and acceptable. • Maintainability – Software must evolve to meet changing needs of customer; • Dependability – Software must be trustworthy(reliability, security & safety) ; • Efficiency – Software should not make wasteful use of system resources(memory/CPU); • Acceptability – Software must accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems. Prof. R. Loganathan, CSE, HKBKCE 16
  • 17. FAQs about SE: 11.What are the key challenges facing software engineering? • Heterogeneity, delivery and trust. • Heterogeneity Challenge – Developing techniques for building software that can cope with heterogeneous platforms and execution environments(Distributed systems); • Delivery Challenge – Developing techniques that lead to faster delivery of large and complex systems without compromising quality; • Trust Challenge – Developing techniques that demonstrate that software can be trusted by its users. Prof. R. Loganathan, CSE, HKBKCE 17
  • 18. Professional and ethical responsibility • Software engineering involves wider responsibilities than simply the application of technical skills. • Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals. • Ethical behaviour is more than simply upholding the law. Prof. R. Loganathan, CSE, HKBKCE 18
  • 19. Issues of professional responsibility • Confidentiality – Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed. • Competence – Engineers should not misrepresent their level of competence. They should not knowingly accept work which is outwith their competence. Prof. R. Loganathan, CSE, HKBKCE 19
  • 20. Issues of professional responsibility • Intellectual property rights – Engineers should be aware of local laws governing the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and clients is protected. • Computer misuse – Software engineers should not use their technical skills to misuse other people’s computers. Computer misuse ranges from relatively trivial (game playing) to extremely serious (dissemination of viruses). Prof. R. Loganathan, CSE, HKBKCE 20
  • 21. ACM/IEEE Code of Ethics • The professional societies in the US have cooperated to produce a code of ethical practice. • Members of these organisations sign up to the code of practice when they join. • The Code contains EIGHT Principles related to the behaviour of and decisions made by professional software engineers, including practitioners, educators, managers, supervisors and policy makers, as well as trainees and students of the profession. Prof. R. Loganathan, CSE, HKBKCE 21
  • 22. Code of ethics - principles • PUBLIC – Software engineers shall act consistently with the public interest. • CLIENT AND EMPLOYER – Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest. • PRODUCT – Software engineers shall ensure that their products and related modifications meet the highest professional standards possible. Prof. R. Loganathan, CSE, HKBKCE 22
  • 23. Code of ethics - principles • JUDGMENT – Software engineers shall maintain integrity and independence in their professional judgment. • MANAGEMENT – Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance. • PROFESSION – Software engineers shall advance the integrity and reputation of the profession consistent with the public interest. Prof. R. Loganathan, CSE, HKBKCE 23
  • 24. Code of ethics - principles • COLLEAGUES – Software engineers shall be fair to and supportive of their colleagues. • SELF – Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession. Prof. R. Loganathan, CSE, HKBKCE 24
  • 25. Ethical dilemmas • Disagreement in principle with the policies of senior management. • Your employer acts in an unethical way and releases a safety-critical system without finishing the testing of the system. • Participation in the development of military weapons systems or nuclear systems. Prof. R. Loganathan, CSE, HKBKCE 25