Week 3

Week 3 Analysis Overview

Course Instructor: Dr. Huaming ChenEmail: huaming.chen@sydney.edu.auOffice: 409A, J03

Acknowledgment of Tradition

  • Acknowledges custodianship and law of the country, honoring those who continue to care for it.

Requirement Definition & Problem Statement

  • Essential for defining requirements and understanding software development problems, arising from defects, user experience issues, and business demands.

Software Development Needs and Sources

  • New Software Versions:

    • Greenfield Development (new products/services, e.g., launching iPhone).

    • Upgrades (new versions to existing software, e.g., iOS updates) and Patches (security upgrades).

    • Requirements necessitate revisions driven by investment demands, market pressures, and technology changes.

Cost Estimation in Software Development

  • Estimated based on effort and correlated costs, utilizing man-months.

  • Formulas:

    • Total Cost = Estimated Man-Months x Rate (e.g., $5,000 per man-month).

    • KLOC = Total Lines of Code / 1000 (measure for estimating costs).

  • Cost Estimation Examples

    • Application Development (1982):

      • Development Time: 10,000 instructions / 10 instructions/person/day = 1,000 man-days.

      • Total cost = $200,000; Percentage = 61.5%.

    • Cost Estimation Exercise (2002):

      • Development Time: 10,000 / 40 = 12.5 man-months.

      • Cost = $100,000; Percentage = 98%.

Decision Analysis in Software Production

  • Decision Trees: Models for analyzing decisions with probabilistic outcomes.

  • Evaluation of investment scenarios and alternative strategies using expected values, based on the following concepts:

    • Expected Value (EV) = (Probability of Success x Value of Success) + (Probability of Failure x Value of Failure).

    • This requires analyzing market responses to different strategies.

Demand and Stakeholder Engagement

  • Demand varies by market, with key elements being entry into new markets and innovation.

  • Stakeholders engage in defining requirements, influencing decisions, and bridging business and technical specifications through iterative processes.

Requirement Definition Process

  • Involves qualifications, budgeting, scheduling, and adjustments based on feedback, emphasizing the importance of stakeholder engagement, requirements analysis, and cost estimation for informed software engineering decisions.

Summary

  • This overview underscores the significance of systematically addressing requirements, estimations, and stakeholder involvement for successful software development.

robot