Software Engineering Basics Outline

 

 

Analysis and Design for Software Systems        

Department of Computer Science and I.T.

Spring 2020

Morning

 

 

 

 PROGRAM (S) TO BE EVALUATED: BSCS-IV

A. Course Description

Course Code

CS-222

Course Title

Analysis and Design for Software Systems    

Credit Hours

3

Prerequisites by Course(s) and Topics

CS-121 Object Oriented Programming

Follow Up

CS-322 Software Construction

CS-324 Web Application Development

Assessment Instruments with Weights (Homework, quizzes, midterm, final, programming assignments, lab work, etc.)

Sessional 25%

Mid 25%

Final  50%

Total 100%

Quizzes: 15%

Mid Paper: 25

Final Paper: 50

100

Assignment: 10%

 

 

 

Class Participation: 5%

 

 

 

Course coordinator


URL (if any)


Current Catalog Description

Textbook (or Laboratory Manual for Laboratory Courses)

A.      P.K.J. Mohapatra, Software Engineering: A Lifecycle Approach, New Age International (P) Ltd. Publishers, 2010

B.      Modern Systems Analysis and Design jeffrey a. hoffer, Joey F. George, Joseph S. Valacich, Pearson Sixth Edition

C.      Roger S. Pressman  Software Engineering- A practitioner’s approach” 8th Ed.

D.    C.Larman, Applying UML & Patterns: An introduction to Object Oriented Analysis & Design & Unified Process.

 Reference Material

A.    Ian Sommerville “Software Engineering”, 6th Ed.

B.     An integrated approach to software engineering by Pankaj Jalote

C.     Fundamentals of Software Engineering By Carlo Ghezzi

D.    http://www.mhhe.com

E.     http://www.sei-cmu.edu

Course Goals

          Application of software engineering elements to the development of software in any computing application domain where professionalism, quality, schedule, and cost are important in producing a software system. 

          To convey the importance and need of 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

Course Contents

Software Development Process: Software Life cycle Models:Problem analysis using a case study: Requirements Gathering and Definition: Modelling,  Description of Requirements: Introduction to Structured Analysis;Documentation of Structured Analysis:Data Flow  Diagrams (DFD); Creating DFDs and Data Dictionary. Entity Relationship diagram (ERD), Requirements Specification. Verification of Requirements. Structured Design: Creating Structure Chart. Design Review: Formal Technical Reviews and Design Inspections. Documentation of structured design.

OO Basics; Introduction to Object Oriented Analysis and Design; OO Analysis UML way.UML Diagrams for OO Analysis: Case Study of OO Analysis using UML: OO Design.Documentation of OO Design.


