A Future Of Software Engineering

Print   

02 Nov 2017

Disclaimer:
This essay has been written and submitted by students and is not an example of our work. Please click this link to view samples of our professional work witten by our professional essay writers. Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of EssayCompany.

Performance is one of the most important factors that has significant effect on the quality of the software. It can be affected by hardware, communication network, operating system and middleware, and as software engineering puts an effort to enhance, and specify the performance by using two important means: an early-cycle predictive model approach and a Late-cycle measurement-based approach. But the software performance creates a problem in many organizations, and sometimes it often go below the expectations. As the coming time seems to be creating the mechanism for planning and designing; which will help in the processes involved in the improvement of software engineering (Woodside, n.d.).

As per the objective to provide the knowledge and skills for the bright future of the software engineering only theoretical portion is not sufficient it requires the practical knowledge of software engineering fundamentals; that will lead to meet the future employer’s expectations. It’s been observed that due to teaching of software engineering the environment is lacking, the time is lacking, and the resources are lacking which are responsible for the generation of the software engineers as per the future expectation (Bayrak, n.d.).    

Inspiration for the integration of extensible, automated tools and reusable that contribute a great help to the software engineers in creating the high quality of software.

In this paper we will discuss the future of software engineering at present time through improving the performance of the software, enhancing the techniques that can be used in the development of the software, and also by the bright future of the software environment encouraging the integrated techniques that have the ability to promote software reusability, and scalability.

Software Performance Engineering:

The base of the software design can be explained by the software performance engineering, and every aspect like design, code and the execution environment of the software development elements can affect it. Issues related with the performance of the software may cause problems for many projects like delay in the projects unable to dispense the application and may trim the cos. And therefore, Software Performance Engineering which is a highly disciplined approach is required for improving and evaluating the performance of the system. This discipline is a collection of those activities that are related to software engineering and its analysis can be used throughout the process of the software development, where the objective of the software development is to achieve the performance requirements (Woodside, n.d.).

 In 2007, Woodside and Franks explained that Software Performance Engineering (SPE) contains two important approaches:

Measurement-based (Late-Cycle measurement):

 In this approach tuning, testing and the diagnosis are done later when the system can be measured and run in the development cycle.

Model-based approach (Early-Cycle measurement):

In this approach performance model are created in the early phase of the development lifecycle, and on the basis of those quantitative results the designs and architectures are adjusted so as to meet the requirement of the performance.

The SPE process must have the similar strained like other projects such as the defined requirements and project schedules, and it should be part of the activities involved in the software engineering. The resource in this type of process is the systems resources that interact with the behavior of the system, such as logical resource (buffers, semaphores and locks), processing (threads, processes) and hardware (storage, Buses, I/O, and CPU). The factor that can define the performance of the software is the resources offering a limited capacity, where these can possibly delay the computing execution. An important task of Software Performance Engineering is to quantify the effect of these resources on the performance of the software (Woodside, n.d.).

The argument that Software Performance Engineering exemplifies a domain took place between Woodside and Franks containing following elements:

Resources – Resources are those where the information about hardware and software are defined.

Workloads – Workloads are the one’s defining the frequency of different system operations.

Behavior – Where behaviors scenarios specifications are defined.

System Structure – Where the software components that might affect the performance is defined.

System Operations – Where performance requirements, workloads, and behaviors are defined.

The activities involved in the SPE process described by Woodside and Franks includes the following activities:

Identify Concerns – Identification of the system operations and the important resources which can affect the performance of the system.

Predicted Performance – Where the performance of the system can be predicted by detail design, architecture, scenarios, and system behaviors.

Defining and analyzing the requirements – Where the identification requirements, delay, workload intensities and operational profiles are done and behavior is described.

Performance tests – Where the performance of the system is tested with either some parts of it, or all parts of the system under normal loads and stress.

Maintenance and evaluation – Where the potential changes and the addition, are predicted.

Total system analysis – Where the final and the complete deployed system are planned.

As the companies are facing dissatisfaction with the application performance that they are using and which have never met their expectations and is resulting as the positive factor for the performance engineering since its gaining attention. In the previous time also some issues occurred at the last stage of the development of the software, the problem remained constant with the Agile process also and it could be worse in comparison with the traditional development lifecycle i.e. waterfall. Performance Engineering is in the right direction of applying better techniques for process like modeling and measuring. SPE process can be improved by using the right tools like tools that can trace the CPU demands and also that can trace its operations to different I/O devices (Woodside, n.d.).

The software that can diagnose the performance can be called as successful software that can use the models for insight in the sources of the performance problems. Key parts of predictive and testing modeling are the workload modeling and the operational profiles. In future it should bring the effective optimizing techniques where the measurement can be sent back to the compilers for placing the codes offline, analyzing the cache and tuning. At last, by creating the performance model it can be analyzed that how resources are used by the system operations. Although, in future better models are expected with better usage of SPE (Woodside, n.d.).

Applied Software Engineering Education:

In order to create improved software technologies only the theoretical teaching of software engineering is not sufficient as it doesn’t provide the skills and knowledge which is expected for the employer’s of the future. Considering the last decade technologies have been improved a lot and now analyzing the software and its architecture have become an important part of the software development lifecycle. At present a tremendous improvement can be noticed in the educational system where the department related to computer science has started offering program of real- life client sponsored: that provides an opportunity to the undergraduate students to understand the technology and its implication in the real life environment. Moto behind such programs is to give the encouragement to the students for completing their projects successfully and to understand the importance of the analysis and designing the documents, which is the part of the software engineering process, software requirement and the development cycle (Bayrak, n.d.).

The Future of Programming Environments:

It is expected that the improvement in the software development will lead to a better future for the programming environment and software engineering. Integration for the software engineering will results in a better future because the use of more extensible, reusable and useful tools will improve the productivity of the development project and will exaggerate the process of software engineering. These tools may also help in the improvement of some other process like; few common techniques knowing the process of these tools in the development environment. These tools can help in supporting reusability and extensibility via different peculiarity such as, automate reconstruction, and automate testing, supporting automation and separating functions from presentations. As a result of this improvement in the tools the chances of improvement in the process of software engineering in future increases similarly it increases the quality and the productivity of the software.

Conclusion:

Further development is required in Software Performance Engineering (SPE) in order to match up with changes that are taking place in the software technology and as per the market demand. For this type of process there is a need for measuring and testing the technology and making the improvement as per the prediction. Better ways, better views for exploring increments within the design of the system and for measuring data can be obtained by applying correct performance models (Woodside and Franks, 2007).

Future of the Software Engineering can be improved by applying the programs sponsored by various employers for the software engineering students through which they can practice their theoretical knowledge. Such type of programs let the students know about the actual demand of the outside world and what are the implications of their theoretical knowledge.



rev

Our Service Portfolio

jb

Want To Place An Order Quickly?

Then shoot us a message on Whatsapp, WeChat or Gmail. We are available 24/7 to assist you.

whatsapp

Do not panic, you are at the right place

jb

Visit Our essay writting help page to get all the details and guidence on availing our assiatance service.

Get 20% Discount, Now
£19 £14/ Per Page
14 days delivery time

Our writting assistance service is undoubtedly one of the most affordable writting assistance services and we have highly qualified professionls to help you with your work. So what are you waiting for, click below to order now.

Get An Instant Quote

ORDER TODAY!

Our experts are ready to assist you, call us to get a free quote or order now to get succeed in your academics writing.

Get a Free Quote Order Now