Presentation is loading. Please wait.

Presentation is loading. Please wait.

Teaching slides Chapter 1. Chapter 1: Introduction Introduction Components of a computer Building the software products What is software engineering?

Similar presentations


Presentation on theme: "Teaching slides Chapter 1. Chapter 1: Introduction Introduction Components of a computer Building the software products What is software engineering?"— Presentation transcript:

1 Teaching slides Chapter 1

2 Chapter 1: Introduction Introduction Components of a computer Building the software products What is software engineering? Why software engineering? –Reduction of development costs –Reduction of development time –Increasing the quality Challenges in software engineering Project management and software engineering Costs involved in software development Methodologies used for software development Some careers in software engineering Software Industry size Code of ethics Book organization

3 Chapter 1: Introduction A computer is made of hardware and software parts. While hardware engineers make hardware parts; it is software engineers who create software parts of a computer. Software products can be created by software engineers using software engineering techniques much like a civil engineer building an apartment building using civil engineering techniques. Software products are built for profit much like an apartment building is built for rental income/profit. For building a small software product, knowledge of software engineering is not needed much like when a small log cabin needs to be built, then expertise in civil engineering is not needed. But when a large software product needs to be built then sound software engineering techniques are required. It is similar to the case when civil engineering techniques are needed in building a large apartment building.

4 Chapter 1: Introduction Objectives of building an apartment building using a project

5 Chapter 1: Introduction Objectives of building a software product using a project

6 Chapter 1: Introduction Software engineering processes & software industry focus Software engineering is a methodology consisting of processes including software requirement management, software design, software construction, software testing and software release processes. These are the core processes of software engineering. Peripheral processes in software engineering include project management, configuration management, feasibility study etc. Any industry produces products keeping in focus to increase product quality and reduce product cost. These goals are achieved by using more automation and improving production processes. Software engineering industry achieves the same goals by improving software engineering processes and using more productive methods like reusable libraries, improved software development infrastructure etc. Development of a software product takes a lot of time: to the tune of many months to many years. Reducing time to develop a software product is also a goal for any software project team. Reducing time can be achieved by the same techniques like using reusable libraries, using more productive processes etc.

7 Chapter 1: Introduction Challenges in building software products Even though software engineering provides solutions for building software products nevertheless it is not easy to do so. The foremost problem encountered in developing a software product is the complexity. This complexity comes from large size of requirements. The minute users of the software product want more detailed output from the software product, complexity in designing the software product increases manifold. For example a simple visitor counter on a website may provide information about number of visitors on the website. Building such a visitor counter will be very simple. But if a user wants information about country, web browser used, operating system used etc. about each visitor to the website then the design of the software product will become very complex. If you add some more user requirements like number of hits per year, per day and per month, number of unique visitors etc. then the design for the software product for visitor counter will indeed become very challenging.

8 Chapter 1: Introduction Software engineering & software project management Software engineering processes are embedded inside project management processes. This is done to ensure that software engineering can be used to build software products using a software project. Software products are built using software projects because building a software product is not like producing a mobile phone in a factory. Rather building a software product is more like building an apartment building. In both these cases, there is a definite start date and an end date. At the same time; time required to building an apartment building or a software product is large (to the tune of months to years). Building a software product indeed is a labor intensive work.

9 Chapter 1: Introduction Software engineering methodologies Software engineering processes can be used in many ways. It depends on the kind of project being undertaken as well as on how the software product will be built. If software product needs to be built incrementally then an agile software engineering methodology will be used. If a complete software product needs to be built under one large project then a Waterfall based software engineering methodology will be used.

10 Chapter 1: Introduction Careers in software industry Software engineering provides many avenues of careers. A person can work on a software project as a software engineer, business analyst, database administrator, software designer, software developer, software tester, user interface designer etc. Well experienced people can also become software project managers. Most of the careers related to software engineering are well paid. People with skills related to software engineering are also always in high demand.

11 Chapter 1: Introduction Ethics & software engineering Many modern fields of human activity touch lives of many people. If a person employed in one of these fields has mala fide intentions or employs bad ethics, can damage lives of many people. Doctors and medical practitioners can cripple lives of patients if they resort to bad ethics. Software products also touch lives of many people. If a software engineer has bad ethics then he/she can hack computers or write computer programs which can do the same job of hacking computers then it can impact lives of many people. Due to this reason, software engineers should abide by code of ethics. If they are found to employ bad ethics in their profession then they should be tried by the law of the land.

12 Chapter 1: Introduction Chapters in the book This book is organized based on parts of software engineering. Each chapter deals with one part of software engineering. Chapter 1: Introduction on software engineering Chapter 2: software engineering methodologies Chapter 3: feasibility study Chapter 4: software requirement specification Chapter 5: software high level design & modeling Chapter 6: software user interface design & construction Chapter 7: software middle layer design & construction Chapter 8: database design & construction Chapter 9: software testing (verification & validation) Chapter 10: software release Chapter 11: software maintenance Chapter 12: configuration & version management Chapter 13: software project management


Download ppt "Teaching slides Chapter 1. Chapter 1: Introduction Introduction Components of a computer Building the software products What is software engineering?"

Similar presentations


Ads by Google