Topics Covered in the Course, with Number of Lecturer on Each Topic (assume 16-week instructions and five lecture per week.

Week No.

Class Topic

Source + Help Session (Book-Chapter No., Section No., Page No.)

Recommendations

Introduction

1

HISTORY OF SOFTWARE ENGINEERING

Development of Tools and Techniques of Software Engineering

A.   1.1, 1.1.2

 

SOFTWARE CRISIS

EVOLUTION OF A PROGRAMMING SYSTEM PRODUCT

CHARACTERISTICS OF SOFTWARE

A.   1.2, 1.3, 1.4

 

Failure curvefor hardware

Failure curvesfor software

THE NATURE OF SOFTWARE

C.   Figure1.1,  1.2

C.   1.1

 

DEFINITIONS

Software Engineering

 

A.   1.5

C.   1.3

 

Software Myths

C.   1.6

 

Software Development Process (SDLC)

2

System Development Environment

Modern Approach to System Analysis and Design

B.   Chapter 01

 

Developing Information System and System Development life cycle

The Heart of System Development Process

B.   Chapter 01

 

Different Approaches to improving development

B.   Chapter 01

 

The Origins of software

Sources of Software

Choosing off the shelf software, validating, reuse

B.   Chapter 01

 

THE CODE-AND-FIX MODEL

A.   2.2

 

3

 

THE WATERFALL MODEL

A.   2.3

 

THE EVOLUTIONARY MODEL

THE INCREMENTAL IMPLEMENTATION (BOEHM 1981, GILB 1988)

A.   2.4, 2.5

 

 

PROTOTYPING

A.   2.6

 

THE SPIRAL MODEL

A.   2.7 , 2.8

 

PHASEWISE DISTRIBUTION OF EFFORTS

CHOOSING AN APPLICATION DEVELOPMENT STRATEGY

A.   2.11, 2.13

 

 

Requirments

4

IMPORTANCE OF REQUIREMENTS ANALYSIS

USER NEEDS, SOFTWARE FEATURES, AND SOFTWARE REQUIREMENTS

A.   3.1, 3.2

 

CLASSES OF USER REQUIREMENTS

SUB-PHASES OF REQUIREMENTS PHASE

BARRIERS TO ELICITING USER REQUIREMENTS

A.   3.3, 3.4, 3.5

 

STRATEGIES FOR DETERMINING INFORMATION REQUIREMENTS

A.   3.6

 

THE REQUIREMENTS GATHERING SUB-PHASE

A.   3.7

 

Quiz 1

 

 

 

5

Requirment Engineering

c.       8.1

 

Establishing the ground work

C. 8.2

 

DOCUMENT FLOW CHART

A.   4.1

 

Modeling Logic with decision Tables

B.   Chapter 07 (Page 221)

 

Designing

6

DECISION TREES

A.      4.3

 

Introduction to structured Analysis:

Data Flow Diagrams (DFD) Definition and symbols with an example

A.     5.1

 

Data Flow Diagramming Rules,

Decomposition of DFDs

Balancing DFDs with example

[Electronic Commerece Application:

Process Modeling for Pine Valley Furnituure’s webstore]

B.      Chapter 07 (Page 207,224)

 

DATA DICTIONARY example

A.   5.2

 

Introduction to Structured English

A.      5.3

 

7

Introduction to E-R Modeling,

Entity, Entity Types,

Attributes,

B.   Chapter 08

 

PROPERTIES OF AN SRS

A.   10.1

 

CONTENTS OF AN SRS

A.     10.2

 

WHAT AN SRS SHOULD NOT INCLUDE

STRUCTURE OF AN SRS

A.   10.3, 10.4

 

STRUCTURE OF AN SRS

A.   10.4

 

8

VALIDATION OF REQUIREMENTS DOCUMENT

A.   10.5

 

STRUCTURE CHART

A.   13.1

 

COUPLING, COHESION

A.   13.2, 13.3

 

THE MODULAR STRUCTURE

A.   13.4

 

REVIEWS: A FORMALITY SPECTRUM

Technical reviews should be applied with a level of formality

Reviewing the Design , Inspection

C.   15.4

B.   Chapter 05 (Page 140)

internet source

 

MID-TERM EXAMINATION

 

9

 

Documentation of Structured Design:

Handouts

Web Source*

Design Concepts: Abstraction, Architecture, Patterns, Separation of Concerns, Modularity, Information Hiding.

C.   12.3

 

10

Design Concepts: Functional Dependence, Refinement, Aspects, Refactoring,  Object Oriented Concepts, Design Class

C. 12.3

 

Architectural Design: What is architecture, Architecture Description

Architectural Styles

C. 13.1

 

Object Oriented Analysis and Design

11

Brief Taxonomy of Architectural Styles: Data Centered Design, Data Flow Architecture, Call & Return Architecture, Object oriented Architecture, Layered Architecture

C. 13.3

 

Introduction of the course

Object Oriented Concepts

Object Oriented Analysis & Design Basics

D. 1.1, 1.2, 1.3, 1.4, 1.5

 

12

Use Case Modeling

Types of Actors, Types of Use cases, Use case Diagram, Fully Dressed Use case

D. 6.2, 6.3,6.4,6.5, 6.6, 6.7

 

 

Domain Model: What is domain Model, Visual Dictionary, DM vs. Software Class, Traditional Meaning of DM, Conceptual; Classes, Data Model VS DM,

Motivation, Guideline for DM, How to find conceptual Classes, Is Domain Model Correct

Case Study

D. 9.2, 9.3, 9.4, 9.5,9.18

 

13

System Sequence Diagrams

What is SSD, Motivation, Relationship Between SSD & UC, How to name system events & Operations, SSD Information in Glossary

Case Study

D. 10.2,10.3, 10.5, 10.6, 10.8

 

Class Diagram

Design Class Diagram, Classifier, Note Symbols, Operation & Methods, Keywords

Case Study

D. 16.2, 16.3, 16.5, 16.6, 16.7, 16.16

 

14

Class Diagram

Association Class, Singleton Class, User Defined COmpart5ment, Active Class, Relationship Between Interaction & Class Diagram

Case Study

D. 16.17, 16.19, 16.20,16.21

 

Sequence Diagram

Case Study

D. 15.1, 15.3, 15.4

 

 

Comments

Popular posts from this blog

Web Programming Course Outline

Advanced DBMS outline