Saturday, 13 June 2009

SOFTWARE ENGINEERING

This topic aimed at exposing the students at the general concept of software development are the rules regulating the use of that software. Nelson Shoo with collaboration with Christin Obed presented the lesson. The presenters brought about the real concept on how the software engineering started and developed to the way it is now. Software engineering can be explained as the systematic approach to the design, construction, develop and maintenance of the computer programs.
The Historical background of software engineering goes as back as 1950 when programming languages started to appear such as Fortan Algon and Cobol in the world of computing. In late years of 1963-1968 then emerged the software crisis where in 1968-1970 it was necessary to the birth of software engineering as profession appeared in NATO software conference that was held in 1968 to solve the software crisis.
In 1960s the software were sold together with the computer so the software engineers were not at all paid for their hard job that they did, so they were discouraged with such act. By so doing most of them, they didn’t develop software any more and lead to that software crisis. The resuming the software engineering as profession was to overcome the crisis which were invading the world of of computing. Also aimed at creating the software of high quality, cheaper, maintainable and deliver them at time.
The software can be classified into different four categories, which are-
Retail software is sold off the shelves of retail stores
OEM software (Original Equipment Manufacturer) this refers to software sold in bulk to reseller, designed to be bundled with hardware e.g. Microsoft.
Shareware is the software which is downloaded from the internet but after a several period of time the customer has to purchase
Freeware is the software, which is downloaded from the internet free, but person use, while commercial use it requires a paid license.
The modern development of the software is done in join venture of different group of professionals in active collaboration of the customers who knows what are their needs (what do they need the software to do for them).
The methodologies of software engineering are-
Objects Oriented Programming (OOP) is the computer program style that uses data structure to design application and computer program.
Rapid application development (RAD) refers to a type of software development life cycle, which uses minimal planning in favor of rapid prototyping.
Scrum (all at one approach to software engineering) is the type of methodology where different people with experience work together to manage complex work, such as new product development.
Team software process is defined operational process framework that is designed to help teams of managers and engineers to organize and produce large scale software projects.
The challenges, which face software engineering, are-
¨ Heterogeneity challenge that every day the needs are diverse, people are demanding different things by which the engineers are not yet made the software to serve those demands.
¨ Delivery challenge is the time bound between the customers and the engineers, always the engineers do not meet the time bound the mean the delivery takes too long time.
¨ Trust challenge sometime the customers do not understand what is possible and what is impossible with software at that particular time.
¨ Legacy system challenge it is possible to customer to amount money or property to engineer to avoid postponing the product.
The criticism to software engineering are-
o Fail to manage the expectation.
o Poor requirements from customers.
o Rising complexity requirement and user expectation of the customer.
o Ongoing change of technology.
o Ongoing failure of technology.
o Failure to pinpoint the causes of problems
o No theorems about people and projects.

As far as the software engineering is concerned has green future (job opportunities) we have to work hard so that we meet the people’s demands and behave ethically in a responsible way.



References
Ian Sommerville (2000) Software Engineering 6th Edition, chapter 1

www.freetechbooks.com/software-engineering-methodology-the-watersluice

No comments:

Post a Comment