software development process

advertisement
SOFTWARE DEVELOPMENT PROCESS
Course No
Course Title
Prerequisites
Course Type
Class Time
:
:
:
:
:
BIT 233
SOFTWARE DEVELOPMENT PROCESS
BIT 112
Core IT
Lectures ( 1.5) / Labs( 3 )
Course Objectives:
The course main objectives are:
 To introduce the concept of the software development life cycle
 To develop basic skills in software development life cycle
 To develop an awareness of the importance of correct analysis and design process and
software testing strategies and techniques.
Course Description:
This course introduces students to the basic modern concepts and techniques employed in
developing commercial application software. It covers the basic techniques commonly used in fact
finding, requirements analysis, design such as prototyping and user interface design, testing
reviews and walkthrough, system implementation, software project management including project
planning and quality assurance, verification & validation and software maintenance.
Course Outline:










Introduction to software development
Project Management process including project planning Cost Estimation, Activity Network
Diagram and Risk Management.
Introduction to fact finding Techniques.
Requirement analysis, Validation and management.
Introduction to Design Techniques Eg-Context Diagram, DFD and UML and designing the
data dictionary.
Testing Process and Types of Testing
Verification and Validation
Software Maintenance.
Maintenance cost and Maintainability measures
Program Evolution Dynamics and System Documentation.
Learning Outcomes:
After completing the course students should be able to:
1. Discuss Software Development Processes and Models.
2. Conduct a detailed investigation and relate it to an analysis of requirements.
3. Apply fundamental design methods, techniques and tools to code development.
4. Explain various Software Testing Strategies & Techniques.
5. Review and test Software programs.
Teaching Methods:
Students will be given in-class and home assignments that require them to apply most of the
techniques described in this course to real software development projects.
In the first assignment the students are required to do the analysis for a real project and document
all the steps of the analysis stage.
In the second assignment the students are required to design the system as per the user
requirement.
Students will be introduced to a project planning software package such as MS Project. They will be
asked to produce an outlined project plan showing the critical path, resources assigned to each task
and the total cost of the project.
Electronic presentation, use of a modern project planning software package such as MS Office
Project 2007, use of a modern flowcharting software tool such as MS Visio, articles, and CD-ROM for
action learning
Use of the Internet for up-to-date global information
Use of Modern Instructional Technology:
Use of LCD Projector, PC, CD ROM, modern project planning software package, modern Wordprocessing and Electronic presentation packages
Evaluating Student Performance:
TASK
Weight in %
Class Participation
10
Assignments
10
Mid-term exam
20
Project and Presentation 20
Final exam
40
LO1 LO2 LO3
X
X
X
X
X
X
X
X
X
X
X
X
LO4 L05
X
X
X
X
X
X
X
X
Educational Resources:
Educational
Resource
Textbook
Required
Other
References
Description
Sommerville, I. (2010). Software Engineering, 9th ed. Addison Wesley
Mall.R, Fundamentals of Software Engineering 2nd ed., Prentice Hall, New
Delhi,2004
Ghezzi,Jazayeri,Mandrioli, Fundamentals of Software Engineering 2nd ed.,
Prentice Hall , New Delhi,2004.
Somerville, Introduction to Software Engineering 5th ed. Addison-Wesley. 1995
Britton .C.Doake .j (1996).Software systems development: A gentle introduction.
2nd Ed... McGraw-hill.
Senn.J.A.(1989). Analysis and design of information systems design of information
systems. 2nd ed. McGraw-Hill.
Computers
Other
Resources
UML, Java or C/C++ may be used. Other tools downloadable from the Internet
may be used for the team project development. The Project Team Leader will be
responsible for assuring designers create “compatible” courses and properly
link the courses.
http://www.mhhe.com/pressman/
http://www.course.com/catalog/downloads.cfm?isbn=0-7895-6649-4)
http://www.mhhe.com/schach/
Other Library resources, Internet search of periodicals
Suggested Course Schedule & Outline:
Week
Topics
01
1. Introduction to Software Development
- Terminologies(S/W, S/W Engineering)
- Software products( Def. & types )
-Software Process Models
- Waterfall Model
- Evolutionary Development
-Process Iteration
- Boehm’s Spiral Model
- Incremental Development
- Professional Responsibility
2. Project Management
- Management Activities
- Project Planning
- Project Scheduling
- Project Cost Estimation
- Activity Organization
- Activity Network Diagram
- Risk Management
- Project Management (Ms Project)
3. Requirement Analysis
- Functional Requirement
- Non-functional Requirement
- Feasibility Study
- Requirement elicitation & analysis
-Viewpoint-oriented elicitation
- Fact Finding techniques
- Interviewing & Questionnaires
- Searching, Sampling, Observation
- Requirement Validation
- Requirement Management
- Data Analysis
02
03
04
05
06
07
Learning
Outcome
Homework
Assignment,
Due dates
LO01
LO01
LO02
LO03
LO03
LO04
LO04
Assignment 1
08
Revision
LO1,2,4
09
4. Software Design
-Software Design Approaches
Function-oriented Design
Methodology : SSADM
Major Tools: DFD, ER Diagram
LO05
10
Object- Oriented Design
Methodology: OOP- Object Modeling using UML
5. Verification and Validation
- Testing process
- Testing in the Small
White-Box testing
Statement Coverage
Edge Coverage
Condition Coverage
Path Coverage
Black-Box testing
- Testing in the Large
Course Testing
Bottom-Up and Top-Down Integration.
System Testing
Stress testing
Performance testing
LO5
6. Software Maintenance
-The maintenance process
-System documentation
- Program evolution dynamics
- Maintenance costs
- Maintainability measurement
LO5
15
Presentations
LO1,2,3,4,5
16
Final Exam
11
12
13
14
Mid Term
Exam
-Assignment 2
LO3,4
LO4
LO5
Presentation
Download