close
test_template

All You Need to Know About Software Engineering

download print

About this sample

About this sample

close

Words: 1861 |

Pages: 4|

10 min read

Published: Jul 17, 2018

Words: 1861|Pages: 4|10 min read

Published: Jul 17, 2018

Table of contents

  1. Abstract
  2. Evolution of software
  3. Software paradigms

SOFTWARE ENGINEERING

'Why Violent Video Games Shouldn't Be Banned'?

RAMAJAYAM.G ( professor of Sri Krishna adithya college of arts and science)

Abstract

In this paper we are going to see about the software engineering and how it works on the today’s world. It deals with the new software technologies and the process in which the software manipulates the environment. Software engineering associates the development of software products, principles and methods. Developing a software products includes a lots of procedures and methods that have to be followed before executing a software product. The methods needed to design the software engineering is the software paradigm which is based on the two basic principles or concepts. SDLC- software development life cycle is a well-defined process and describes the stages of software engineering and to develop the software products. Each and every process on the life cycle has its own role and the process of executing its own task in various fields. It’s not a single way process, each task has to be performed in the sequencing order to develop a software product.

Today, computer software is the single most important technology on the world stage. We are going to have an look upon software evolution, software paradigms, characteristics of a software, SDLC – software development life cycle process, and the overall advantages of software engineering.Introduction:The term software engineering is a combination of two words, software and engineering. The term software is just defined as the program code. A program is said to be executable code, in the computational purpose. Software is a collection of executable programming code, associated libraries and documentations. It is made for a specific requirement called software product. On the other hand, engineering is all about the developing products, using well- defined, scientific principles and methods. The efficient and reliable software product is the outcome of software engineering.[1]

Software engineering is an branch of engineering which is associated with the development of software products using well-defined scientific principles, methods and procedures. Software project management has wider scope than software engineering process as it involves communication, pre and post delivery support. Software engineering was mainly introduced to address the issues of low-quality software projects. The problem arises when a software generally exceeds timelines, budgets, and reduced levels of quality.[2]

Software engineering is a layered technology and the foundation is the process layer. The basis of software process that forms the management control of software projects and introduces the concept in which the technical methods are applied, work products(models, documents, reports, data, forms, etc.) are produced. Software engineering tools provide two types of support these are automated or semi automated for the process and the methods. When the tools are integrated the information created by one tool can be used by another, a system for the support of software development, called computer aided software engineering.[1] The IEEE defines the software engineering as The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. [2]

Evolution of software

Software evolution refers to the process of developing a software product using software engineering principles and methods. It includes the initial development of software products and its maintenance, updates, the software product is developed, which satisfies the needed requirements. The evolution starts up with the requirement gathering process. When this process gets complete , the developers create a prototype of the intended software and show it to the users to get their feedback at the early stage of software development product. The users can also suggest changes on several consecutive updates and the maintenance keeps on changing. This process changes to the original software, until the suitable software is accomplished. Even when the user has a suitable software in hand, the trends in advancing technology and the upcoming requirements force the software product to change accordingly. Re-creating software with requirement is not feasible. The only feasible and economical solution is to update the existing software so that it matches with the latest requirements of the software.[2]

Software paradigms

The methods and steps that are needed to design a software is known as software paradigms. There are many methods proposed in software paradigms and are in work today, but the main important thing is that we need to see where the software engineering paradigms stand. These can be joined into various combinations, though each of them are contained in one another.Programming paradigm is a subset of software design paradigm which is further a subset of software development paradigm.

Software development paradigm. This paradigm is known as software engineering paradigms where all the engineering concepts are applied for the development of software. It also includes various researches and requirement gathering which helps the software product to build.

Software development paradigm consists of

• Requirement gathering

• Software design

• Programming

Programming paradigm.

This programming is related similar to the programming aspect of software development. This includes

• Coding

• Testing

• Integration

Software design paradigm.

This paradigm is a part of software development and consists of

• Design

• Maintenance

• Programming.[2]

Characteristics of good software

The software product can be evaluated by how the software can be designed and how it can be used. This software must satisfy the following conditions

• Operational

• Transitional

• Maintenance

A good crafted and well-engineered software has the following characteristics:

1. Operational.

This method tells the working system of the software. It can be measured on

• Budget

• Usability

• Efficiency

• Correctness

• Functionality

• Dependability

• Security

• Safety

2. Transitional.

This method is important when the software moves from one platform to another

• Portability

• Interoperability

• Reusability

• Adaptability

3. Maintenance

This method acts as how the software has the capabilities to maintain itself in the changing environment

• Modularity

• Maintainability

• Flexibility

•Scalability[2]

Software development life cycle- SDLC process

SDLC is a well-defined process and structured sequence of stages in software engineering to develop the software product. SDLC provides a series of steps to be followed to design and develop a software product .

This framework includes the following steps

• Communication

Communication is the first step where the user gives the request for a desired software product. He contacts the service provider and tries to negotiate the terms and submits his request to the service .

• Requirement gathering.

