Software engineering is the process of developing reliable and efficient software using science and engineering principles. It involves determining requirements, designing software modules, coding and testing modules, integrating the system, implementing the system, and maintaining it. The software development life cycle includes requirements specification, design, coding/testing, integration/testing, implementation, and maintenance/documentation/training. Requirements specification involves determining needs, analyzing requirements, feasibility studies, and finalizing requirements. Design includes logical design of modules and physical design of module implementation.
3. Why we study software engineering?
We study the subject 'software engineering' to know
about different tools and techniques, methods and
procedures, way and style for developing more
'qualitative' software within the 'time' specified by the
client and in minimum 'cost'.
Software: -
Software is the set of interrelated programs (codes)
methods and other related document which is designed
and developed for completing any specific task with the
help of computer system. It is the logical part of the
computer system which is introduced for making the
computer system more beneficial for the users.
Software
( production point of view )
4. customized software: -
The software which is designed and
developed by a person or a group of persons
within one organization for performing there
own task and so the software can be used
within the particular organization is called
customized software. Examples, railway
reservation system, airline reservation
system, customer support system of SBI,
production system of DISCO, examination
control system of magadh university, etc.
5. System Software: -
The software which is designed and developed
only for the computer internal operating so that
computer system can be made more user friendly
is called system software. Examples, operating
system, compiler, debugger, interpreter,
assembler, text editor and other system utilities.
Application Software: -
The software which is designed and developed
for solving the problems of different application
field as like business, commerce, medical,
engineering, telecommunication, education,
research and development, transportation and
print media etc is called application software.
6. Software Engineering: -
According to IEEE (Institute of Electrical and Electronics Engineers),
software engineering is the process of development, maintenance and
retrivement of software.
According to Boehm, Software Engineering is the application of science
and mathematics, so that computer system can be made more beneficial for
the users by introducing programs, methods and procedures, protocols, users
manuals, other documents, etc.
According to Fritz Bouer, Software Engineering is the application of sound
engineering principles, so that we can introduce the software which will be
more reliable, more economical, more efficient, etc.
On the basis of definitions given above, we can define software
engineering as follows: -
Software Engineering is the process of developing more reliable, more
economical and more efficient software by applying the concept of science and
mathematics i.e. sound engineering principles and so computer system can be
made beneficial for the users by introducing programs, users manual etc and
the software can also be maintained and retived ( when it is required ).
7. Good characteristics of software engineer: -
•Extensive knowledge in the computer science.
•Knowledge about the different applications field as
like business, commerce, medical, engineering,
education, etc.
•Analytical mind and reasoning capability.
•Leadership capability i.e. power of motivating and
controlling.
•Knowledge about the different human languages i.e.
versions.
Capability of making interpersonal relationship
8. Software Development Life cycle (SDLC) : - [ steps i.e. phases
of s/w development ].
1.Software requirement specification (SRS).
2.Software design and specification (SDS).
3.Coding and module testing (C& MT).
4.Integration and system testing (I & ST).
5.Implementation (I).
6.maintenance, documentation and users training (M, D & UT).
•Software Requirement & Specification (SRS): -
This is the first phase of software development life cycle in which the software
engineer and their team members determine, analyse and finalize the
requirements i.e., needs of the proposed software system.
The following four steps are used for SRS: -
•Requirement determination
•Requirement analysis
•Feasibility study
•final analysis
9. Requirement Determination: -
• Interviewing techniques
• Group discussion
• Questionaries
• Use of rule books, journals, magazines and other documents.
Note: -
In requirement determination, the software engineer determines i.e. Gathers the
requirements i.e. Needs of the proposed software system with all required
informations by using interviewing techniques, group discussion, questionaries and
using rule books, journals, magazines and other document of the organization.
Requirement Analysis: -
After determination of the requirments the software engineer and their team
members analyse each and every requirements in more and more details and decide
which requirement can be completed or can't be completed and also some additional
requirements are essential there or not.
Feasibility Study: -
For each and every requirement of the proposed software system, feasibility
study is performed. Feasibility means "suitability" for the organization on different
factors. So the software engineer performs social feasibility performs testing for social
feasibility, economical feasibility, technical feasibility, legal feasibility, time feasibility,
environmental i.e. Operational feasibility etc. The requirements which will be not
feasible, they are removed after discussing with the authorities of the client
organization.
10. Final Analysis: -
In this step the software engineer organized meetings with the
concerned users and their authorities for the finalization of each and
every requirements and after finalization on bond paper the list of final
list of requirements are written and one argument letter is signed by the
authorities of software development company and client organization.
It is the end of SRS process
12. In this phase the proposed software system is designed on paper
with all their modules i.e., components with detailed descriptions.
The software engineer designs the software system by following the
two sub-phases: -
•Logical Design
•Physical Design
Logical Design: -
In the logical design, the software system is partitioned into small
modules so that each and every modules can be designed easily.
Basicaclly we consider the following three modules in application
software: -
•Database Module
•Input/ output Interface
•Process Logic
Each and every modules is designed separtely on paper in more and
more4 details.
13. Physical Design: -
In the physical design the software engineer describes in more
details that how the logically designed modules will be implemented on
computer system.
3) Coding and Module Testing: -
In this phase, all logically designed modules are coded by the
programmers and each and every modules are tested by the
programmers as well as software engineer for their correctness,
consistency, completeness, timeliness, validity, etc.
4) Integration and Software Testing: -
In this phase, all coded and tested modules are integrated in the
form of one complete software system and the software system is tested
by software engineer in the presence of concerned users for their
correctness, consistency, completeness, timeliness, validity, etc.
14. Implementation: -
In this phase, the software system is installed at the right place with all their required
hardware and software and the system becomes ready to use. There are two types of
implementation: -
• Serial Implementation
• Parallel Implementation
In the serial implementation, all the running functionalities of the concerned
department are suspended and then after the software system is implemented and when it
is ready then after the functionalities are resumed.
In the parallel implementation, the running functionalities are not suspended, the
software system is implemented parallely to the running functionalities and when the system
becomes ready then after the running functionalities are only transferred from old system to
new system.
6) Maintenance, Documentation and Users Trainig : -
In this phase, the maintenance of the software system is performed. Maintenance
means modification or some upgradation of the software system (if required), on the basis of
clients feedbacks.
In this phase, the documentation is also performed. Documentation means preparation
of project report i.e. Different documents whcih describes about all tools and techniques,
methods and approaches used in the software development process.
The trainig programs have been started from the designing phase but in this phase the
training programs are finished seriously, so that the users can use the software system
efficiently without any problem.