Download presentation
Presentation is loading. Please wait.
Published byFlora Stevenson Modified over 8 years ago
1
Software Engineering & Project Management Lecture # 01 Computer Science & Engineering Lucky Sharma www.lucky.pentaclesoftwares.com Subject Code: CS 603
2
2 Syllabus Outline Unit One: The Software Product and Software Process Unit Two: Requirement Elicitation, Analysis, and Specification Unit Three: Software Design Unit Four: Software Analysis and Testing Unit Five: Software Maintenance & Software Project Measurement
3
3 Lecture # 01 - Agenda 1.Introduction to Software Engineering.
4
Key Ingredients in successful organizations People Technology Process
5
A better view Process and Technology supporting people Processes Technology People
6
What is software? Computer programs and associated documentation Software products may be developed for a particular customer or may be developed for a general market Software products may be Generic - developed to be sold to a range of different customers Custom- developed for a customer according to their specification
7
7 Engineering Engineering is … The application of scientific principles and methods to the construction of useful structures & machines Examples Mechanical engineering Computer engineering Civil engineering Chemical engineering Electrical engineering Nuclear engineering Aeronautical engineering
8
Software Engineering The term is 35 years old: NATO Conferences Garmisch, Germany, October 7-11, 1968 Rome, Italy, October 27-31, 1969 The reality is it is finally beginning to arrive Computer science one the scientific basis Years of studies/experience/statistics provide basis too Many aspects have been made systematic Methods/methodologies/techniques Languages Tools Processes
9
Software Engineering: From Principles to Tools
10
10 Why Engineer Software ? The problem is complexity Many sources, but size is a key: Mozilla contains 3 Million lines of code UNIX contains 4 million lines of code Windows 2000 contains 10 8 lines of code Second is role and combinatorics of “state” Third is uncertainty of “inputs” and their timing Fourth is the continuing changing “environment” and demands. Software engineering is about managing all the sources of complexity to produce effective software.
11
11 Software Engineering in a Nutshell Development of software systems whose size/complexity warrants team(s) of engineers multi-person construction of multi-version software [Parnas 1987] Scope Study of software process, development/management principles, techniques, tools and notations Goal Production of quality software, delivered on time, within budget, satisfying customers’ requirements and users’ needs
12
What does a software engineer do? Software engineers should adopt a systematic and organised approach to all aspects of software development. use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available Understand and communicate processes for improved software development within their organization Be effective team members and/or leaders. Can be very technical or more managerial depending on organizational need.
13
13 Difficulties? SE is a unique brand of engineering Software is malleable Software construction is human-intensive Software is intangible and generally invisible Software problems are unprecedentedly complex Software directly depends upon the hardware It is at the top of the system engineering “food chain” Software solutions require unusual rigor Software “state” means behaviors can depend on history. Software has discontinuous operational nature
14
Software Engineering ≠ Software Programming Software programming Single developer “Toy” applications Short lifespan Single or few stakeholders Architect = Developer = Manager = Tester = Customer = User One-of-a-kind systems Built from scratch Minimal maintenance
15
Software Engineering ≠ Software Programming Software engineering Teams of developers with multiple roles Complex systems Indefinite lifespan Numerous stakeholders Architect ≠ Developer ≠ Manager ≠ Tester ≠ Customer ≠ User System families Reuse to amortize costs Maintenance accounts for 60%-80% of overall development costs
16
16 Thank You Next Class agenda 1.Software’s qualities. 2.Software Product. 3.Software Process. Catch latest updates at www.lucky.pentaclesoftwares.com
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.