Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPSC 871 John D. McGregor M33S1 Foundations of Software Engineering.

Similar presentations


Presentation on theme: "CPSC 871 John D. McGregor M33S1 Foundations of Software Engineering."— Presentation transcript:

1 CPSC 871 John D. McGregor M33S1 Foundations of Software Engineering

2 Abstraction Omit detail Focus on essentials/properties Types – Specification – Implementation dependencies

3 Encapsulation

4 Information hiding Eliminate dependencies

5 Modularization Coupling/cohesion

6 Generalization/Specialization Inheritance Refinement extension

7 Hierarchy Composition Generalization Priority Incremental

8 Paradigms Functional/procedural Object-oriented Service-oriented

9 Processes Waterfall Iterative-incremental Spiral Driven – Model – Test Process modeling – Epf Metrics

10 Algorithms/structures Languages – General purpose – Domain specific Complexity theory – Runtime - cs – Incidental Bad organization – Inherent Algorithmic

11 Analysis Operational context Economic perspective Requirements – Elicitation Sources interviews – Analysis Hierarchical Interactions Functional/non-functional

12 Architecture/Design Specifications Nominal/exceptional/error flows Constraints Trade-offs Design Patterns

13 Construction Traceability Standard languages Metrics Language idioms

14 Validation & verification Validation – Compare to human expectations Verification – Compare to some independent standard – oracle Operates in parallel to the development process

15 Tools Operating system Programming – compilers/interpreters/translators – debuggers Translator – Because it is the human that is the weakest link – Object-oriented, data driven, procedural, functional are all reducible – The languages are there to help us

16 Standards Process Language Ad hoc Recent Toyota case http://www.safetyresearch.net/blog/articles/toyota- unintended-acceleration-and-big-bowl- %E2%80%9Cspaghetti%E2%80%9D- code?utm_content=bufferf2141&utm_medium=social&utm_s ource=twitter.com&utm_campaign=buffer

17 Management Risk Trust Project Product Customer Mythical man month Adding people to a late project … http://javatroopers.com/Mythical_Man_Mont h.html

18 Professionalism Responsibility Legal Moral Ethical Accreditation/certification

19 Business models Ecosystems Free Open source Subscription


Download ppt "CPSC 871 John D. McGregor M33S1 Foundations of Software Engineering."

Similar presentations


Ads by Google