What is Software Engineering? READ AND GIVE FEED BACK .....!!!!

in #what9 years ago (edited)




The application of a systematic, disciplined,quantifiable approach to the development, operation, and maintenance of software. An engineering discipline that is concerned with all aspects of software production.


images (12).jpg


Definition of software engineering:
a branch of computer science that deals with the design, implementation,and maintenance of
complex computer programs.
Fritz Bauer, a German computer scientist, defines software engineering as:
Software engineering is the establishment and use of sound engineering
principles in order to obtain economically software that is reliable and work
efficiently on real machines.

Software Evolution:
The process of developing a software product using software engineering
principles and methods is referred to as Software Evolution.This includes the
initial development of software and its maintenance and updates, till desired
software product is developed, which satisfies the expected requirements.


images (14).jpg


Software Evolution Laws Lehman has given laws for software evolution.He divided the software into three different categories;.

  1. Static_type (S_type) : This is a software, which works strictly according to defined specifications and solutions.The solution and the method to achieve it, both are immediately understood before coding.The s_type software is least subjected to changes hence this is the simplest of all. Example,calculator program for mathematical computation.
  2. Practical_type (P_type) : This is a software with a collection of procedures.This is defined by exactly what procedures can do. In this software, the specifications can be described but the solution is not obviously instant.Example,gaming software.
  3. Embedded_type (E_type) :This software works closely as the requirement of real-world environment. This software has a high degree of evolution as there are various changes in laws, taxes etc,in the real world situations. Example,Online trading software.


    images (13).jpg


    The need of software engineering arises because of higher rate of change in user requirements and environment on which the software is working.Below there are some of the needs :
  4. Large software - It is easier to build a wall than a house or building,
    likewise, as the size of the software becomes large, engineering has to step
    to give it a scientific process.
  5. Scalability:If the software process were not based on scientific and engineering concepts, it would be easier to re-create new software than to scale an existing one.
  6. Cost- As hardware industry has shown its skills and huge manufacturing has lower down the price of computer and electronic hardware.But, cost of the software remains high if proper process is not adapted.
  7. Dynamic Nature:Always growing and adapting nature of the software hugely depends upon the environment in which the user works. If the nature of software is always changing, new enhancements need to be done in the existing one.This is where the software engineering plays a good role.
  8. Quality Management: Better process of software development provides better and quality software product.


    download (40).jpg


    Elements of Software Engineering:
    -Professionalism,economics,ethics.
  • Software requirements.
  • Software design.
  • Software construction.
  • Software testing.
  • Software maintenance.
  • Software configuration management.
  • Software engineering management
    -Software engineering processes
  • Software engineering tools


    five-elements-of-software-engineering-for-mobile-22-638.jpg


    Software Development Life Cycle(SDLC):
    SDLC.jpg


    What is the difference between software engineering and computer science ?


    images (20).jpg
    - Computer science is concerned with theory and fundamentals:software engineering is concerned with the practicalities
    of developing and delivering useful software.
    - Software engineering is closer to good business practices than science .
    - Computer science theories are still insufficient to act as a complete underpinning for software engineering .


    IEEE Software Engineering Standards:
    IEEE-Std 1074-1997
    IEEE-Std 1012-1998
    IEEE-Std 829-1998
    IEEE-Std 830-1998
    IEEE-Std 12207.0-1996
    IEEE-Std 12207.1-1997
    IEEE-Std 12207.2-1998


    thank you for seeing this post . Just read it And give your feedback
Sort:  

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by Fire from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, and someguy123. The goal is to help Steemit grow by supporting Minnows and creating a social network. Please find us in the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you like what we're doing please upvote this comment so we can continue to build the community account that's supporting all members.

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.092
BTC 62610.99
ETH 1758.90
USDT 1.00
SBD 0.39