1 - Intro To Sw Engg.

  • Uploaded by: sheheryar
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 1 - Intro To Sw Engg. as PDF for free.

More details

  • Words: 1,064
  • Pages: 29
Introduction to Software Engineering FALL-2009 SEN-360 : Software Engineering Tazeen Muzammil

Course Title: Software Engineering Course Code: SEN-261 Prerequisites: NONE Degree(s): BCS,BSE Laboratories: none

2

Course Description Introduction to Software Engineering Software Process Models Project Management Concepts System Engineering Requirements Engineering Analysis Concepts and Principles Design Concepts and Principles Architecture and detailed design User-interface design Verification and Validation Software Quality Assurance Software Testing Techniques and Strategies Clean Room Software Engineering Maintenance Configuration Management Reengineering and Web Engineering 3

Books TEXT: Software Engineering:  A Practitioner's Approach Author:  Roger S. Pressman Publication Information:  6th Edition, McGraw-Hill, 2005   4

Books Reference: Software Engineering Author: Ian Sommerville Publication Information: 7th Edition Pearson Education   The Mythical Man-Month:  Essays on Software Engineering Author:  Frederick P. Brooks Publication Information:  20th Anniversary Edition, AddisonWesley, 1995

5

Marks Distribution Quizzes

10

Mid–Term Examination

20

Final Examination

50

Project

20

Total

100

6

Group Project PROJECT GOAL: As a team, develop a software application (of your own choice) through the entire development life cycle. This means performing requirements analysis, design, implementing a functioning prototype, testing and documenting the system TEAM ORGANIZATION: Each team will consist of four (4-5) students. You may choose your own teams, although teams may be adjusted to accommodate all the students in the class. One team member should be chosen as project lead for organizational and contact purposes, but all team members are expected to contribute to all components of the project. IMPLEMENTATION: The prototype can be developed in any environment using any development or prototyping language.

7

DELIVERABLES DELIVERABLE Project Definition & Team Organization Software Requirements Specification

DUE DATE 21st September 14th October

Design Document

4nd November

Prototype

30th November

User Documentation

16th December

8

What is Software Computer software, or just software is a general term used to describe the role that computer programs, procedures and documentation play in a computer system. Software is computer programs and associated documentation such as requirements, design models and user manuals.

9

What is Software Engineering Software engineering is an engineering discipline whose focus is the cost effective development of high-quality software system. Software engineering covers not only the technical aspects of building software systems, but also management issues, such as directing programming teams, scheduling, and budgeting.

10

Software Engineering Classic Definition (1969) “The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines.”

IEEE Definition (1993) “Software Engineering: (1) The application of a systematic, disciplines, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software. (2) The study of approaches as in (1).”

11

What is the difference between software engineering and computer science? Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.

12

What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system. 13

What are the Attributes of good Software Maintainability Dependability Efficiency Usability

14

What is CASE The acronym CASE stands for ComputerAided Software Engineering. Software system which are intended to provide automated support for software process activities.

Software Engineering & Process Models

15

Product & Process Product : What is delivered to the customer

Process : Collection of activities that lead to a product 16

Evolving Role of Software Early Years Batch orientation Custom software

Second Era Multi-user, Real-time Database Product software

Third Era Distributed systems Low cost hardware

Fourth Era Desktop systems Object Oriented Technologies Expert Systems AI, neural networks Parallel computing Network computers0,

17

S/W Characteristics S/W is developed or engineered, it is not developed in the classical sense S/W doesn’t wear out Although industry is moving towards component based assembly, most S/W continue to be custom built

18

S/W Applications System Software Real-Time Software Business Software Engineering & Scientific Software Embedded Software Personal Computer Software Web Based Software AI Software

19

Software Myths − Managers We have standards and procedures for building software, so developers have everything they need to know. We have state-of-the-art software development tools; after all, we buy the latest computers. If we’re behind schedule, we can add more programmers to catch up. A good manger can manage any project.

20

Software Myths − Client A general statement of objectives is sufficient to begin writing programs − we can fill in the details later. Requirement changes are easy to accommodate because software is flexible. I know what my problem is, therefore I know how to solve it.

21

Software Myths − Practitioner If I miss something now, I can fix it later. Once the program is written and running, my job is done. Until a program is running, there’s no way of assessing its quality. The only deliverable for a software project is a working program.

22

Software Engineering Layered Technology Key Process Areas Tools Methods Process Quality [Pressman 97]

23

Generic View of S/W Engg. Definition Phase(WHAT) System/Information Engineering Software Project planning Requirement Analysis

Development Phase(HOW) Software design Code Generation Software testing

Support Phase Correction Adaptation Enhancement Prevention 24

Capability Maturity Model Developed by SEI Five Process Maturity Levels Level Level Level Level Level Level

0: 1: 2: 3: 4: 5:

Chaos Initial Repeatable Defined Managed Optimizing 25

S/W process – Activity Model In a S/W development process context, Process is defined as an ordered set of activities that, after completed, result in a S/W product Input Entry Conditions

Activity Implementation Conditions

Output Exit Conditions 26

Process Principles Prescribes all major activities Uses resources, within a set of constraints, to produce intermediate and final products May be composed of sub-processes Each activity has entry and exit criteria Activities are organized in a sequence Has a set of guiding principles to explain goals Constraints may apply to activity, resource or product

27

Steps : S/W Dev.Process Identify the S/W model Identify the activities Identify the relationship among activities Document other useful information on each activity Document how to tailor the process Document how to improve the process Obtain the buy-in of the process Continually use & improve the process Software Engineering & Process Models

28

S/W Process Model Problem Definition Status Quo

Technical Development Solution Integration

Software Engineering & Process Models

29

Related Documents


More Documents from ""