CS-321 Software Engineering - Update

Download as rtf, pdf, or txt
Download as rtf, pdf, or txt
You are on page 1of 6

University of Gujrat

Faculty of CS & IT
Course outline
Title Software Engineering
Code CS-321
Credit Hours Theory/week:
Weight 3 Cr. Hrs.
Lectures 2
Duration 1.5 Hrs

Prerequisite Programming fundamental, Object Oriented Programming, Software Engineering Processes


Category Core -Computer Science
Aims and Aim: Application of software engineering practices to the development of software in information system development domain where
Objectives professionalism, quality, schedule, and cost are important in producing an information system.
Objectives:
To understand the importance and need of information system software engineering
To discuss different software development models appropriate for the development and maintenance of software products
To introduce the basic project management concepts for the development of a high-quality product
To impart comprehensive knowledge regarding software development lifecycle
To demonstrate, with justification, an appropriate set of tools to support the development of a range of software projects
Hands on Training for CASE Tools and testing tools.
Learning
Outcomes  Extract and analyze software requirements
 Develop some basic level of software Architecture/Design
 Apply standard coding practices
 Apply different testing techniques
 Describe debugging and its effectiveness.
Students will be able to select and apply appropriate Design Patterns
Understand quality, Testing issues

S yllabus The Scope of Information System Software Engineering: Motivation and need, Importance and need of information systems,
Definition of Software Engineering, Introduction to information system software engineering vocabulary . The Software:
Characteristics, Application, Software Process Models: Introduction, Models. Project Management Concepts: Software Project Life
cycle; Project Scheduling, (GANTT chart, Critical Path M ethod) The Management Spectrum, Introduction of M icrosoft Project.
Software Metrics: Measurements techniques. Software Quality M etrics, Software Project Planning, Software Cost Estimation
techniques, COCOMO model, Requirements Engineering: Requirement gathering and fact finding techniques; Requirement
Elicitation: Introduction, techniques, Introduction. Data modeling: , Use Case Techniques, Entity Relationship Diagram, State
Transition Diagram, Data Flow Diagrams, S oftware Design: Design Concepts, Abstraction, refinement, modularity, Software
Architecture: Architectural Styles, M apping Requirements into software architecture ,Cohesion & Coupling, Architectural Design,
Data Design, M apping ER to Data M odel, User Interface Design Interface Design, Human Computer Interface, Modular Design,
M apping Design to Code, Software Testing: Fundamentals, Test Case Design, techniques., White Box Testing & Black Box Testing, ,
Debugging practices, Software Inspection, Software Quality Assurance, Software Quality Standards.

th
A. Roger S. Pressman, “ Software Engineer: A Practitioner’s Approach”, 6 /e, M c Graw-Hill, 2001, ISB: 0072496681
B. Bruce M., Roger P., Software Engineering: A Practitioner’s Approach, viii ed. McGraw-Hill Science, 2014, ISBN
Text Book/s 978-0078022128
th
C. Iam Sommerville, “Software Engineering”. 6 /e, Addison-Wesley, 2000, ISBN: 020139815.
Reference Material C. Internet

Instructional Aids/ Windows Environment


Resources Rational Rose
Visio
Microsoft Project
Computer Labs for Hands on Training
Multimedia
Photocopy Facility for Handouts/Case Studies.

Classroom Assessment Mid 25% Final 50% Total 100%


25%
Assessment Quizzes and Test 05 Paper Paper 50
Criteria 25
Assignment 10
Project/Presentation 10
Source
Lecture Topic Book-Chapter No. Assignment/Quiz
Week
Section No.

1 1 The Nature of Software, Unique Nature of WebApps, [TB2: Ch. 1]


