Software Engineering (CMPC-104)

 

Introduction:

  • This course will introduce the study various software development models and software development life cycles. The concepts of project management, change control, process management, software development, Software Quality Assurance, Requirement Engineering Processes testing are introduced through hands-on team Projects.

 

Course Prerequisites

  • None

Learning outcomes

      After completing this course, you should be able to:

  • Explains how various software development models and software development life cycles are applied.
  •  Presents the fundamentals concepts of project management.
  • Important Requirements modeling, fact-finding techniques
  • Have knowledge of software configuration management.
  • Risks Analysis and Management Strategy

 

Textbook(s):

 

  • Software Engineering: A Practitioner's Approach by Roger S. Pressman, McGraw-Hill Science/Engineering/Math; 7th Edition (2009). ISBN-10: 0073375977
  • Systems Analysis and Design by Gary B. Shelly, Thomas J. Cashman and Harry J. Rosenblatt, Course Technology; 7th Edition (2007). ISBN-10: 1423912225

Reference Material:

  • Software Engineering 8E by Ian Sommerville, Addison Wesley; 8th Edition (2006). ISBN-10: 0321313798
  • Systems Analysis and Design by Gary B. Shelly, Thomas J. Cashman and Harry J. Rosenblatt, Course Technology; 7th Edition (2007). ISBN-10: 1423912225

, Addison-Wesley Professional; (2005). ISBN-10: 0321267974.

 

Description of system Evaluation

Assessment

Marks

Assessment

Marks

Mid Term

30

Final Term

50

Project

7

Quizzes

7

Presentation

3

Assignment

3

 

 

 

Details lesson plans

  • COURSE SCHEDULE

 

Week

Topics

Book Chapters

1.

The Nature of Software, Unique Nature of WebApps, Software Engineering, The Software Process, Software Engineering Practice, Software Myths.

[TB1: Ch. 1]

2.

Generic Process Models: Framework Activity, Task Set, Process Patterns, Process Improvement, CMM, Prescriptive Process Models: Waterfall Model, Incremental Process Model, Evolutionary Process Model.

[TB1: Ch. 2]

3.

Specialized Process Models: Component Based Development, The Formal Methods Models, Agile Development.

[TB1: Ch. 2-3]

4.

Introduction to Systems Analysis and Design, Business Information Systems, Information System Components, Types of Information Systems, Evaluating Software, Make or Buy Decision.

[TB2: Ch. 1]

5.

Introduction to SDLC, SDLC Phases, System Planning, Preliminary Investigation, SWOT Analysis. [

[TB2: Ch. 2]

6.

The Importance of Strategic Planning, Information Systems Projects, Evaluation of Systems Requests, Preliminary Investigation, Systems Analysis, Requirements Modeling, Fact-Finding Techniques.

[TB1: Ch. 2-3]

7.

. Requirements Engineering, Establishing the Groundwork, Eliciting Requirements, Developing Use Cases, Building the Requirements Model.

[TB1: Ch. 5]

8.

 Requirements Modelling Strategies, Difference between Structured Analysis and Object Oriented Analysis; Difference between FDD Diagrams & UML Diagrams.

[TB2:Ch. 3]

9.

Data & Process Modelling, Diagrams: Data Flow, Context, Conventions, Detailed Level DFD‘s Diagram 0, Levelling, Balancing, Logical Versus Physical Models.

[TB2: Ch. 4]

10.

Design Within the Context of Software Engineering, The Design Process, Design Concepts, Design Models: Data Design Elements.

[TB1: Ch. 8]

11.

Architecture Design Elements, Interface Design Elements, Component-Level Design Elements, Deployments Design Elements.

[TB1: Ch. 8]

12.

System Architecture, Architectural Styles, User Interface Design: The Golden Rules, User Interface Analysis and Design, WebApps Interface Design.

[ TB1: Ch. 9-11]

13.

Software Quality Assurance: Background Issues, Elements of Software Quality Assurance, Software Testing Strategies, Strategic Issues, Test Strategies for Conventional Software.

[TB1: Ch.16-17]

14.

. Validation Testing, System Testing, Internal and External View of Testing: White Box Testing and Black Box Testing Techniques.

[TB1: Ch. 17-18)]

15.

Introduction to Project Management, Project Scheduling: Gantt Chart, Risk Management: Proactive versus Reactive Risk Strategies, Software Risks, Maintenance and Reengineering: Software Maintenance, Software Reengineering.

[TB1: Ch. 28-29]

16.

Final Term

 

 

 

  • Key dates and Time

                BSSE-2nd Reg

                    Monday         (11:00:am-12:30 pm)

                    Wednesday    (11:00:am-12:30 pm)

 

MSc-IT Second Semester

                    Monday         (12:30:am-2:00 pm)

                    Wednesday    (12:30:am-2:00 pm)

 

 

 

Course Material