FIT2024 Lecture Notes - Lecture 3: Personal Software Process, Software Projects
Week 3 - Software Engineering & Software Quality
Software Engineering Problems
● “Soft” have to specify from scratch - high chance of error
● Demand still outstrips supply
● 70% is still maintence
● Software is frequently not produced on time and within budget
● Faults
○ Unreliable
○ Ever changing environments
● Why does it take so long? - iterations!
● As software system grows so does the problems
○ People need more communication due to dependencies
○ Standards increase
Quality
● Satisfy stated or implied means
● If it can't be tested, probably not a requirement
● Different aspects of quality, hard to satisfy all of them
● Planning for Quality
○ What attributes of the product manifest quality?
○ How is quality measured?
○ When do we evaluate the product and the process?
○ Who is responsible for carrying out the process
● Management of Software Quality
○ Quality Principles
■ Try to prevent defects from being introduced
■ Ensure that defects that get in are detected and corrected as early as
possible
■ Measure quality characteristics
○ Management Principles
■Define roles and responsibility
■ Plan the work
■ Track progress
■ Progressively refine the plans
○ Engineering Principles
■ Analyse the problems then develop the solution
■ Break complex problems into several less complex ones
■ Use recognized tools and techniques
Software Engineering Products
Document Summary
Week 3 - software engineering & software quality. Soft have to specify from scratch - high chance of error. Software is frequently not produced on time and within budget. As software system grows so does the problems. People need more communication due to dependencies. If it can"t be tested, probably not a requirement. Different aspects of quality, hard to satisfy all of them. Who is responsible for carrying out the process. Try to prevent defects from being introduced. Ensure that defects that get in are detected and corrected as early as possible. Analyse the problems then develop the solution. Break complex problems into several less complex ones. A process framework for applying methods, tools and people to software development. Can think of activities that produce a software product. The sequence of steps to develop and maintain software. The basis for management control of software projects. Metrics - the gathering of quantitative data about the software process.