Sei sulla pagina 1di 15

SOFTWARE ENGINEERING

GEETHU GEORGE

Engineering
The science concerned with putting scientific knowledge to practical use

Software Engineering
The science concerned with putting computer science knowledge to practical use.
The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

Software engineering is an engineering discipline which is concerned with all aspects of software production

Software engineers should adopt a systematic and organised approach to their work and use appropriate tools and techniques depending on the problem to be solved, on the development constraints and the resources available

Software engineering is concerned with cost-effective software development Software costs often dominate system costs. The costs of software on a PC are often greater than the hardware cost Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times the development costs

Basic Activities of Software Engineering


defining software development process to be used managing the development project describing the intended software product designing the product implementing the product testing the parts of the product integrating the parts and testing them as a whole maintaining the product

The Four Ps of Software Engineering


Project the task at hand People by whom it is done Process the manner it is done Product the artifacts produced

Software engineering methods Contain structured approaches to software development which include system models, notations, rules, design advice and process guidance
Model

descriptions Descriptions of graphical models which should be produced Rules Constraints applied to system models Recommendations Advice on good design practice Process guidance What activities to follow

WHAT IS CASE (COMPUTER-AIDED SOFTWARE ENGINEERING)?


Software systems which are intended to provide automated support for software process/development activities. CASE systems are often used for method - support Upper-CASE

Tools to support the early process activities of requirements and design


Tools to support later activities such as programming, debugging and testing

Lower-CASE

IMPACT OF SOFTWARE ENGINEERING ON SOFTWARE DEVELOPMENT


The term software has more impact than development A customer might want software for maintaining his/her contacts. Any executable program or a piece of code written for some or the other purpose constitutes into software. Development of this piece of code requires programmers who have knowledge of the development environment and the language used for the same. Any person who knows a language and its constructs is eligible for making the software required because the main concentration is on getting the final outcome of the desired thing which is nothing other than, a software application.

. The engineering aspect of software indicates models of how to go about building software in the right manner. 2. Provides direction to producing good software for meeting business goals. 3. Gives application software developer a sensible and smart approach to principles and standards which have been already realized and worked upon.

4. Gives not only the quickest but the most efficient outcomes for the desired results.
5. An engineered software can be successfully incorporated into development of similar solutions without having to reinvent the wheel each time a problem in the same domain arises. 6. Software engineering for maximum flexibility 7. Software engineering provides updated technology to build a product that can withstand changes in technology, business rules and policies.

8. It can be equally compared to architecture of a building. Software can be well designed for a particular aspect but until it has been engineered to overcome the unseen circumstances it cannot be called truly well constructed software.

9. Software engineering is necessary for designing a product to Perfection


10. It can remove a lot of unnecessary time doing menial coding tasks. It is better to have some program automatically create these for the programmer.

APPLICATION OF SOFTWARE ENGINEERING


Attaining maximum flexibility: Technology gets updated in the fraction of a second and businesses fall and rise in the same fraction. But technology and business are two sides of the same coin. Both are required for reaching a specific goal but both cannot be merged into each other. Technology requires technicians and business requires efficient managers. Requiring to integrate both of them into worked upon strategy requires the technicians to be good engineers. This is because when it comes to developing software for automating a business workflow the mangers wont be keen to learn the technical aspects but the technicians will always be required to learn the business aspects because it will be their responsibility to deliver a product which not only be built according to the updated technology but will serve purpose in the future even as the business rules and policies changes.

Designing for Perfection Engineering software makes a profound statement and it applies to any sector where IT is used. It can be equally compared to architecture of a building. A well engineered architecture can stand tall even in the worst and unimagined circumstances. An architecture very well designed but not engineered can fall prey to calamities. Again it speaks out the same thing which I am trying to relate it into the software paradigms here. Software can be well designed for a particular aspect but until it has been engineered to overcome the unseen circumstances it cannot be called truly well constructed software.

THANK YOU

Potrebbero piacerti anche