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

Slides:



Advertisements
Similar presentations
ASYCUDA Overview … a summary of the objectives of ASYCUDA implementation projects and features of the software for the Customs computer system.
Advertisements

Digital inclusion – a CS perspective Alex Poulovassilis ESRC TLRP-TEL Inclusion and Impact conference, June 2010.
Testing and Quality Assurance
Sharif University of Technology Session # 2.  Contents  Structured analysis and design  Information system development  Systems Analysis and Design.
Chapter 4 Quality Assurance in Context
Ch 3 System Development Environment
Alternate Software Development Methodologies
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
© 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Lecture 1: Systems super systems, systems & subsystems SYS366.
Introduction to Systems Analysis and Design
Introduction to Software Testing
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Chapter 1 The Systems Development Environment
Effective Methods for Software and Systems Integration
CDU – School of Information Technology HIT241 Professional Practice… - Slide 1 IT Project Management ACS - Core Body of Knowledge In Australia in November.
1 The Problem Do you have: A legacy ABL system with millions of Lines of ABL Code? Years and years of modifications to your ABL code? System documentation.
Computers & Employment By Andrew Attard and Stephen Calleja.
1 Software Process Lecture Outline Nature of software projects Engineering approaches Software process A process step Characteristics of a good.
Symposium 2001June 24, 2001 Curriculum Is Just the Beginning Chris Stephenson University of Waterloo.
What is Software Engineering?. Software engineering Multi-person construction of multi-version software (David Parnas) An engineering discipline whose.
Chapter 2 The process Process, Methods, and Tools
1 Systems Analysis and Design in a Changing World, Fourth Edition.
Interviewing CIS 331. Required Skills of the Systems Analyst Technical knowledge and skills – Computer hardware, software, databases, and related devices.
Twelfth Lecture Hour 10:30 – 11:20 am, Saturday, September 15 Software Management Disciplines Project Organization and Responsibilities (from Part III,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 INTRODUCTION Chapter 1 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon Negash.
System Development Process Prof. Sujata Rao. 2Overview Systems development life cycle (SDLC) – Provides overall framework for managing system development.
Digital Library Operating Management System by North Bangkok University Suphot Phuangkamnerd 1 Prachyanun Nilsook 2 and Ravisada Thamrongviwanna3 1 North.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
1 ISA&D29-Oct ISA&D29-Oct-13 Systems Analyst: problem solver IT and Strategic Planning.
IT job research By Megan McGonigle Sources: - responsibilites-explainedhttp://targetcourses.co.uk/study-areas/computer-science-and-it/it-job-roles-and-
Chapter 1 The Product. 2 Product  What is it?  Who does it?  Why is it important?  How to ensure it be done right?
Computer Information Systems Jennings A. Jones College of Business Middle Tennessee State University.
University of Sunderland COM369 Unit 1 COM369 IS Project Management.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Pertemuan 1 Introduction to Software Engineering Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.
IS444: Modern tools for applications development Dr. Azeddine Chikh.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Of An Expert System.  Introduction  What is AI?  Intelligent in Human & Machine? What is Expert System? How are Expert System used? Elements of ES.
System Analysis & Design TERM-C. Fida Hussain Yousafzai 2 Chairman department of computer science Kardan Institute of Higher Education-Kabul MSc(computer.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
 Has computer technology knowledge and programming expertise  Understands business problems  Uses logical methods for solving problems  Has fundamental.
1
Advanced Software Engineering Dr. Cheng
CompSci 280 S Introduction to Software Development
Chapter 1- Introduction
Chapter 1: Introduction to Systems Analysis and Design
Systems Analysis and Design in a Changing World, Fifth Edition
Overview of System Engineering
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
Teaching slides Chapter 1.
Introduction to Software Testing
CIS12-3 IT Project Management
Teaching slides Chapter 6.
System Analysis and Design
System Analysis and Design
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
Teaching slides Chapter 13
Rapid software development
Chapter 1: Introduction to Systems Analysis and Design
Updates on CompTIA A+, Network+ and Security+ exams
Presentation transcript:

Teaching slides Chapter 1

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

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.

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

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

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.

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.

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.

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.

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.

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.

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