Skip to main content

Featured

Mini Calculator in Python

                 Calculator Using Python                     num1=10                                                                                                                                         num2 =20                         ans1 = num1 + num2                     print ( "Th...

Software Engineering Notes

 

Software Engineering -->


Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software i.e , the application of engineering to software.


This Definition is of IEEE standards.



Systematic means that there is the process is involved to complete the task.


Disciplined means that if we work according to the process so from the begning of the task we know the output or outcome of the process.


Quantifiable means that we can measure everything about the task as what are the requirements during the process and if we work in disciplined way according to the process when will our task is going to finished.


So all the properties of software development is co related to each other. So if we want to learn software engineering we should make a good control on all of these.



Lifecycle

 






In video i have told about important phases of lifecycle which are always there in the development. These phases may vary according to the need of the project or the task that what kind of task we are working.



  1. Planning & Defining -- These can be counted as one but the process of both of these are different. As defining comes first as we define the problem statement and divide it into smaller tasks. And according to those smaller tasks plan about the project that how we will fulfill the demand. And we get the answers of different questions like,

What are the requirements to complete the task?

What is the time limit to complete the task?

What is the team capable of whom with we are working?

And other questions like these....


  1. Designing – In this phase we design the software and create a virtual image in mind and on different types of documents that what is being created and how it will look like and the is no copy pasting or any other of disturbency and it will give the scope to the project.


  1. Building/Coding Phase – In this phase we code the virtual design that is prepared into the real working model through the help of different Programming languages(C,C++,JAVA,Go,Python,Kotlin,etc....). It is the most important and the crucial phase as different problems are faced in this phase and most of the time in software development is taken by this phase.


  1. Testing – In this phase the working model that is created through different practices in coding is tested that there is no duplicacy or redundancy or the project created is working properly or it has any issue so that it can be found before the deployment for the use of the general peoples. In this the quality of the code is also checked that how readable the code is that if in future we have any issue or want to change there functionality of the software we can find the desired function easily.


  1. Deployment – This is the phase in which the project created and tested to be available for the common peoples. Get live through different modes as every mode has its own requirements.


  1. Maintenance – This is the phase in which the software that is created is changed or added with functionality or the regular security of the software is changed so that the user can enjoy the functionality of the software which is secured and reliable.







Business Demands



Business demands from the phrase we can understand that what are the requirements of the business from the software engineering so that they can create that software or use that software instead of the other.


  • Defect free code – In this the major need of the business that there is no defect in the code so that during the working on the software we do not stuck in between that can cause the big business loss as due to which we always test the code that all the functionalities are working accordingly.


  • Predictable Output – This the fundamental principal of the software engineering that the output of the software is mostly as predictable. For the predictable outcome of the software we have to be disciplined.


  • Adherence of Budget and Timelines – In the software world or in any of the business either it is of large size or the small size each process that has to be done has the one point of Budget that this thing is to be done in the specific Budget and timeline so that there is no delay or that they can remain profitable with it so that's why we all should be Adhere to the Budget and Time limits.


  • Development with diverse team – In this the business demands that the team which is working on the software or project creation might of different skills and experience so that a mixed ideas would create the product with Advanced features with new functionality and must be working properly.













Need of Software Engineering



Software Engineering is required due to the following

 reasons:


  • To manage Large software

  • For more Scalability

  • Cost Management

  • To manage the dynamic nature of software

  • For better quality Management

Comments

Popular Posts