quantifiable approach to the development. disciplined. that is. and maintenance of software.
The application of a systematic.Engineering
The science concerned with putting scientific knowledge to practical use
The science concerned with putting computer science knowledge to practical use. the application of engineering to software. operation.
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
For systems with a long life. The costs of software on a PC are often greater than the hardware cost Software costs more to maintain than it does to develop. maintenance costs may be several times the development costs
.Software engineering is concerned with cost-effective software development Software costs often dominate system 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 P‟s 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. rules. design advice and process guidance
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. debugging and testing
Tools to support the early process activities of requirements and design
Tools to support later activities such as programming. CASE systems are often used for „method .
a software application.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 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.
. Development of this piece of code requires programmers who have knowledge of the development environment and the language used for the same. Any executable program or a piece of code written for some or the other purpose constitutes into software.
Provides direction to producing good software for meeting business goals. 2.
. 3. The engineering aspect of software indicates models of how to go about building software in the right manner.
. Gives application software developer a sensible and smart approach to principles and standards which have been already realized and worked upon.
Software engineering for maximum flexibility 7.
4. 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.
. Gives not only the quickest but the most efficient outcomes for the desired results. Software engineering provides updated technology to build a product that can withstand changes in technology.
5. business rules and policies.
Software engineering is necessary for designing a product to Perfection
8. 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. It can be equally compared to architecture of a building. It is better to have some program automatically create these for the programmer. It can remove a lot of unnecessary time doing menial coding tasks.
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.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. 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.
. Technology requires technicians and business requires efficient managers.
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. Again it speaks out the same thing which I am trying to relate it into the software paradigms here. 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. 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.