SOFTWARE
ENGINEERING
Activity based learning ...
INTRODUCTION
Objectives
-
To introduce software engineering fundamentals
-
To enlist various tools that will be used during the course of the lab, and their utilities
-
To encourage students to come up with a problem definition that is implementable
Description
In this lab you will be given a bird’s eye view of the entire software engineering process—requirements gathering, analysis and design, implementation, testing and maintenance. Tools used for each of the aforementioned phases will be briefed about, touching upon the features of both enterprise softwares and their open source counterparts. Students are expected to familiarize themselves with these tools. Students will have to propose a problem statement suitable to be implemented under this course. As a deliverable, students have to develop a working application with a good documentation.
Tools
No specific tool will be used in this lab.
Procedure
-
Form a group of three
-
Propose a problem statement
-
Set the project goal and aim
-
Describe in terms of SMART
-
Specific – target a specific area for improvement.
-
Measurable – quantify or at least suggest an indicator of progress.
-
Assignable – specify who will do it.
-
Realistic – state what results can realistically be achieved, given available resources.
-
Time-related – specify when the result(s) can be achieved.
-
Problem
You are a developer. A customer approaches you with an idea. Talk to the customer extensively to know what exactly he wants. Focus on two basic concerns— Time and budget. Let the approach be iterative rather than a big bang approach. Derive an elaborate problem statement.
Deliverables
-
Problem definition
References
Pankaj Jalote: A Concise Introduction to Software Engineering , Springer, 2008, pg 9-30