Tribhuvan University
Institute of Science and Technology
Bachelor of Science in Computer Science and Information Technology
Course Title: System Analysis and Design
Course no: CSC315
Semester: V
Nature of course: Theory + Lab
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 8 + 8
Credit Hours: 3
Course Description : This course covers the basic concepts of computers and information technology including introduction, hardware, software, memory, input/output, data representation, database, networks and data communication, Internet, multimedia, and computer security.
Course Objective : This course introduces basic elements of the design and analysis of computer algorithms. Topics include asymptotic notations and analysis, divide and conquer strategy, greedy methods, dynamic programming, basic graph algorithms, NP-completeness, and approximation algorithms. For each topic, beside in-depth coverage, one or more representative problems and their algorithms shall be discussed.
Course Contents:
Unit 1. Foundations for Systems Development10 Hrs.
1.1.The Systems Development Environment: Introduction; A Modern Approach to Systems Analysis and Design; Developing Information Systems and the Systems Development Life Cycle; The Heart of the Systems Development Process and Traditional Waterfall SDLC; CASE Tools
1.2.Other Approaches: Prototyping; Spiral; Rapid Application Development; Introduction to Agile Development
1.3.Managing the Information Systems Project: Introduction; Managing the Information Systems Project; Representing and Scheduling Project Plans; Using Project Management Software
Unit 2. Planning5 Hrs.
2.1. Identifying and Selecting Systems Development Projects: Introduction; Identifying and Selecting Systems Development Projects; Corporate and Information Systems Planning
2.2. Initiating and Planning Systems Development Projects: Introduction; Initiating and Planning Systems Development Projects; Process of Initiating and Planning IS Development Projects, Assessing Project Feasibility; Building and Reviewing the Baseline Project Plan
Unit 3. Analysis13 Hrs.
3.1. Determining System Requirements: Introduction; Performing Requirements Determination; Traditional Methods for Determining Requirements; Contemporary Methods for Determining System Requirements; Radical Methods for Determining System Requirements
3.2. Structuring System Process Requirements: Introduction; Process Modeling; Data Flow Diagrams; Modeling Logic with Decision Tables, Decision Trees, and Pseudocodes
3.3.Structuring System Data Requirements: Introduction; Conceptual Data Modeling; Gathering Information for Conceptual Data Modeling; Introduction to E-R Modeling
Unit 4. Design7 Hrs.
4.1.Designing Databases: Introduction; Database Design; Relational Database Model; Normalization; Transforming E-R Diagrams Into Relations; Merging Relations; Physical File and Database Design; Designing Fields; Designing Physical Tables
4.2. Designing Forms and Reports: Introduction; Designing Forms and Reports; Formatting Forms and Reports; Assessing Usability
4.3.Designing Interfaces and Dialogues: Introduction; Designing Interfaces and Dialogues; Interaction Methods and Devices; Designing Interfaces; Designing Dialogues; Designing Interfaces and Dialogues in Graphical Environments
Unit 5. Implementation and Maintenance4 Hrs.
5.1.System Implementation: Introduction, System Implementation, Software Application Testing, Installation, Documenting the System, Training and Supporting Users, Organizational Issues in Systems Implementation
5.2.Maintaining Information Systems: Introduction, Maintaining Information Systems, Conducting Systems Maintenance
Unit 6. Introduction to Object-Oriented Development6 Hrs.
Basic Characteristics of Object-Oriented Systems; Object-Oriented System Analysis and Design (OOSAD); Introduction to Unified Modeling Language, Structural and Behavioral Diagrams
Laboratory Works:
This course can be learnt in effective way only if we give focus is given in practical aspects of algorithms and techniques discussed in class. Therefore student should be able to implement the algorithms and analyze their behavior.
For the laboratory work, students should implement the following algorithms in C/ C++ and perform their analysis for time and space complexity.
Basic iterative algorithms GCD algorithm, Fibonacci Sequences, Sequential and Binary Search.
Basic iterative sorting algorithms: Bubble Sort, selection Sort, Insertion Sort.
Binary Search with Divide and conquer approach.
Merge Sort, Heap sort, Quick Sort, Randomized Quick Sort.
Selection Problem with divide and Conquer approach
Fractional Knapsack Problem, Job sequencing with deadline, Kruskal’s algorithm, Prims algorithm, Dijkstra’s Algorithm
Implement the dynamic programming algorithms.
Algorithms using Backtracking approach.
Implement approximation Algorithm.
Reference Books:
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, “Introduction to algorithms”, Third Edition.. The MIT Press, 2009.
Ellis Horowitz, SartajSahni, SanguthevarRajasekiaran, “Computer Algorithms”, Second Edition, Silicon Press, 2007.
Kleinberg, Jon, and Eva Tardos, “ Algorithm Design” , Addison-Wesley, First Edition, 2005