Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects.

Similar presentations


Presentation on theme: "CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects."— Presentation transcript:

1 CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software production from the early stages of system specification through to maintaining a system after it has gone into use, and finally retiring a system after it is no longer useful. There are 2 key phrases here: –Engineering discipline –All aspects of software production

2 CS351 - Software Engineering (AY2005)2 Engineering discipline Engineers make things work! They apply theories, methods and tools where they are appropriate but they use them selectively and always try to discover solutions to problems even when there are no applicable theories and methods to support them. Engineering recognize that they have to work within organizational and financial constraints, so they look for solutions within those constraints.

3 CS351 - Software Engineering (AY2005)3 All aspects of software production Software engineering is not just concerned with the technical processes of software development but also with activities such as project management and with the development of tools and theories to support software production. This course will focus on those aspects of software engineering that are concerned with software development, while CS460/461 will look at the broader picture.

4 CS351 - Software Engineering (AY2005)4 Software engineering vs computer science Computer science is concerned with the theories and methods which underlie computers and computer systems. Software engineering is concerned with the practical problems of producing software. Some knowledge of computer science is needed to practice software engineering. Ideally, all of software engineering should be underpinned by theories of computer science, but in reality this is not always the case. –Software engineers must often use ad hoc approaches to develop the software. –Elegant theories of computer science cannot always be applied to real, complex problems which require a software solution.

5 CS351 - Software Engineering (AY2005)5 Software engineerin vs systems engineering Computer systems engineering is concerned with all aspects of the development and evolution of complex systems where software plays a major role. Systems engineering is concerned with hardware development, policy and process design and system deployment as well as software engineering. System engineers are involved in specifying the system, defining its overall structure and then integrating te different parts to create the finished system. They are less concerned with te engineering of the system components (hardware, software etc). Systems engineering is older than software engineering: –Complex industrial systems such as trains, chemical plants. As the percentage of software in systems has increased, software engineering techniques are finding their way into systems engineering.

6 CS351 - Software Engineering (AY2005)6 Software lifecycle Requirements Analysis Design & Specification Coding & Module Testing Integration & System Testing Delivery & Maintenance 50-70% 10-20% 10% 10-20%

7 CS351 - Software Engineering (AY2005)7 Software lifecycle “student view” Design & Specification Coding Testing (optional) Hand it in >90% <10%


Download ppt "CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects."

Similar presentations


Ads by Google