Interactive Complexity Complexity is a moving target The underlying factor is intellectual manageability 1. A simple\system has a small number of unknowns in its interactions within the system and with its environment 2. A system is intellectually unmanageable when the level of interactions reaches the point where they cannot be thoroughly
Difficult Person Hostile-aggressie Bullies, cverwhelms, and intimidates cthers nd up to the hostile ade frot atoers-can t accept feedback on t rush into the worst thing that coul happen?)
Can programming language influence correctness? anguages affect the way we think about problems The tools we use have a profound(and devious) influence on our thinking habits, and, therefore on our thinking abilities?
Fairly primitive and predictive power limited Function Points Count number of inputs and output, user interactions, external interfaces files used Assess each for complexity and multiply by a weighting factor Used to predict size or cost and to assess project productivity
A Testing EXercise (From Glenford Myers: The Art of Software Testing A program reads three integer values from a card. The three values are interpreted as representing the lengths of the sides of a triangle. The program prints a message that states whether the triangle is scalene iso
design: added inheritance, multiple inheritance, and polymorphism to ADT In process added complexity and increased some types of connectivity Lots of claimed advantages -- so far empirical evaluation is not supporting them well
Requirements specification: A structured document that sets out the services the system is expected to provide Should be precise so that it can act as a contract between the system procurer and software developer and thus needs to be understandable by procurers and developers