Wednesday, 17 June 2009

SOFTWARE ENGNEERING

Introduction
Software engineering Is the systematic approach to the design, construction, develop and maintenance of computer programs

SHORT HISTORY
In 1950 programming languages started to appear, major languages such as Fortan, Algon and COBOL were released, in 1963-1968 the emerging of software crisis,
1968-1970 the birth of software engineering, it first appeared in 1968 NATO, software Engineering conference, the aim of software engineering was to overcome this crisis. To create software of high quality, cheaper, maintainable and deliver them at time.

TYPES OF SOFTWARE ENGNEERING
Retail software
This type of software is sold off the shelves of retail stores.
OEM software (Original Equipment Manufacturer) refers to software sold in bulk to resellers, designed to be bundled with hardware. Examples Microsoft
Shareware Is the software which is downloaded from the internet but after a several period of time the customer have to purchase
Freeware Is the software which is downloaded from the internet for free but for person use, while commercial use it requires a paid license

TOOLS USED IN SOFTWARE ENGINEERING
Software engineering tools are tools or things that are intended to provide automated support for software process system.

Computer Aided Software engineering tools these are tools used to provide automated support for development of software, i.e., computer code. The CASE functions include analysis, design, and programming. There are two types of CASE tool. Upper CASE tools Example Data flow diagram, Structure charts, algorithms. Lower CASE tools Example debugging, maintenance and testing tools. i.e. programming languages

Methodologies of software engneering

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 once approach to software engineering) is the type of methodology where different people with experience work together so as to manage complex work, such as new product development)
Team software process is the operational process framework that is designed to help teams of managers and engineers to organize and produce large-scale software projects

DISADVANTAGES
Fail to manage expectation, Poor requirements from customers, Rising complexity requirement and user, expectation of the customer, Ongoing change of technology
On going failure of the project, Failure to pinpoint causes of problems, No theorems about people and projects

CONCLUTION
Software engineering has a bright future (job opportunities), also Software engineers must behave in an honest and ethically responsible way if we want to be respected as professionals.

No comments:

Post a Comment