Important points regarding Software Engineering:

by 23:27 1 comments

1)    Aids in Development of Large Programs:

There is Exponential expansion in complexity and difficulty level with size. The ad hoc approach break down when size of software increases: --- “One thorn of incident is worth a whole wilderness of warning”.

2)    Ability to solve Programming Problems:

It helps in learning how to break huge projects into smaller and convenient parts. It helps us to learn techniques of specification, design, interface development, testing, projects management, etc.

3)    Aids in Better Programming Practices:

Higher productivity and better Quality Programs are the benefits.

Emergence of Software Engineering

Due to an assortment of innovations and increase of experience in program writing, software engineering techniques has evolved over time. Some of such experiences and innovations is discussed as under which have contributed also to the development of software engineering discipline.

Stages of Emergence Software Engineering

1)    Early Computer Programming
2)    High-Level Language Programming
3)    Control Flow Based Design
4)    Data Structure-Oriented Design
5)    Data Flow-Oriented Design
6)    Object Oriented design

Phases in Software Engineering      
     
In spite of the application area, project size or complexity, the work that is connected with software engineering can be categorized into three generic phases:

1)    Definition Phase: The main focus is on ‘what’:

                           i.          Identify what information is to be processed.
                         ii.          What function and performance is desired.
                       iii.          What system behavior is expected?
                       iv.          What interfaces are to be established.
                         v.          What design constraints exist?
                       vi.          Identify the key requirements of system and software.
            Major tasks consist of information engineering, project planning and requirement analysis.

2)    Development Phase: The main focus is on ‘How’:

                           i.          Define how data are to be structured.
                         ii.          How a function is to be implemented.
                       iii.          How are procedural details to be implemented?
                       iv.          How interfaces are to be characterized.
                         v.          How will design be transformed into a programming language?
                       vi.          How testing will be performed.

Major tasks consist of software design, code generation and software testing.

3)    Maintenance Phase: The main focus is on ‘change’. It reapplies the definition and the development phases in context of existing software

                            i.          Error correction.
                          ii.          Adoptions required as the software’s environment evolved.
                         iii.          Changes due to enhancements by user are changing needs.

Four types of changes happen in maintenance phase, which are correction, adaption, enhancement and prevention.



Ruby Shaikh

Developer

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

1 comment: