|
- Introduction (1 lecture) What is software engineering; the goals of software engineering; Why is software engineering important commercial considerations - Software processes (2 lectures) Waterfall Model, Evolutionary development, Formal systems development, Reuse oriented development, risk analysis - Requirement analysis (5 lectures) what are requirements and why are they important requirements elicitation and validation user and system requirements functional/nonfunctional requirements security analysis and requirements techniques for describing system requirements - System models (3 lectures) Behavioural modelling, data modelling, and object modelling - Formal specification (2 lectures) formal specification in the software process formal specification languages - Design and Design Methodologies (4 lectures) design of software components and devices modularity as a tool for handling complexity unit versus system design propertie
s of good design (cohesion, loose coupling,...) top-down design and its problems safety, correctness and security - Concepts of Object-Oriented Design (2 lectures) objects and classes public and private aspects of objects inheritance, aggregation and composition - Unified Modelling Language (4 lectures) what is UML? - brief history object oriented analysis with UML : use cases object oriented analysis with UML : concept diagrams object oriented design with UML : collaboration diagrams object oriented design with UML : object models object oriented design with UML : state charts - Design patterns (2 lectures) What are design patterns? How can we use design patterns effectively? Examples of Design Patterns being used - Software Testing (3 lectures) black box testing generating test cases: boundary analysis, equivalence partitioning white box testing security testing - Software projects (3 lectures) Overview of project stages, areas of risk in e
ach stage Establishing a business case; establishing project objectives, goals, and measures of success Project planning and estimation; critical path analysis, risk identification Project monitoring; monitor and control finances; control, assure, and manage quality.
|