A Case study based Software Engineering Education using Open Source Tools
|
|
|
- Georgia Shelton
- 10 years ago
- Views:
Transcription
1 A Case study based Software Engineering Education using Open Source Tools Sowmya B J Dept. of CSE M. S. Ramaiah Institute of Technology [email protected] Srinidhi Hiriyannaiah Dept. of CSE M.S. Ramaiah Institute of Technology [email protected] K.G. Srinivasa Dept. of CSE M.S. Ramaiah Institute of Technology [email protected] ABSTRACT Software engineering is a course for undergraduate computer science students that comprises of principles of engineering in a software development. In this course, students learn about typical phases of software that involves requirement analysis, planning and scheduling, design and coding, testing, deployment and management on different case studies. In this paper, we investigated a practical approach for learning software engineering through open source tools for different phases of the software on different case studies they have chosen as their problem statement. Keywords Software Engineering, Waterfall model, Open source tools for Software Engineering. 1. INTRODUCTION Software Engineering describes about various phases involved in a software project such as requirements and analysis, design and coding, testing, deployment and maintenance. In this paper we discuss the lab process that was implemented to provide a conducive and a near software firm environment for students to provide a better understanding of Software engineering principles, different phases of the software and finally the principles of management through Open source tools. The paper is further organized as follows. Section 2 discusses about a brief introduction to the process model and Case Studies categories followed for the projects in the lab. Section 3 describes about course overview, tasks carried out in each week and the tools used, section 4 discusses about survey conducted for the curriculum and its results based on the course outcomes of the introduction of a practical way to teach software engineering with tool. 2. PROCESS AND PHASES Software engineering consists of process models such as waterfall model, incremental process, prototyping model, spiral model, scrum model and several other models [1] [2]. Out of these models, waterfall process model is one of the basic models that is used for developing a typical software in a industry [1]. It consists of phases requirement analysis, planning and scheduling, design, development, testing, deployment and maintenance. In requirement analysis phase, the requirements are gathered for the project based on the features and goals listed down for a project. It may include functional requirements such as authentication of a user login and non-functional requirements such as reliability, performance. During planning phase the overall estimate or listing the various tasks to be carried out carries out the schedule of the project and resources are assigned to the tasks identified. In the system design phase, various modules are identified that defines the features and requirements identified in the phase 1. The modules identified are developed using suitable implementation language during development phase and tested with appropriate test cases either manually or automated during testing. There are some disadvantages with waterfall model compared to other software processes such as early frozen requirements, no feedback from the user and so on as discussed in [1][2]. Compared to other models we have followed a waterfall model approach with some modifications in the phase of requirements analysis and the feedback. During requirement analysis phase a SMART matrix approach was followed to frame the objectives and goals of a software project. For a feedback analysis in each phase a weekly status reports were designed that are discussed in the upcoming sections. 3. COURSE OVERVIEW The course of Software Engineering is conducted for undergraduate students for Computer Science and Engineering as per ACM guidelines for Software Engineering education [7] in the third year of their curriculum having 4 credits with lectures and a practical lab. In the lab a team of 3-4 students were formed where each one will be playing a different role in each phase. In this section we discuss the approach and the phases that we followed for our practical approach to teach Software Engineering using Open source tools. The different Case studies based on the problem statements chosen by the students were identified as shown in the table 1. Table 1. Case Studies Type Case Studies Example A E-commerce applications B Social related applications C Management application e-banking, Online shopping & Logistics Smart city, e-voting, Remote health monitoring Cab reservation, Hotel management system, Just Dial application In the first week, a problem statement was designed and given to the students for applying Software Engineering techniques to it.
2 This problem statement was then formulated into SMART (Specific, Measurable, Achievable, relevant and Time Bound) matrix that helps in coming up with Goals and Objectives of the problem to be solved. Based on these goals and objectives, features are listed down for the software to be developed for the defined problem statement. Now based on the features, requirements elicitation is carried out to create the Software Requirement Specification (SRS) using the tool called OSRMT (Open Source Requirements Management Tool) [8]. It provides a GUI interface for specifying the requirements, add dependencies between them. Once the final requirements are ready, a report on the requirements can be exported using the tool. Based on the categories of projects as identified in table we have identified top requirements for each category as shown in the table 2. Table 2. Top requirements for the Case Studies Case Study Classification Top Requirements Type A User Info database, User Accounts, Session Allotment, SMS and alert, Easy to use User interface Type B Type C User Info database, User Accounts, Travel Guide, Emergency Services, Smart communication, Data Access manger, fast Disaster force, Smart Health care, User Info database, User Accounts, Area and Time of booking, Queries ON In the next phase, planning is carried out for the Case study using ProjLibre [9]. With the help of this tool, team of students identifies the different type of activities and their dependencies that need to be carried out during the project and their roles in each activity. At the end of this phase, a project plan or schedule generically called as Gantt chart is prepared. Various cost drivers such as application experience; required reliability and so on drive a software project. In this phase, effort estimation is carried out for the project based on COCOMO model using tool available by University of Southern California [10]. The selection of cost drivers is estimated based on the features, requirements and planning schedule as carried out in the previous phases. At the end of this phase, effort required for the project is calculated in person months with number of resources required at each phase. The next phase of the project for the case study is Design where the features and requirements are now represented schematically using StarUML tool [11]. We instructed the students to design the following representations for the project. Use case diagram It represents the summary level scenario of all the features in a project. It consists of actors, preconditions involved in the scenario. Class diagram It represents various classes, its attributes and methods, association between the classes for the actors considered in the use cases. Sequence diagram It represents the dynamic behaviour of the system or software with respect to the objects of the classes and its functions. At the end of this phase, the team will be able to identify the modules that can be implemented. The modules can be identified based on the class diagrams and the sequence diagrams. A software project involves risks such as personnel shortfalls, wrong software function implementation and so on. The next phase involved risk analysis and mitigation using risk management toolkit [12]. A risk matrix was prepared with XLS sheet with common fields as shown in the table 3 with an example of risk Personnel shortfalls. Once the risks are listed down, the priority and the rank of the risks is maintained with mitigation steps to control it. Risk no Risk name 1 Personnel shortfalls Table 3. Risk template Probability of occurence Severity Risk mitigation 85% H Provide necessary training on the required implementation language (C, Java) Implementation or Coding was carried out in the next phase. During coding, we also followed unit testing approach where the students carried out unit testing with JUnit framework [13]. Cyclomatic complexity of a module was calculated using the McCabe formula, V(G)=e-n+p by representing unit tested modules as a graph G with n nodes and e edeges [14]. Depending on the range of the cyclomatic complexity, those modules were further broken down if needed. Finally, during testing phase, we followed manual testing approach where test cases were designed with a template as shown in the table. These test cases were run against the features designed during the first phase and test report was generated. To keep track of their activities the team had to submit the Weekly Status Report as shown in the fig 1, which has the information about their role and tasks accomplished, major decision that were part of the plan and the milestones achieved. The activities carried out in each week are summarized in the table 4 and tools used for each phase and tasks carried out as described above are shown in the table 5. Table 4. Activities in each week Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9
3 Problem Statement, Objectives, and Goals Features and Requirements Project planning and scheduling Effort estimation using COCOMO model Software Design Risk analysis and mitigation Coding and Unit Testing Cyclomatic complexity Testing Table 5. Tools used for phases Tool Phase Tasks carried out OSRMT Project Libre COCOMO (online) Requirements and Analysis Planning and scheduling Effort estimation It provides a GUI for providing the requirements in a list with dependencies between them. A gantt chart is prepared using this tool, that gives the overall schedule and resource planning for the project Using this tool, effort in terms of person months is estimated with staffing profile required for each phase as shown in the fig. Star UML Design Different sequence and collaboration diagrams, use case diagrams are drawn based on the features and requirements enlisted using OSRMT. Risk matrix chart Risk analysis and mitigation A risk matrix of different risks and their probabilities, severity and mitigation steps to control the risk is prepared JUnit Unit Testing A unit test for each module is designed and executed. Fig 1.Weekly Status Reports 4. COURSE SURVEYS AND RESULTS In this course of Software Engineering, we conducted surveys by designing course outcomes that can be satisfied by the students after learning this course. The main aim of these surveys is to improve the curriculum of Software Engineering course using the feedback from the students. The analysis and the results are as shown in the table 6 and table 7. Table 6 lists the course outcomes and their results. Table 7 lists the survey questions formed and its results. From these survey results and feedback from the students we infer the following results. A consistent SRS is prepared using the principles of requirement management. Ability to plan, schedule and estimate the effort for various activities in the project to accomplish its goals and objectives. Design and identify the modules of the system for problem using different UML diagrams. Implement the specification and testing effectively.
4 Inculcate project management principles in a team and as an individual efficiently. Table 6. Course outcomes and results Sl.no Course Outcome Results of Survey 1 Identify a problem statement, trace the requirements and write unambiguous, correct and consistent SRS 2 Prepare a project plan and estimate effort required for the project 3 Identify, analyze and develop a risk management plan for the potential risks in the project 4 To create a specification of a software artifact intended to accomplish goals
5 5 To perform testing of the code using Junit testing and test cases Table 7. Survey and results Sl.no Survey questions Results 1 Use of Tools and practical approach to understand the Software principles and development process 2 Quality of Course Content 3 Course workload for the number of credits
6 4 Organization of Lectures and lessons for the course 5 Class sessions and lectures stimulate and helpful in understanding the course 5. COMPARISON WITH VIRTUAL LABS The similar approach has been adopted in virtual lab developed for teaching software engineering at IIT Kharagpur [15], The main difference with our approach and virtual labs is we are using exhaustive open source tools. We have aligned our complete theory course structure mapping to the tasks they perform during SDLC. The team based learning and role based learning are also exploited during this course delivery. While calculating the metrics in planning phase ie, LOC, Effort, Schedule and COST in virtual labs they have used the COCOMO model, using the cost drivers they estimated the metrics in virtual labs. In our practical approach, we have estimated effort using COCOMO Model II tool and we have estimated the schedule using Gnatt Chart and Pert Chart using the ProjectLibre tool. In the next phase, designing their problem statement using Use-case, Collaboration and Sequence diagram in virtual labs, but we have designed our problem statement using Use-case diagram, The class diagram to identify the classes and modules, identifying the aggregation and association. The dynamic behavior using sequence diagram using StarUML tool. During the process of identifying the cyclomatic complexity we have assigned them to implement the prime modules and to identify the cyclomatic complexity metrics for the implemented modules. Finally, in virtual labs they developed the test cases for the modules, but in our practical approach we have we generated the automated unit test cases using Junit Testframework and manual testing for the different modules. 6. CONCLUSION Software engineering education plays a key role for the students to understand the principles of software development and its practices in software industry. The practical tool based approach for Software engineering followed helps the students to understand practically about the principles, phases and practices about software development in real time environment. The approach we have introduced in the course is in par with virtual labs introduced in [15]. The mapping of categories of the experiments followed in the virtual labs is same as the different tasks carried out in our approach as shown in the table 4. Initially, the course was designed with only lectures based on the contents in the syllabus. Based on the students opinion to improve the course content through a practical approach, the course was modified with new syllabi and lab. Since, the project was carried out in a team, the students learned about principles of management by participating individually and collaborating with each other in the team. The proposed Case based approach for
7 Software Engineering made students aware of the course contents and the principles and techniques of the course. 7. REFERENCES [1] Jalote, P. (2008). A concise introduction to software engineering. Springer. [2] Pressman, R. S., & Jawadekar, W. S. (1987). Software engineering. New York [3] Pankaj Jalote: A Concise Introduction to Software Engineering, Springer, 2008 (Chapters: 1-4, 6-8) [4] David Gustafson: Software Engineering, Schaum's Outline Series, McGraw Hill, 2002 (Chapters: 6) [5] Emilia Mendes, Nile Mosley: Web Engineering, Springer, 2006 (Chapter: 1) [6] Roger S. Pressman: Software Engineering A Practitioner's Approach, 7th Edition, McGraw Hill, 2010 [7] ACM, IEEE. (2008). Computer science curriculum 2008, An interim revision of CS Retrieved March 14, 2012 from df [8] [9] [10] [11] [12] isknav.html [13] [14] McCabe, T. J. (1976). A complexity measure. Software Engineering, IEEE Transactions on, (4), [15] Appendix Course Title: Software Engineering Credits (L:T:P): 3:0:0 Type of Course: Lecture Course Code: CS515 Core/ Elective: Core Total Contact Hours: 42 hrs Prerequisites: Nil Course Objectives Objectives of the course are to: 1. Provide an understanding of the principles of software engineering in a broader system context and the notions of software engineering process and management. 2. Identify the processes, techniques and deliverables that are associated with requirement engineering including system requirement and system modeling 3. Analyze the various steps involved in the design process and the different design approaches which include functionoriented design and object-oriented design 4. Identify the importance of testing in assuring the quality of software with an understanding of managing risks during the progress of the project 5. Appreciate the need for web engineering The Software Problem & Processes: Cost, Schedule & Quality, Scale & Change, Software Processes: Process & Project, Component Software Processes, Software Development Process Models, Project Management Process Requirements Analysis & Project Planning: Requirements Analysis & Specification: Value of a Good SRS, Requirements Process, Requirements Specification, Functional Specification with Use Cases, Other Approaches for Analysis, Planning a Software Project: Effort Estimation, Project Schedule & Staffing, Quality Planning, Risk Management Planning, Project Monitoring Plan Design, Coding & Unit Testing: Design: Design Concepts, Function-oriented Design, Object-oriented Design, Detailed Design, Metrics, Coding & Unit Testing: Programming Principles & Guidelines, Incrementally Developing Code, Managing Evolving Code, Unit Testing, Code Inspection, Metrics Testing & Risk Management: Testing Concepts, Testing Process, Black-box Testing, White-box Testing, Metrics, Risk Analysis & Management: Introduction, Risk Identification, Risk Estimation, Risk Exposure, Risk Mitigation, Risk Management Plans Web Engineering: The Need for Web Engineering: Introduction, Web Applications vs Conventional Software, The Need for an Engineering Approach, Empirical Assessment, Conclusions
8 Textbooks 1. Pankaj Jalote: A Concise Introduction to Software Engineering, Springer, 2008 (Chapters: 1-4, 6-8) 2. David Gustafson: Software Engineering, Schaum's Outline Series, McGraw Hill, 2002 (Chapters: 6) 3. Emilia Mendes, Nile Mosley: Web Engineering, Springer, 2006 (Chapter: 1) Reference Books 1. Roger S. Pressman: Software Engineering A Practitioner's Approach, 7th Edition, McGraw Hill, 2010 Course Delivery The course will be delivered through task and role based team learning concepts Course Assessment and Evaluation Direct Assessment Methods Indirect Assessment Method What CIE SEE Feedback Internal Assessment Test Standard Examination End of Course Survey To Whom When/ Where (Frequency in the course) Thrice (Average of the best two will be computed) End of Course (Answering 5 of 10 questions) Middle of the course Max Marks Evidence Collected Contribution to Course Outcomes 30 Blue Books 1, 2, 3, 4 & Answer scripts 1,2,3,4 & 5 - Feedback forms End of the course - Questionnaire 1, 2, 3 Delivery of the course 1, 2, 3, 4 & 5 Effectiveness of Delivery of instructions & Assessment Methods Course Outcomes At the end of the course the students should be able to: 1. Demonstrate an understanding of the principles and techniques of Software Engineering 2. Understand the activities in project management, requirement engineering process and to identify the different types of system models 3. Apply the knowledge of design engineering in software development 4. Formulate different testing methods and tools 5. Recognize the need for web engineering Mapping Course Outcomes with Programme Outcomes Course Outcomes 1. Demonstrate an understanding of the principles and techniques of Software Engineering 2. Understand the activities in project management, requirement engineering process and to identify the different types of system models 3. Apply the knowledge of design engineering in software development Programme Outcomes X X X X X X X X X 4. Formulate different testing methods and tools X X X X X 5. Recognize the need for web engineering X X X X
9 Course Title: Software Engineering Lab Credits (L:T:P) 0:0:1 Type of Course: Practical sessions Course Code: CSL515 Core/ Elective: Core Total Contact Hours: 28 hrs Prerequisites: Nil Course Objectives Objectives of the course are to: 1. Study and apply principles of engineering to the design, development, and maintenance of software 2. Implement the processes, techniques and deliverables that are associated with requirement engineering including system requirement and system modeling 3. Apply the knowledge, skills and techniques of project management to execute projects effectively and efficiently 4. Provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation Course Contents 1. Introduction 2. Requirements Engineering 3. Project Management 4. Metrics 5. Risk Management 6. Analysis & Design 7. Testing 8. Quality Assurance Textbooks 1. Pankaj Jalote: A Concise Introduction to Software Engineering, Springer, David Gustafson: Software Engineering, Schaum's Outline Series, McGraw Hill, Emilia Mendes, Nile Mosley: Web Engineering, Springer, 2006 Reference Books 1. Roger S. Pressman: Software Engineering A Practitioner's Approach, 7th Edition, McGraw Hill, 2010 Course Delivery The course will be delivered through practical sessions in the laboratory. Course Assessment and Evaluation Direct Assessment Methods Indirect Assessment Method What CIE Internal assessment test Mini project Standard SEE Examination Feedback End of Course Survey To Whom When/ Where (Frequency in the course) Lab test: Once Demonstration of techniques learnt: Once End of the course: Once Middle of the course Max Marks Evidence Collected 30 Data sheets 1, 2, 3 20 Document 1,2, 3, 4, Answer scripts 1,2, 3, 4, 5 - Feedback forms End of the course - Questionnaire Contribution to Course Outcomes 1, 2, 3 Delivery of the course 1, 2, 3, 4 & 5 Effectiveness of Delivery of instructions & Assessment Methods
10 Course Outcomes At the end of the course the students should be able to 1. Identify a problem statement, trace the requirements and write unambiguous, correct and consistent SRS 2. Prepare a project plan and estimate effort required for the project 3. Identify, analyze and develop a risk management plan for the potential risks in the project 4. To create a specification of a software artifact intended to accomplish goals 5. To perform exhaustive testing of the code Mapping Course Outcomes with Programme Outcomes Course Outcomes Programme Outcomes Identify a problem statement, trace the requirements and write unambiguous, correct and consistent SRS X X X X X X X 2. Prepare a project plan and estimate effort required for the project X X X 3. Identify, analyze and develop a risk management plan for the potential risks in the project X X 4. To create a specification of a software artifact intended to accomplish goals X X X X X 5. To perform exhaustive testing of the code X X
How To Understand Software Engineering
PESIT Bangalore South Campus Department of MCA SOFTWARE ENGINEERING 1. GENERAL INFORMATION Academic Year: JULY-NOV 2015 Semester(s):III Title Code Duration (hrs) SOFTWARE ENGINEERING 13MCA33 Lectures 52Hrs
Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53
Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software
Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering
Object-Oriented Software Development What is Object-Oriented Development Object-Oriented vs. Traditional Development An Object-Oriented Development Framework Phases, Activities, and Work Products Phases,
SOFTWARE ENGINEERING INTERVIEW QUESTIONS
SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering
IT2404 Systems Analysis and Design (Compulsory)
Systems Analysis and Design (Compulsory) BIT 1 st YEAR SEMESTER 2 INTRODUCTION This is one of the 4 courses designed for Semester 1 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING
IT3205: Fundamentals of Software Engineering (Compulsory)
INTRODUCTION : Fundamentals of Software Engineering (Compulsory) This course is designed to provide the students with the basic competencies required to identify requirements, document the system design
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4
COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution
GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: FUNDAMENTALS OF SOFTWARE DEVELOPMENT (Code: 3341603)
GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT COURSE CURRICULUM COURSE TITLE: FUNDAMENTALS OF SOFTWARE DEVELOPMENT (Code: 3341603) Diploma Programmes in which this course is offered Information
IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3
Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3 INTRODUCTION This course is designed to provide the students with the basic competencies required to identify requirements, document
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?
Contents Introduction Software Development Processes Project Management Requirements Engineering Software Construction Group processes Quality Assurance Software Management and Evolution Last Time - Software
International Journal of Advance Research in Computer Science and Management Studies
Volume 2, Issue 12, December 2014 ISSN: 2321 7782 (Online) International Journal of Advance Research in Computer Science and Management Studies Research Article / Survey Paper / Case Study Available online
New York City College of Technology/CUNY Computer Systems Technology Department
New York City College of Technology/CUNY Computer Systems Technology Department Instructor: Telephone: E-mail: Office: Office hours will be announced CST2406/CS406 Systems Analysis and Design (2 Class
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
CS4507 Advanced Software Engineering
CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development
Requirements Engineering
Murali Chemuturi Requirements Engineering and Management for Software Development Projects Foreword by Tom Gilb ^ Springer Contents 1 Introduction to Requirements Engineering and Management... 1 1.1 What
Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING
Frank Tsui Orlando Karam Barbara Bernal Ail of Southern Polytechnic State JONES & BARTLETT LEARNING University Preface Hi Chapter 1 Writing a Program 1 1.1 A Simple Problem 2 1.2 Decisions, Decisions 2
SOFTWARE DEVELOPMENT SD
CONTENTS 1.SOFTWARE-DEFINITION 2.TYPES OF SOFTWARE 3.SOFTWARE DEVELOPMENT 4.SOFTWARE LIFECYCLE 5.WATERFALL MODEL 6.ITERATION MODEL 7.V SHAPED MODEL 8.SPIRAL MODEL SOFTWARE DEVELOPMENT SD MODULE 1 1.SOFTWARE:
A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.
Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 [email protected] Abstract This paper presents an
Project Management in the Rational Unified Process
CS2 Software Engineering note 3 Project Management in the Rational Unified Process In the last two Software Engineering lectures we have considered the outline description of the Rational Unified Process
TEACHING QUALITY ASSURANCE AND PROJECT MANGEMENT TO UNDERGRDUATE COMPUTING STUDENTS IN PAKISTAN
TEACHING QUALITY ASSURANCE AND PROJECT MANGEMENT TO UNDERGRDUATE COMPUTING STUDENTS IN PAKISTAN ABSTRACT Zaigham Mahmood University of Derby, UK School of Computing, University of Derby, Derby, DE22 1GB,
PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >
PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME > Date of Issue: < date > Document Revision #: < version # > Project Manager: < name > Project Management Plan < Insert Project Name > Revision History Name
CS6403-SOFTWARE ENGINEERING UNIT-I PART-A
Handled By, VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603203. Department of Information Technology Question Bank- Even Semester 2014-2015 IV Semester CS6403-SOFTWARE ENGINEERING MS.R.Thenmozhi,
CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping
Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT
Evolving Ideas Computing, Communication and Networking Publish by Global Vision Publishing House Edited by Jeetendra Pande Nihar Ranjan Pande Deep Chandra Joshi Requirements Analysis (RA): An Analytical
E-vote 2011 Version: 1.0 Testing and Approval Date: 26/10/2009. E-vote 2011. SSA-U Appendix 5 Testing and Approval Project: E-vote 2011
E-vote 2011 SSA-U Appendix 5 Testing and Approval Project: E-vote 2011 Change log Version Date Author Description/changes 0.1 26.10.09 First version Page 1 CONTENT 1. INTRODUCTION 3 2. TESTING PROCESS
The traditional project management uses conventional methods in software project management process.
Volume 5, Issue 1, January 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Analysis of
Karunya University Dept. of Information Technology
PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main
Test Cases Design for Software Database Provisioning Development
Test Cases Design for Software Database Provisioning Development Sunguk Lee Research Institute of Industrial Science and Technology Pohang, Gyeongbuk, South Korea [email protected] Abstract This paper
Software Design Document (SDD) Template
(SDD) Template Software design is a process by which the software requirements are translated into a representation of software components, interfaces, and data necessary for the implementation phase.
Chakra Vs Spiral Model - A Practical Approach
Chakra - A new era in Software Lifecycle modeling technique R.P.Muthu Assistant Professor, Department of Computer Science Indian Institute of Technology, Bombay. Abstract: Every old thing has to be modified
Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur
Module 11 Software Project Planning Lesson 29 Staffing Level Estimation and Scheduling Specific Instructional Objectives At the end of this lesson the student would be able to: Identify why careful planning
Course Registration Case Study
Course Registration Case Study Table of Contents Case Study...1 Case Study Background... 2 Course Registration System Problem Statement... 2 The Role of Tools... 2 Project Summary... 2 The Inception Phase...
Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).
0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems
Assuming the Role of Systems Analyst & Analysis Alternatives
Assuming the Role of Systems Analyst & Analysis Alternatives Nature of Analysis Systems analysis and design is a systematic approach to identifying problems, opportunities, and objectives; analyzing the
Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:
Curriculum Certified Software Tester (CST) Common Body of Knowledge Control Procedures Problem Resolution Reports Requirements Test Builds Test Cases Test Execution Test Plans Test Planning Testing Concepts
Chapter 8 Software Testing
Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
A Review of an MVC Framework based Software Development
, pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University
Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle
Database Project Lifecycle Philippe Bonnet, 2006 2 Software Engineering The implementation of a database application is a significant engineering endeavor The project must complete On time On budget The
Partnering for Project Success: Project Manager and Business Analyst Collaboration
Partnering for Project Success: Project Manager and Business Analyst Collaboration By Barbara Carkenord, CBAP, Chris Cartwright, PMP, Robin Grace, CBAP, Larry Goldsmith, PMP, Elizabeth Larson, PMP, CBAP,
Project planning and scheduling
Project planning and scheduling Project Planning Mel Rosso-Llopart ([email protected]) Version 1.1 Carnegie Mellon, 2005 1 Objectives 1. Introduce project planning 2. Examine the stages of project planning:
Software Quality Assurance Plan
Applying Broadcasting/Multicasting/Secured Communication to agentmom in Multi-Agent Systems Software Quality Assurance Plan Version 1.1 This document conforms to IEEE Std 730.1-1995 Software Quality Assurance
Appendix 2-A. Application and System Development Requirements
Appendix 2-A. Application and System Development Requirements Introduction AHRQ has set up a Distributed Systems Engineering Lab (DSEL) to support all internal development efforts and provide a facility
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?
11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process Project management encompasses all the
Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;
Volume 4, Issue 4, April 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com A Document Driven
Project Management. Software Projects vs. Engineering Projects
Read Chapters (a) Project Management, (b) Project Scheduling and (c) Risk Management from Pressman for this lecture. Project Management Rahul Premraj + Andreas Zeller reliability of data questioned! Software
Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997
1 Swirl Multiplayer Gaming Simplified CS4512 Systems Analysis and Design Assignment 1 2010 Marque Browne 0814547 Manuel Honegger - 0837997 Kieran O' Brien 0866946 2 BLANK MARKING SCHEME 3 TABLE OF CONTENTS
Certified Information Systems Auditor (CISA)
Certified Information Systems Auditor (CISA) Course Introduction Course Introduction Module 01 - The Process of Auditing Information Systems Lesson 1: Management of the Audit Function Organization of the
Chapter 7: Software Engineering
Chapter 7: Software Engineering Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 7: Software Engineering 7.1 The Software Engineering
SWEBOK Certification Program. Software Engineering Management
SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted
Agile Processes and Methodologies: A Conceptual Study
Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida [email protected] Darothi Sarkar Amity School of Engineering &
Project Management Practices: The Criteria for Success or Failure
234 Iman Attarzadeh Siew Hock Ow Department of Software Engineering Faculty of Computer Science & Information Technology University of Malaya, 50603 Kuala Lumpur, MALAYSIA Email: [email protected],
Software Engineering talk
Software Engineering talk Title: Lean or Agile software engineering process: an industry perspective By Keith Hanson, CEO, Twin Engine Labs Time & Place: 5:30pm, Jan 9 2014, Bogard Hall 1/7/14 1 ITEC420:
Agile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems [email protected]
Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML
Use-Case Analysis Use-Case Analysis! What is it?! An informal, user-friendly, technique useful for functional requirements analysis and specification! From where did it come?! Ivar Jacobson, a Swedish
CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan
1 W E B B A S E D M E E T I N G S C H E D U L E R S Y S T E M Project Plan Version 4.0 CS 6361 ADVANCED REQUIREMENTS ENGINEERING, SPRING 2010 UNIVERSITY OF TEXAS AT DALLAS R E Q U I R E M E N T S E N G
IT4202: SOFTWARE PROJECT MANAGEMENT
: SOFTWARE PROJECT MANAGEMENT 1. OUTLINE OF THE SYLLABUS (Compulsory) Topic Minimum number of hours Introduction to Project Management 05 Project Planning 08 Project Scheduling 08 Project Cost Management
Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff in charge: Dr.M.Senthil Kumar
VALLIAMMAI ENGINEERING COLLEGE S.R.M. Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Sub Code: CP7007 Sub Name: SOFTWARE REQUIREMENTS ENGINEERING Branch / Year: ME CSE / I Year Staff
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN
ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN Mohammad A. Rob, University of Houston-Clear Lake, [email protected] ABSTRACT In recent years, there has been a surge of
Practitioner Certificate Software Asset Management Syllabus. Version 2.0
Practitioner Certificate Software Asset Management Syllabus Version 2.0 June 2010 Practitioner Certificate in Software Asset Management The ISEB Practitioner Certificate in Software Asset Management (SAM)
An Iterative and Agile Process Model for Teaching Software Engineering
An Iterative and Agile Process Model for Teaching Software Engineering Maria Isabel Alfonso and Antonio Botía Dept. of Computer Science and Artificial Intelligence. University of Alicante (Spain) [email protected],
SOFT 423: Software Requirements
SOFT 423: Software Requirements Week 3 Class 1 Finish Elicitation & Start Analysis SOFT 423 Winter 2015 1 Last Class Questionnaires Document Inspection Requirements Stripping Use Cases Scenarios SOFT 423
City University of Hong Kong Course Syllabus. offered by Department of Computer Science with effect from Semester A 2015/16
City University of Hong Kong Course Syllabus offered by Department of Computer Science with effect from Semester A 2015/16 Part I Course Overview Course Title: Software Engineering Principles and Practice
Introduction to Software Engineering. 9. Project Management
Introduction to Software Engineering 9. Project Management Roadmap > Risk management > Scoping and estimation > Planning and scheduling > Dealing with delays > Staffing, directing, teamwork 2 Literature
The Elective Part of the NSS ICT Curriculum D. Software Development
of the NSS ICT Curriculum D. Software Development Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, Robert Member of CDC HKEAA Committee on ICT (Senior Secondary) 1 D. Software Development The concepts / skills
Metrics in Software Test Planning and Test Design Processes
Master Thesis Software Engineering Thesis no: MSE-2007:02 January 2007 Metrics in Software Test Planning and Test Design Processes Wasif Afzal School of Engineering Blekinge Institute of Technology Box
Title: Topic 3 Software process models (Topic03 Slide 1).
Title: Topic 3 Software process models (Topic03 Slide 1). Topic 3: Lecture Notes (instructions for the lecturer) Author of the topic: Klaus Bothe (Berlin) English version: Katerina Zdravkova, Vangel Ajanovski
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT
PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: [email protected] Supervised by:
Announcements. Project status demo in class
Web Design cs465 Announcements Project status demo in class Why? You will likely be involved in Web design You have many of the skills necessary Understand similarities and differences between GUI design
Academic Course Description. SE2003 Software Project Management Second Semester, 2014-15 (Even semester)
Course (catalog) description: Academic Course Description SRM University Faculty of Engineering and Technology Department of Software Engineering SE2003 Software Project Management Second Semester, 2014-15
Software Project Management Plan (SPMP)
Software Project Management Plan (SPMP) The basic template to be used is derived from IEEE Std 1058-1998, IEEE Standard for Software Project Management Plans. The following is a template for the SPMP.
CSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
Agile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
Software Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti
Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object Anne Monceaux 1, Joanna Guss 1 1 EADS-CCR, Centreda 1, 4 Avenue Didier Daurat 31700 Blagnac France
An Analysis of Hybrid Tool Estimator: An Integration of Risk with Software Estimation
Journal of Computer Science 7 (11): 1679-1684, 2011 ISSN 1549-3636 2011 Science Publications An Analysis of Hybrid Tool Estimator: An Integration of Risk with Software Estimation 1 J. Frank Vijay and 2
The most suitable system methodology for the proposed system is drawn out.
3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.
Independent Verification and Validation of SAPHIRE 8 Software Project Plan
INL/EXT-09-17022 Rev. 2 Independent Verification and Validation of SAPHIRE 8 Software Project Plan March 2010 The INL is a U.S. Department of Energy National Laboratory operated by Battelle Energy Alliance
CSE 3231 (Approved): Software Engineering Techniques
CSE 3231 (Approved): Software Engineering Techniques Course Description Software engineering issues, techniques, methodologies and technologies; software lifecycle activities: requirements analysis, architecture,
Fermilab Computing Division Service Level Management Process & Procedures Document
BMC Software Consulting Services Fermilab Computing Division Process & Procedures Document Client: Fermilab Date : 07/07/2009 Version : 1.0 1. GENERAL Description Purpose Applicable to Supersedes This
Masters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Object Oriented Design Table of Contents January
COURSE OUTLINE. Track 1 Advanced Data Modeling, Analysis and Design
COURSE OUTLINE Track 1 Advanced Data Modeling, Analysis and Design TDWI Advanced Data Modeling Techniques Module One Data Modeling Concepts Data Models in Context Zachman Framework Overview Levels of Data
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.
MANUAL TESTING. (Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info
MANUAL TESTING (Complete Package) WEB APP TESTING DB TESTING MOBILE APP TESTING We are ready to serve Latest Testing Trends, Are you ready to learn.?? New Batches Info START DATE : TIMINGS : DURATION :
Software Requirements Specification
Software Requirements Specification Project Name: DocPlus Project Members: Dorothy Mtaty Justin Esau Abstract: This Software Requirements Specification (SRS) describes the system requirements, and system
Time Monitoring Tool Software Development Plan. Version <1.1>
Time Monitoring Tool Software Development Plan Version Revision History Date Version Description Author 10/01/01 1.0 First Draft Sabrina Laflamme 12/01/01 1.1 Completion of Document John Lemon Page
Architecture Centric Development in Software Product Lines
Architecture Centric Development in Software Product Lines Aurangzeb Khan DCE, College of E & ME National University of Science and Technology (NUST), Pakistan Farooque Azam DCE, College of E & ME National
Chapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:
CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if
REQUIREMENTS SPECIFICATION AND MANAGEMENT. Requirements Analysis and Specification
REQUIREMENTS SPECIFICATION AND MANAGEMENT In this note we give the requirements process in a software organization, a template for the requirements document, and the process to manage changes to the requirements.
