1 Introduction of Software Enasgineering-Std

Embed Size (px)

Citation preview

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    1/16

    TrngihcCng nghipTp.HCM

    Khoa Cng nghThng tin

    I ntroduction of Software Engineer ing

    GV: L Ngc Tin

    Email: [email protected]

    Blog: http://tienhuong.wordpress.com

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    2/16

    2

    What is Software Engineering (SE)

    Software has become criticalto advancement in

    almost areas of human endeavour. However, there areserious problemsin cost, timelines,

    maintenanceand qualityof many software

    products.

    Software engineering has the objectiveof solving theproblems of software by producing goodquality,

    maintainablesoftware, on time, within budget.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    3/16

    3

    Definition of Software Engineering

    Software engineering is the establishment and use of

    sound engineeringprinciplesin order to obtaineconomically software that is reliable and works

    efficiently on real machines

    A discipline whose aim is the production of qualitysoftware, software that is delivered on time, withinbudget, and that satisfies its requirements.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    4/16

    4

    Software

    Consist of:

    Programs

    Documents

    Procedures used to setup and operate the software

    system(Program is a subset of software,

    or Software is a superset of programs)

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    5/16

    5

    Software applications

    System Software:a collection of programs which

    provide service to another programs (compilers,operating systems, drivers)

    Real Time Software:used to monitor, control andanalyze real world events as they occur (weather

    forecasting)

    Embedded Software:placed in ROM of theproduct and control various functions of product

    Business Software:designed to process businessapplications (employee management, account

    management)

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    6/16

    6

    Software applications (cont)

    Artificial Intelligence Software:used to solve

    complex problems that are not amenable tocomputation (artificial neural network, signal

    processing)

    Web based Software:the software related to webapplications (HTML, DHTML)

    Engineering and Scientific Software:Hugecomputing is required to process data (CAD/CAM

    package, MATLAB)

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    7/167

    The Attributes of Good Software

    Maintainability

    Software must evolve to meet changing needs

    Dependability

    Software must be trustworthy

    Efficiency

    Software should not make wasteful use of

    system resources

    UsabilitySoftware must be usable by the users for which

    it was designed

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    8/168

    Terminologies

    Product:what is delivered to customer, it mayinclude: source code, specification document,user manual

    Process:is the way we produce software. It is a

    collection of activities that leads to (a part of) aproduct. An efficient is required to produce goodquality products.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    9/169

    Terminologies (cont)

    Deliverable:What are generated duringsoftware development, example: source code,user manual

    Milestone:the events that are used to ascertain

    the status of the project, example completion ofdesign documentation is milestone.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    10/1610

    Terminologies (cont)

    Generic and Customized Software products:

    Generic products:developed for anonymouscustomers, example operating system

    Customized products:developed forparticular customers.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    11/1611

    Role of Management in Software Development

    The management of software development is

    dependent on four factors:

    People

    ProductProject

    Process

    DependencyOrder

    1

    2

    3

    4

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    12/1612

    1 - PEOPLE

    Require good manager: A good manager can not

    ensure the success of the project but increase theprobability of success.

    Manager face challenges:

    Plan for the best. Be prepared for worst, expect surprises, but

    continue to move forward anyway.

    The responsibilityof manager: Motivate,

    encourage, guideand controlthe people of

    his/her team.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    13/1613

    2 - PRODUCT

    Product is what we want to deliver to customers.

    So the objectiveand scope of workshould bedefined clearly.

    It may help the manager to select the best solutionwithin constraintsimposed by delivery

    deadlines, budgetary restrictions, personnel

    availability.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    14/1614

    3 - PROCESS

    The process is the wayin which we produce

    software.

    If the process is weak, the end product willundoubtedly suffer.

    There are many life cycle modelsprocess improvemodels. Depending on the type of project, asuitable model is selected.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    15/16

    15

    4 - PROJECT

    A proper planningis required to monitorthe

    status and to controlthe complexity.

    In order to manage a successful project, we mustunderstand what can go wrong and how to do it

    right.

    We should define concrete requirementsandfreeze them.

  • 8/11/2019 1 Introduction of Software Enasgineering-Std

    16/16

    TrngihcCng nghipTp.HCM

    Khoa Cng nghThng tin

    Thank You

    GV: L Ngc Tin

    Email: [email protected]

    Blog: http://tienhuong.wordpress.com