Software Engineering
2 The Software Process, Software Engineering Practice, [TB2: Ch. 1]
Software Myths.
2 3 Introduction to Software Process Model [TB1: Ch. 2]
Water fall model
Incremental development
Reuse-oriented software engineering
4 Process Activities, [TB1: Ch. 2] Assignment-1
Techniques to cope with change.
3 5 Coping with change (cont.), [TB1: Ch. 2]
Spiral Model,
The Rational Unified Process
6 Introduction to Agile Development, [TB1: Ch. 3] Quiz 1
Plan Driven Development VS Agile Development
4 7 Extreme Programming, [TB1: Ch. 3]
Testing in XP, Pair Programming, Agile Project Management,
Scaling Agile Methods
8 Introduction to Requirement Engineering, Functional [TB1: Ch. 4]
requirements and non-functional requirement,
Requirement Document
5 9 Requirement Specification, [TB1: Ch. 4]
Natural language processing,
Structured Specification,
Requirement Engineering Processes, Requirement Elicitation
and analysis
10 Requirements discovery, Interviewing, Scenarios, Use cases, [TB1: Ch. 4]
Ethnography, Requirement Validation, Requirement
Management, Requirement Management Planning,
Requirement Change Management
6 11 Introduction to System Modelling, Context models, [TB1: Ch. 5]
Interaction models, Use case modeling, Sequence diagrams
12 Intro to Structural Models, Class Diagrams, Generalization, [TB1: Ch. 5]
Aggregation, Behavioral Models, Data-driven modeling,
Event-driven modeling
7 13 Model Driven Engineering, Model Driven Architecture, [TB1: Ch. 5] Assignment 2
Executable UML
14 Introduction to Architectural Design, [TB1: Ch. 6] Quiz 2
Architectural Design Decisions, Architectural Views,
Architectural Patterns, Layered architecture,
Repository architecture,
Client–server architecture,
Pipe and filter architecture
8 15 Application architectures, [TB1: Ch. 6]
Transaction processing systems, Information systems,
Language processing systems
16 Revision for Mid Term

9 17 Introduction to Object Oriented Design using UML, System [TB1: Ch. 7]


Context and Interactions, Architectural Design, Object Class
Identification, Design Models, Interface Specifications
18 Design patterns, Creational Design Patterns, Structural [TB1: Ch. 7]
Design Patterns, Behavioral Design Patterns, Implementation
issues, Reusability, Configuration Management
10 19 Host Target Development, [TB1: Ch. 7]
Open Source Development, Open Source Licensing,
20 Introduction to Software Testing, Development testing, Unit [TB1: Ch. 8]
testing, Choosing unit test cases, Component testing, System
testing
11 21 Test-driven development, Release testing, Requirements- [TB1: Ch. 8]
based testing, Scenario testing,
Performance testing, User testing,
22 Introduction to Project management, Risk Management, Risk [TB1: Ch. 22] Assignment 3
Identification, Risk analysis, Risk planning, Risk monitoring
12 23 Managing people, Motivating people, Teamwork, Selecting [TB1: Ch. 22] Quiz 3
group members, Group organization, Group communications,
24 Introduction to Software Pricing, Plan Driven Development, [TB1: Ch. 23]
Project Plan, The Planning Process, Project scheduling,
Schedule representation
13 25 Agile planning, Estimation techniques, Algorithmic cost [TB1: Ch. 23]
modeling, The COCOMO II model
26 Introduction to Software Quality, Software standards, The [TB1: Ch. 24]
ISO 9001 standards framework, Reviews and inspections,
The review process, Program Inspections
14 27 Software measurement and metrics, Product metrics, [TB1: Ch. 24] Assignment 4
Software component analysis, Measurement ambiguity,
28 Introduction to Configuration Management, Change [TB1: Ch. 25] Quiz 4
Management, Version Management, System building, Release
management,
15 29 Process Improvement Process, Process Measurement, [TB1: Ch. 26]
Process analysis, Process Change, CMMI Process
Improvement Framework
30 Project Presentation
16 31 Project Presentation
32 Pre Final revision

You might also like