Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Course Instructor: Aisha Azeem.

Similar presentations


Presentation on theme: "Software Engineering Course Instructor: Aisha Azeem."— Presentation transcript:

1 Software Engineering Course Instructor: Aisha Azeem

2  Introduction, Software VS. Software Engineering  Evolving era of software  Application domains  Software engineering processes and myths  Software process Models(waterfall, evolutionary and component based Software engineering), process iteration  Project Management Activities(planning and scheduling)  Risk management  Software requirement (functional, non-functional)  Architecture design  Software Metrices  Software Testing  Unified Modeling Language (UML) Course Outline

3  Text Books  Software Engineering, Sommerville, 9 th Edition, Addison Wesley, 2010  Schaum's Outline of UML (Schaum's Outline Series)  Reference Books  Software Engineering: A Practitioners Approach, Pressman 7th Edition  Applying UML and Patterns, Craig Larman,2 nd Edition, Prentice Hall, 2002 Recommended Books

4 Software Engineering  What is Software?  Software is the collection of computer programs, rules and associated documentation and data.  What is Software Engineering?  It is the systematic approach to the development, operations, maintenance and retirement of software.

5 Software Engineering  “A discipline that deals with the building of software systems that are so large that they are built my a team or teams of engineers.”

6 Software Engineering  “A discipline whose aim is the production of fault-free software, delivered on-time and within budget, that satisfies the user’s needs.  Furthermore, the software must be easy to modify when user needs change”

7 Software Engineering is not programming Small project You Build what you want One product Few sequential changes Short-lived Cheap Small consequences Huge project Teams Build what they want Family of products Many parallel changes Long-lived Costly Large consequences ProgrammingEngineering

8 Differences from Programming  Software Engineering includes  determining what to build  eliciting requirements from user(s)  organizing teams to build systems cooperatively  designing a software architecture  analysis and design of modules  testing  lifecycle system engineering  writing documentation

9 From Programming to Engineering  People  Who else would do the work?  Range from novice to very experienced  Processes  To organize and manage the efforts of individuals  Range from informal to very formal  Tools  To support the people and the processes  Range from simple to very advanced People + Processes + Tools  Product

10 People  The single most important factor in the success/failure of a product  Scarce resource  Quality  Suitability  Cost  Many different kinds of people  Managers  Programmers  Technical writers

11 Processes  Essential to achieve a quality product  (Time is a) scarce resource  Quality  Suitability  Cost  Many different kinds of processes  Bug tracking  Change approval  Quality assurance

12 Tools  Needed to support people and processes  Scarce resource  Quality  Suitability  Cost  Many different kinds of tools  Drawing  Analysis  Project management  Source code management people support process support

13  Result of applying people, processes, and tools  Consists of many deliverables  Software  Documentation  User manuals  Test cases  Design documents  Intrinsic qualities  Safety  Reliability  User friendliness Product

14 Choose the Right Solution Lahore Europe Canada

15 People, Processes, Tools, Products  Products are always the eventual goal  Selling products creates revenue  Selling good products creates lots of revenue  Selling bad products creates little revenue  People, processes, and tools are retained by organization  Build a reputation through the quality of products  Create organizational culture  Important to keep the team intact People + Processes + Tools  Product

16 Why Do We Do It?  Economics  More revenue  Better people, processes, tools  better product  Better product  more customers  More customers  more revenue  More revenue  more profit  Less expense  Better people, processes, tools  less time  Less time  less expense  Less expense  more profit


Download ppt "Software Engineering Course Instructor: Aisha Azeem."

Similar presentations


Ads by Google