Thursday, February 24, 2022

Software engineering

 What is software engineering?



  Software engineering is defined as the process of analyzing user needs and then designing, building, and testing software applications that will meet those needs.


  Let's look at different definitions of software engineering:


  Describes software engineering as a systematic, disciplined application, an accountable way to develop, operate, and maintain software.

  Fritz Bauer described it as an 'establishment' and applied the standard principles of engineering.  It helps you get economical software that is reliable and works efficiently on real machines.

  Boehm defines software engineering as the practical application of scientific knowledge in the creative design and construction of computer programs.  It also includes the relevant documents needed to develop, operate and maintain them. "

  In this software engineering tutorial, you will learn:


  What is software engineering?

  Why Software Engineering?  Software crisis and its solution

  Why is software engineering popular?

  The relationship of software engineering with other fields

  Challenges of software engineering

  Attributes for software products

  Good software features

  Why Software Engineering?  Software Crisis and Solutions:

  What was the software crisis?

  It was in the late 1960's that many software projects failed.

  Many softwares become over-budgeted.  The output was an incredible piece of software that is expensive to maintain.

  Large software was difficult and expensive to maintain.

  Many software services are not able to meet the growing needs of customers.

  As its hardware capacity increased, so did the complexity of software projects.

  Demand for this specialty has grown significantly as a result of recent corporate scandals.

  All of the above issues lead to a 'software crisis'.


 

  The solution to this problem was to change the effort of unorganized coding into software engineering discipline.  These engineering models have helped companies streamline operations and provide software that meets customer needs.


  The late 1970s saw widespread use of the principles of software engineering.

  The 1980s saw the development of software engineering process automation and (CASE) computer aided software engineering.

  Similar to ISO 9001 in the 1990s, emphasis was placed on the 'management' aspects of quality and process quality projects.

  Why is software engineering popular?

  The main reasons behind the popularity of software engineering are:



  Great software - In our real life, building a wall is much more comfortable than building a house or a building.  Similarly, as software grows in size, software engineering helps you build software.

  Scalability - If the software development process was based on scientific and engineering concepts, it would be easy to recreate the new software to scale the existing software.

  Adaptation: Whenever the process of software was based on science and engineering, it is easy to recreate new software with the help of software engineering.

  Cost - The hardware industry has shown its prowess, and large-scale manufacturing has reduced the cost of computer and electronic hardware.

  Dynamic Nature - The nature of software is always evolving and evolving.  It depends on the environment in which the user works.

  Quality Management: Offers a better way of software development to deliver quality software products.

  The relationship of software engineering with other fields

  Here's what software engineering has to do with other fields:


  Computer Science: Provides a scientific basis for software because electrical engineering is primarily dependent on physics.

  Management Science: Software engineering is hard work that requires both technical and managerial control.  Therefore, it is widely used in management science.

  Economics: In this area, software engineering helps you estimate resources and control costs.  Computing systems must be developed, and data must be maintained within a given budget.

  Systems Engineering: Most software is a component of a very large system.  For example, software in industry monitoring systems or flight software on airplanes.  Software engineering methods should be applied to the study of such systems.


  Challenges of software engineering

  Some of the major challenges facing software engineers are:


  Software failure in security-critical areas such as aerospace, aviation, nuclear power plants, etc., can be very costly because lives are at stake.

  Increasing market demand for a time of rapid change.

  Dealing with the growing complexity of software requirements for new applications.

  The diversity of software systems should communicate with each other.

  Attributes for software products

  Features of any software product include the features that are displayed by the product when it is installed and put into use.


  They are not the services provided by the product.  Instead, they relate to product dynamics and product use.


  Examples of these attributes are:


  Performance, reliability, robustness, retention, etc.

  However, the relative importance of these features varies from one software system to another.


  Product Feature Description

  Maintenance software must be ready to meet the changing demands of clients.

  Dependability Dependability includes various features.  Reliable software should never cause physical or financial harm in the event of a system breakdown.

  Performance software applications should make the most of system resources such as memory and processor cycles.

  Usable software applications must have specific UIs and documentation.

  The above feature is very difficult to improve.  For example, offering a better UI can reduce system performance.


  Good software features

  Any software should be judged by what it offers and what are the ways that it helps you to use it.


  Each software must meet the following attributes:


  Operational

  Transitional

  take care of

  Here are some key features of good software developed by software professionals.


  Operational


  This feature tells us how well the software works in these operations which can be measured:


  Budget

  Performance

  Usable

  Dependence

  correction

  Functionality

  Safety

  security

  Transitional


  This is an important aspect when transferring software from one platform to another:


  Interoperability

  Ability to reuse

  Portability

  Adaptation

  take care of


  This aspect speaks volumes about the software's ability to adapt to rapidly changing environments:


  Flexibility

  Maintenance

  Modularity

  Scalability

  Abstract

  Software engineering is the process of analyzing user needs and then designing, building and testing software applications that will meet those needs.

  The main reasons for using software engineering are: 1) great software, 2) scalability 3) adaptation 4) cost and 5) dynamic nature.

  By the end of the 1960's, many softwares were out of budget.  So it offers incredible software that is expensive to maintain.

  The late 1970s saw widespread use of the principles of software engineering.

  The concept of software engineering 1) Computer science 2) Management science 3) Systems engineering and 4) Economics

  The growing market demand for rapid change is one of the biggest challenges facing the software engineering sector.

  1) Ability to maintain, 2) Dependence, 3) Performance and, 4) Usable software are the most important features of a product.

  The three most important features of good software are 1) Operational 2) Transitional 3) Maintenance.

No comments:

BENIGN TUMOR

Benign Tumor A benign tumor is an abnormal but noncancerous collection of cells. It can form anywhere on or in your body when cells multiply...