Chapter 2 Software Engineering Slide Set to accompany

  • Slides: 16
Download presentation
Chapter 2 ■ Software Engineering Slide Set to accompany Software Engineering: A Practitioner’s Approach,

Chapter 2 ■ Software Engineering Slide Set to accompany Software Engineering: A Practitioner’s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright © 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 8/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. 1

Software Engineering ■ The IEEE definition: ■ ■ ■ Software Engineering: (1) The application

Software Engineering ■ The IEEE definition: ■ ■ ■ Software Engineering: (1) The application of a systematic, disciplined, 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). IEEE: ﺗﻌﺮﻳﻒ : ﻫﻨﺪﺳﺔ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ ﻗﺎﺑﻠﺔ ﻟﻠﻘﻴﺎﺱ ﺍﻟﻜﻤﻲ ﻟﺘﻄﻮﻳﺮ ﻭﺗﺸﻐﻴﻞ ﻭﺻﻴﺎﻧﺔ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ؛ ﻫﺬﺍ ، ﻣﻘﺎﺭﺑﺔ ﻣﻨﻬﺠﻴﺔ ، ( ﺇﻥ ﺗﻄﺒﻴﻖ ﻣﻨﻀﺒﻄﺔ 1). ﻭﺗﻄﺒﻴﻖ ﺍﻟﻬﻨﺪﺳﺔ ﺇﻟﻰ ﺍﻟﺒﺮﻧﺎﻣﺞ ، ﻫﻮ . (1) ( ﺩﺭﺍﺳﺔ ﺍﻟﻨﻬﺞ ﻛﻤﺎ ﻓﻲ 2) These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. • • 3

A Layered Technology ﺗﻘﻨﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ tools method s process model a “quality” focus Software

A Layered Technology ﺗﻘﻨﻴﺔ ﺍﻟﻄﺒﻘﺎﺕ tools method s process model a “quality” focus Software Engineering These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. 4

A Process Framework Process framework Framework activities work tasks work products milestones & deliverables

A Process Framework Process framework Framework activities work tasks work products milestones & deliverables QA checkpoints Umbrella Activities These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. ﺇﻃﺎﺭ ﻋﻤﻠﻴﺔ ﺃﻨﺸﻄﺔ ﺍﻹﻃﺎﺭ ﻣﻬﺎﻡ ﺍﻟﻌﻤﻞ ﻣﻨﺘﺠﺎﺕ ﺍﻟﻌﻤﻞ ﺍﻟﻤﻌﺎﻟﻢ ﻭﺍﻟﻤﻨﺠﺰﺍﺕ ﻧﻘﺎﻁ ﺍﻟﺘﻔﺘﻴﺶ QA ﻣﻈﻠﺔ ﺍﻷﻨﺸﻄﺔ • • 5

Framework Activities ■ ■ ■ Communication Planning Modeling ■ ■ ■ Construction ■ ■

Framework Activities ■ ■ ■ Communication Planning Modeling ■ ■ ■ Construction ■ ■ ■ Analysis of requirements Design Code generation Testing Deployment These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. ﺇﻃﺎﺭ ﺍﻷﻨﺸﻄﺔ ﺍﻻﺗﺼﺎﻻﺕ ﺗﺨﻄﻴﻂ ﺗﺼﻤﻴﻢ ﺗﺤﻠﻴﻞ ﺍﻟﻤﺘﻄﻠﺒﺎﺕ ﺗﺼﻤﻴﻢ ﺇﻧﺸﺎﺀﺍﺕ ﺭﻣﺰ ﺟﻴﻞ ﺗﺠﺮﻳﺐ ﻧﺸﺮ • • • 6

Umbrella Activities ■ ■ ■ ■ ﻣﻈﻠﺔ ﺍﻷﻨﺸﻄﺔ Software project tracking and control ﺑﺮﻧﺎﻣﺞ

Umbrella Activities ■ ■ ■ ■ ﻣﻈﻠﺔ ﺍﻷﻨﺸﻄﺔ Software project tracking and control ﺑﺮﻧﺎﻣﺞ ﺗﺘﺒﻊ ﺍﻟﻤﺸﺎﺭﻳﻊ ﻭﻣﺮﺍﻗﺒﺔ Risk management ﺇﺩﺍﺭﺓ ﺍﻟﻤﺨﺎﻃﺮ ﺿﻤﺎﻥ ﺟﻮﺩﺓ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ Software quality assurance ﺍﻻﺳﺘﻌﺮﺍﺿﺎﺕ ﺍﻟﻔﻨﻴﺔ Technical reviews ﻗﻴﺎﺱ ﺇﺩﺍﺭﺓ ﺑﺮﺍﻣﺞ ﺍﻟﺘﻜﻮﻳﻦ Measurement ﺇﺩﺍﺭﺓ ﺇﻋﺎﺩﺓ ﺍﺳﺘﺨﺪﺍﻡ Software configuration management ﺇﻋﺪﺍﺩ ﺍﻟﻤﻨﺘﺞ ﺍﻟﻌﻤﻞ ﻭﺍﻹﻧﺘﺎﺝ Reusability management Work product preparation and production These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. • • 7

