Objectives :

· Introductory software engineering course that will present the software development lifecycle and methodology for dealing with each phase.

· Introduce the latest trends in large scale S/W development.

· Apply S/W principles to a large-scale design project.

· Ethics: Whistle blowing, human safety, embedded risk, software reliability, professional code of ethics.

· Fundamental problem solving concepts, top down design, procedural abstraction, control structures, data types.

· Software development process: Software life cycle models, specification design tools, software design objectives, documentation, configuration management, S/W reliability, safety, risk assessment and maintenance.

· Software estimation techniques, loc and FP estimation. Empirical models like COCOMO. Project tracking and scheduling. Reverse engineering.

· Software requirements and specifications: Informal/formal specifications, pre/post conditions, algebraic specifications and requirement analysis models.

· Software design and implementation: Functional/process oriented design, bottom up design, other design techniques (OOD,JSD), implementation strategies (top-down, bottom-up, team) and issues, reuse, performance improvement, debugging and antibugging.

· Verification, validation, testing and maintenance: Verification and validation techniques (pre/post -conditions, invariant, proof of correctness), code and design reading, structured walk through, testing (test plan, white/black box testing, unit and integration testing, regression testing, test case design and acceptance testing) and maintenance activities.

· Code sharing, software components, rapid prototyping, specialization, construction, class extensions, intelligent software agents.

· Introduction to CASE tools.

· Social, legal and ethical implications of computing.

Home > Bachelor of Engineering (BE) > SOFTWARE ENGINEERING
  1. No comments yet.
  1. No trackbacks yet.