The software development team works to carry on the project in this stage. The team holds discussions and tries to bring out various possible information. The requirements are then contemplated and separated into user requirements, system requirements and functional requirements. The requirements are collected by various number of practices as-> Studying the existing software, -> Conducting interviews of users and developers, -> Referring to the database or -> Collecting answers from the questionnaires.

• Flexibility study

After the process of requirement gathering is over, the team comes up with the rough plan of software process. At this stage the team first analyses if a software can be made to fulfill all requirements of the user. There are many algorithms which help the developers to conclude the feasibility of a software project.

• System analysis.

In this step the developers decide a roadmap of their plan and try to bring up the suitable model for the project. System analysis includes the following features as understanding of software product limitations, learning system related problems or changes to be done in the existing systems. The project team analyses the scope of the project and plans the resources and schedule accordingly.

• Software design

The next process is to bring out the whole knowledge of requirements and analysis and design the software product. The inputs from the users and the gathered information in requirement gathering phase are the inputs of this step. The output of this steps comes into two design forms; logical design and physical design.

• Coding

This step is also called as programming phase. The implementation of software design starts to write the program code in the suitable programming language and developing error- free programs.

• Testing

The software testing is done while coding by the developers and the testing is conducted by the testing experts at various levels of the code such as module testing, program testing, product testing. An estimate states that 50% of whole software development process should be tested.

• Integration

Software have to be integrated with the libraries, databases and other programs. The life cycle of SDLC is involved in the integration of software with outer world entities.

• Implementation

The process of implementation includes the process of installing the software on user machines. Software needs post-installation configurations at the user end. Software is tested for adaptability and portability and integration related issues are solved during the process of implementation.

• Operation and maintenance

This phase confirms the software operation in terms of more efficiency and less errors. The software is maintained by updating the code according to the changes taking place in technology.

• Disposition

As the time elapses, the software may decline on the performance front. It may go completely obsolete or may need intense upgradation. Therefore a pressing need to eliminate a major portion of the system . This phase includes archiving data and required software components, closing down the system, planning disposition activity and terminating system at appropriate end-of-system time[2].

Advantage of software engineering

The need of software engineering arises because of higher rate of change in user requirements and the environment on which the software is working.

• Large software

It is very easy to build a wall than to a house or building, similarly the size of the software become a large engineering step to give a scientific process.

• Scalability

If the software process is not based on scientific and engineering concepts, it would to easier to create a new software.

• Cost

The cost of software remains high if proper process is not adapted.

• Dynamic nature

The growing and adapting nature of software hugely depends on the environment in which user works. If the nature of the software changes, new changes have to be done in the existing one. This is the place where the software engineering plays a important role.

• Quality management

Better quality of software development provides better and quality software product.[2]

Conclusion

In the modern technology each and every things has been related to software engineering in any of the form. Software engineering plays a major role in the field of software which is associated with the set of procedures or methods that have to be followed in the field of engineering. Software can only result in design faults but not in physical faults. Software engineering apply the principles and techniques of computer science, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and the systems that enable computers to perform their applications.

References:

[1]. Roger S Pressman, Software Engineering A Practitioner’s Approach “-6th” Edition

Get a custom paper now from our expert writers.

[2]. http://www.tutorialspoint.com

Image of Alex Wood
This essay was reviewed by
Alex Wood

Cite this Essay

All You Need to Know about Software Engineering. (2018, May 21). GradesFixer. Retrieved March 28, 2024, from https://gradesfixer.com/free-essay-examples/software-engineering/
“All You Need to Know about Software Engineering.” GradesFixer, 21 May 2018, gradesfixer.com/free-essay-examples/software-engineering/
All You Need to Know about Software Engineering. [online]. Available at: <https://gradesfixer.com/free-essay-examples/software-engineering/> [Accessed 28 Mar. 2024].
All You Need to Know about Software Engineering [Internet]. GradesFixer. 2018 May 21 [cited 2024 Mar 28]. Available from: https://gradesfixer.com/free-essay-examples/software-engineering/
copy
Keep in mind: This sample was shared by another student.
  • 450+ experts on 30 subjects ready to help
  • Custom essay delivered in as few as 3 hours
Write my essay

Still can’t find what you need?

Browse our vast selection of original essay samples, each expertly formatted and styled

close

Where do you want us to send this sample?

    By clicking “Continue”, you agree to our terms of service and privacy policy.

    close

    Be careful. This essay is not unique

    This essay was donated by a student and is likely to have been used and submitted before

    Download this Sample

    Free samples may contain mistakes and not unique parts

    close

    Sorry, we could not paraphrase this essay. Our professional writers can rewrite it and get you a unique paper.

    close

    Thanks!

    Please check your inbox.

    We can write you a custom essay that will follow your exact instructions and meet the deadlines. Let's fix your grades together!

    clock-banner-side

    Get Your
    Personalized Essay in 3 Hours or Less!

    exit-popup-close
    We can help you get a better grade and deliver your task on time!
    • Instructions Followed To The Letter
    • Deadlines Met At Every Stage
    • Unique And Plagiarism Free
    Order your paper now