The Essence of Practice ■ ﺟﻮﻫﺮ ﺍﻟﻤﻤﺎﺭﺳﺔ Polya suggests: 1. Understand the problem (communication

The Essence of Practice ■ ﺟﻮﻫﺮ ﺍﻟﻤﻤﺎﺭﺳﺔ Polya suggests: 1. Understand the problem (communication and analysis). 2. Plan a solution (modeling and software design). 3. Carry out the plan (code generation). 4. Examine the result for accuracy (testing and quality assurance). : ﺑﻮﻟﻴﺎ ﻳﻘﺘﺮﺡ . ( ﻓﻬﻢ ﺍﻟﻤﺸﻜﻠﺔ )ﺍﻻﺗﺼﺎﻝ ﻭﺍﻟﺘﺤﻠﻴﻞ. 1. ( ﺧﻄﺔ ﺍﻟﺤﻞ )ﺍﻟﻨﻤﺬﺟﺔ ﻭﺗﺼﻤﻴﻢ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ. 2. ( ﺗﻨﻔﻴﺬ ﺧﻄﺔ )ﺭﻣﺰ ﺟﻴﻞ. 3. ( ﺍﻓﺤﺺ ﻧﺘﻴﺠﺔ ﻟﻠﺘﺄﻜﺪ ﻣﻦ ﺩﻗﺘﻬﺎ )ﺍﻻﺧﺘﺒﺎﺭ ﻭﺿﻤﺎﻥ ﺍﻟﺠﻮﺩﺓ. 4 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. • • • 9

Carry Out the Plan ■ ■ ﺗﻨﻔﻴﺬ ﺧﻄﺔ Does the solution conform to the

Carry Out the Plan ■ ■ ﺗﻨﻔﻴﺬ ﺧﻄﺔ Does the solution conform to the plan? Is source code traceable to the design model? Is each component part of the solution provably correct? Has the design and code been reviewed, or better, have correctness proofs been applied to algorithm? • ﻫﻞ ﺗﺘﻔﻖ ﺍﻟﺤﻞ ﻟﻬﺬﻩ ﺍﻟﺨﻄﺔ؟ ﻫﻮ ﺷﻔﺮﺓ ﺍﻟﻤﺼﺪﺭ ﻳﻤﻜﻦ ﻋﺰﻭﻫﺎ ﺇﻟﻰ ﻧﻤﻮﺫﺝ ﺍﻟﺘﺼﻤﻴﻢ؟ ، ﺃﻮ ﺃﻔﻀﻞ ، • ﻫﻮ ﻛﻞ ﺟﺰﺀ ﻣﻜﻮﻥ ﻣﻦ ﺍﻟﺤﻞ ﺍﻟﺼﺤﻴﺢ ﺛﺒﺖ ﻧﺠﺎﺡ؟ ﻭﺗﺼﻤﻴﻢ ﻭﺭﻣﺰ ﺗﻢ ﺍﺳﺘﻌﺮﺍﺽ ﻭﺍﻟﺒﺮﺍﻫﻴﻦ ﺻﺤﺔ ﺗﻢ ﺗﻄﺒﻴﻘﻬﺎ ﻋﻠﻰ ﺧﻮﺍﺭﺯﻣﻴﺔ؟ These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. 12

Examine the Result ■ ■ ﺩﺭﺍﺳﺔ ﻧﺘﺎﺋﺞ Is it possible to test each component

Examine the Result ■ ■ ﺩﺭﺍﺳﺔ ﻧﺘﺎﺋﺞ Is it possible to test each component part of the solution? Has a reasonable testing strategy been implemented? Does the solution produce results that conform to the data, functions, and features that are required? Has the software been validated against all stakeholder requirements? • ﻫﻞ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﻻﺧﺘﺒﺎﺭ ﻛﻞ ﺟﺰﺀ ﻣﻜﻮﻥ ﻣﻦ ﺍﻟﺤﻞ؟ ﻟﺪﻳﻪ ﺍﺳﺘﺮﺍﺗﻴﺠﻴﺔ ﺍﺧﺘﺒﺎﺭ ﻣﻌﻘﻮﻟﺔ ﺗﻢ ﺗﻨﻔﻴﺬﻫﺎ؟ • ﻻ ﻧﺘﺎﺋﺞ ﺇﻧﺘﺎﺝ ﺍﻟﺤﻞ ﺍﻟﺘﻲ ﺗﺘﻮﺍﻓﻖ ﻣﻊ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻭﺍﻟﻮﻇﺎﺋﻒ ﻭﺍﻟﻤﻴﺰﺍﺕ ﺍﻟﻤﻄﻠﻮﺑﺔ؟ ﺗﻤﺖ ﺍﻟﺒﺮﻧﺎﻣﺞ ﺗﻢ ﺍﻟﺘﺤﻘﻖ ﻣﻦ ﺟﻤﻴﻊ ﻣﺘﻄﻠﺒﺎﺕ ﺃﺼﺤﺎﺏ ﺍﻟﻤﺼﻠﺤﺔ؟ These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. 13

Hooker’s General Principles ■ ■ ■ ■ 1: The Reason It All Exists 2:

Hooker’s General Principles ■ ■ ■ ■ 1: The Reason It All Exists 2: KISS (Keep It Simple, Stupid!) 3: Maintain the Vision 4: What You Produce, Others Will Consume 5: Be Open to the Future 6: Plan Ahead for Reuse 7: Think! ﺍﻟﻤﺒﺎﺩﺉ ﺍﻟﻌﺎﻣﺔ ﻫﻜﺮ ﺍﻟﺴﺒﺐ ﻫﻮ ﻛﻞ ﻣﻮﺟﻮﺩ : 1 ، ﻳﺒﻘﻴﻪ ﺑﺴﻴﻂ KISS ( : 2 (! ﻏﺒﻲ ﺍﻟﺤﻔﺎﻅ ﻋﻠﻰ ﺍﻟﺮﺅﻴﺔ : 3 ﺃﺨﺮﻯ ، ﻣﺎ ﺃﻨﺖ ﺇﻧﺘﺎﺝ : 4 ﺳﻮﻑ ﺗﺴﺘﻬﻠﻚ ﻛﻦ ﻣﻨﻔﺘﺤﺎ ﻋﻠﻰ ﺍﻟﻤﺴﺘﻘﺒﻞ : 5 ﺍﻟﺘﺨﻄﻴﻂ ﺍﻟﻤﺒﻜﺮ ﻹﻋﺎﺩﺓ : 6 ﺍﻻﺳﺘﺨﺪﺍﻡ ! ﻓﻜﺮ : 7 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. • • 14

Software Myths ﺃﺴﺎﻃﻴﺮ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ Affect managers, customers (and other non-technical stakeholders) and practitioners ■

Software Myths ﺃﺴﺎﻃﻴﺮ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ Affect managers, customers (and other non-technical stakeholders) and practitioners ■ Are believable because they often have elements of truth, ■ but … ■ Invariably lead to bad decisions, therefore … ■ Insist on reality as you navigate your way through software engineering ■ These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 8/e (Mc. Graw-Hill 2014). Slides copyright 2014 by Roger Pressman. ﺗﺆﺜﺮ ﺍﻟﻤﺪﻳﺮﻳﻦ ﻭﺍﻟﻌﻤﻼﺀ )ﻭﺃﺼﺤﺎﺏ ( ﺍﻟﻤﺼﻠﺤﺔ ﻏﻴﺮ ﺍﻟﻔﻨﻴﺔ ﻭﺍﻟﻤﻤﺎﺭﺳﻴﻦ ﻫﻞ ﻳﻤﻜﻦ ﺗﺼﺪﻳﻘﻬﺎ ﻷﻨﻬﺎ ﻓﻲ ﻛﺜﻴﺮ ﻣﻦ ﺍﻷﺤﻴﺎﻥ ﻋﻨﺎﺻﺮ ﻣﻦ ، ﺍﻟﺤﻘﻴﻘﺔ . . . ﻭﻟﻜﻦ ﻳﺆﺪﻱ ﺣﺘﻤﺎ ﺇﻟﻰ ، ﻗﺮﺍﺭﺍﺕ ﺳﻴﺌﺔ … ﻟﺬﺍ ﺍﻹﺻﺮﺍﺭ ﻋﻠﻰ ﺍﻟﻮﺍﻗﻊ ﻛﻤﺎ ﻳﻤﻜﻨﻚ ﺍﻟﺘﻨﻘﻞ ﻓﻲ ﻃﺮﻳﻘﻚ ﻣﻦ ﺧﻼﻝ ﻫﻨﺪﺳﺔ ﺍﻟﺒﺮﻣﺠﻴﺎﺕ • • • 15