Real-World Object-Oriented Design Experience for Computer Science Students

Size: px
Start display at page:

Download "Real-World Object-Oriented Design Experience for Computer Science Students"

Transcription

1 Real-World Object-Oriented Design Experience for Computer Science Students Abstract Due to the limitations of time and resources, many undergraduate Software Engineering courses provide a survey of a broad range of development approaches rather than the experience of software production in a real-life setting. In this paper, we propose an innovative learning environment that integrates our undergraduate Software- Engineering course with an application course in Client/Server Computing. Such an environment allows students to apply software methodologies size. This paper to implement real-world applications of a meaningful presents detailed class schedules for both courses for a 16-week regular semester and analyzes the benefits of such a learning environment. Not all students in the softwareengineering course are taking the Client/Server Computing course, and vice versa. Therefore, team organization and student assessments become complicated and are discussed in the paper. Introduction According to the report generated by the ACM/IEEE-CS Joint Curriculum Task Force [1], the major focus of the undergraduate Software Engineering (SE) course is the specifications, design and production of large software systems. Students are asked to work in teams and apply the knowledge to solve real-life problems. For most other Computer Science (CS) courses such as Operating Systems, the subject of the course is the same as its problem domain. Furnishing good domain models, object classes, and problem-solving techniques for the domain is a routine part of the course [13]. However, for the SE course, the problem domain is not a direct subject of the course and students may lack the necessary domain background. This nature of SE courses limits the type and size of the projects that could be assigned to the students. To overcome this limitation, we propose to couple SE with another CS upper-division course, Client/Server Computing (CSC). Our objective is to assign a meaningful size term project with a real-world application and engage students in engineering activities that occur in a real software development environment. Since most of the current and future applications will be related to the client/server and internetbased paradigm [2], a team project in the client/server environment can help students better prepare themselves for future employment and would therefore be well received by students. Youwen Ouyang and Stanley S. Wang Department of Computer Science California State University San Marcos, CA To the best of our knowledge, there is no previous experiment of merging two such courses at other universities. The only similar approach is suggested by Villarreal and Butler [12], which combines SE with a database course. The sole benefit of their merge, as pointed out by the authors, was being able to assign students in both courses a larger project. Our merge of SE and CSC, on the other hand, involves a strong interaction between the two courses so that they can complement each other. This paper records our experience in designing and implementing this new curriculum during the Spring 1999 semester. We provide the background information of our students in the next section followed by our selection of term project, the organization of project teams, and coordination between SE and CSC. We discuss the benefits and potential expansion of our study in the last section. Background It is both necessary and prudent to evaluate the feasibility of a project at the earliest possible time [7]. In determining the feasibility of coupling the two courses, the background information about our potential students must be considered. In the CS Department at California State University San Marcos (CSUSM), SE is an upper-division required course, while CSC is an upper-division elective. The students entering both courses share the same prerequisites: a sequence of two programming courses and a course in data structures. The programming language currently used in all three courses is C++. When finishing the three courses, the students are expected to feel comfortable using C++ to implement well-designed and well-specified tasks. Thus, the students should have enough programming experience to appreciate the benefit of good documentation and the systematic software development process in SE. On the other hand, we consider that the three prerequisites alone do not provide sufficient background knowledge for CSC. Students who have completed the three prerequisites should have a sound foundation for understanding the program structure of any other Object- Oriented (OO) programming language such as Java. However, they lack training in OO analysis and design. In information systems, the client/server model is a concept for describing communications between computing processes that are classified as service consumers (or clients) and service providers (or servers) [11]. It is absolutely critical 13a3-1

2 that the students have the ability to identify and distinguish the functionality and responsibility of both clients and servers. Without proper training in requirement analysis and OO design, students will not be able to fully grasp the concept and power of client/server systems. Therefore, SE is being listed as a co-requisite for CSC. As we show in a later section, we have carefully designed our course plans to ensure that knowledge about OO analysis and design is covered in SE before it is applied in CSC. Term Project Even though term projects are used in most SE courses for the purpose of teamwork and application of principles and methodologies, many of them are toy problems that are well defined and have fictional customers. Such projects fail to convey real-world experience to students. The problem gets worse when it comes to OO methodology. Many SE textbooks use objects with clear boundaries as examples to illustrate the concepts of OO analysis and design. Such examples over simplify the real-world problems, which frustrate students when they apply OO methodology in their term projects and/or real-world work projects. The above limitations are not due to the lack of expertise of instructors or authors, but rather due to the constraints of time and scope of courses and textbooks. Our approach overcomes the above limitation by expanding the SE courses through an application course in CS where the domain knowledge of term project can be extensively discussed. While searching for appropriate projects to be shared by both courses, we keep several factors in mind. First of all, the project should be best implemented as client/server applications. Secondly, the project should be of a reasonable size that can be accomplished within a semester. To ensure the above two factors, the instructors of both courses should get together before the semester and perform thorough research in different ways of approaching the problems for the project. Thirdly, the project should be in an application domain that most students are familiar with. Last, we search term projects that could produce useful products for the University community. That is, the clients of the term projects are not the instructors of the course but rather other faculty members or staff on campus. There are two reasons for this criterion. On one hand, students are motivated when they know that their work might actually be used by potential clients and last beyond the semester. On the other hand, students are dealing with the typical clients of a software project who are not computer professionals and not very clear about what they need at the beginning of the project. Due to the amount of supervision involved, we recommend only one project each semester. In Spring 1999, the term project is a campus Grade Tracking System (GTS). The goal of this project is to allow instructors to keep track of students performance and students to view their performance and standing throughout the semester. Students are familiar with the domain language and there are faculty members who are in need of such a service and willing to perform the role of clients for the project. The development environment for the term project consists of networked Personal Computers (PCs) and network servers partially supported by the National Science Foundation (NSF) under grant DUE Symantec Corporation provided the Symantec Visual Café, a Java database application development environment, under its educational program agreement. There is no limitation on which computer can access the system as long as the computer is networked to the Internet and has a valid IP address. Team Formation In Spring 1999, there are three groups of students in the two courses. As of the last drop day, there are 26 students in SE and 16 students in CSC. Among them, a total of 11 students decide to take both courses (referred to as Group I students hereafter). Five students in CSC already completed SE the previous year (referred to as Group II students hereafter); and 15 students in SE are not taking CSC (referred to as Group III students hereafter). Figure 1 shows the distribution of different groups of students in the two courses: Group I 35% Group II 16% Group III 49% Figure 1: Student Distribution Clifton has proposed an industry approach for forming project teams [4]. In his approach, students submit their resumes to apply for team positions and instructors determine a team formation based on the solicited resumes. We adopt the approach to ensure that our teams simulate the real-world environment where there are different specialists at different stages of software development. Every project team consists of a mix of students from the above mentioned three groups of students. Group I students are asked to participate in all aspects of the project including design, analysis, and implementation. Group II students have a limited role in designing the project, preparing documents and making presentations; while Group III students have reduced responsibility during implementation phase. At the beginning of the semester, we present to students a brief description of the project and introduce the concept of the software life cycle. A list of positions along with their 13a3-2

3 descriptions is also distributed to students in SE. Students are given a week to submit cover letters and resumes in support of their application to two positions in the order of their own preference. Every member of a team will play the role of a leader at some point of the development. It is made clear that a leader is not to do everything on his/her own for the phase that he/she is in charge of. Nor is it a good idea for a leader to make other team members his/her servants. Throughout the semester, students are required to document their participation as evidence to receive appropriate credit for the project. Table 1 lists the job openings along with brief descriptions. Table 1: Job Openings and Brief Descriptions Title Co-Managers (two persons) System Analyst Quality Assurance Specialist System Librarian Brief Description Oversee the activities of all stages and ensure appropriate progress of the team. Coordinate the activities that ensure a thorough understanding of clients' needs. Coordinate the activities that ensure the quality of products throughout the development. Coordinate the activities that ensure the documents are consistent and complete. We evenly distribute the eleven students from Group I into five teams. The majority of them are co-managers with a few exceptions as system analysts or quality assurance specialists. In addition, we assign the five students from Group II as programmers into the five teams. As a result, there are a total of six to seven members in each team, among them three to four students are taking CSC. This is to ensure enough manpower during implementation. Coordination between SE and CSC Most SE textbooks present the OO methodologies as partial life-cycle models concerned with program design or the requirements phase only [5]. They identify activities within the software development process as a linear series of actions, each of which must be completed before the next chapter/phase is begun. However, iteration is an intrinsic property of software production in general and the OO paradigm in particular. Therefore, in SE, we present the materials in a spiral fashion that corresponds to the nature of OO methodology in software development [7]. 1. Concept Development 2. New Product Development 3. Product Enhancement Figure 2: A Spiral Model in Teaching OO SE Our model (see Figure 2) is a revised version of the spiral model of [3] which is based on the assumption that the developer, as well as the customer, understand and react to risks better as software evolve. Each cycle involves a progression that addresses the same sequence of steps, for each portion of the product and for each of its levels of elaboration [8]. The horizontal line defines the project entry point axis. The numeric numbers placed along the axis represent the starting points for different iterations. Table 2 lists activities of the task regions that are shared by all three iterations. Task Region Customer Communication Concepts and Rules Risk Analysis Construction and Release Evaluation Table 2: Acitivies of Each Task Region Activities Establish effective communication between student and customer. Solicit customer requests. Introduces the concepts and rules applicable to current stage of the development. Illustrate by examples how to apply the knowledge to accomplish the required products. Assess the impact of the new concepts and/or requirements on the previously defined product. Explore different alternatives. Discuss the pros and cons of the alternatives. Construct, test, and document the product. Evaluates the product in terms of utility, reliability, robustness, performance, and correctness. Evaluate the product in terms of its conformance with SE principles. Analyze the potential of reuse and the impact of design upon maintenance. 13a3-3

4 The first iteration emphasizes the concept development and results in preliminary OO models of the original project. A rapid prototype can be used to present the user interface and potential functionality of the product. During the second iteration, customers can refine the project requirement based on the first iteration. This is to accommodate the situation in which the customer says I can t tell you what I want, but I ll know it when I see it. The second iteration produces the design and an operational system of the project. The final iteration accommodates additional features from the customer and generates an enhanced product. Based on the new features, the instructor guides students in reusability analysis and identification of inheritance among classes. Students will have an opportunity to evaluate the scalability of their design and learn from the shortcomings of the original design Table 3: Integrated Class Schedules Client/Server Computing Introduction to client/server computing Java basics: program structure, data types, and control flow Object-oriented programming with Java Middle tier and JDBC API Software Engineering Introduction to software engineering Requirement Analysis and Rapid Prototyping Object-oriented Analysis & Modeling Architecture Design Join lecture: Allocating data and services in Client/Server Computing First hands-on exam Talking to databases Structured Query Language components Window programming Java GUI components Java abstract window toolkit Understand & control threads Event-driven programs Event handling with Java Different network services Different network protocols Connection vs. connectionless ODBC standards JDBC API The middle tier Remote Method Invocation First quiz Architecture design: Interaction among Detailed design: User Interface design & Testing Detailed design: Operations in classes and Interactions among classes Detailed design: Testing Teams present their designs for class evaluation Implementation & integration: Configuration control, Testing, Putting the components together 13a Exception in Java How Java handles exception? Second hands-on exam Client/server--business vs. technical prospective Examples of missioncritical client/server applications Finish your project Third hands-on exam Implementation & integration: Exceptional handling Acceptance testing Second quiz Maintenance Phase & Advanced Features of SE Finalize documents Final exam We carefully design our class schedules according to the revised spiral model so that, for many selected topics, Group I students can be exposed to their design issues (in SE) and implementation issues (in CSC) at the same time. The schedules are listed in Table 3 where the first column represents the weeks of a semester. For CSUSM, there are 16 weeks in a semester. The first iteration emphasizes the concept development of the project. About four weeks are devoted to the first iteration. Only brief descriptions of the project are given to the students. This is done to reflect the real-world situation that most new systems begin with a rather nebulous concept of the desired function [8]. It is up to system analysts on the teams (SE students) to carry out requirement solicitation and specification. Students are asked to conduct actual interviews with faculty members to find out what faculty do to keep track of students performance and the approach faculty may take to calculate final grades. Students experience rapid prototyping as an effective tool for requirement requisition. In addition, these students would perform OO analysis to generate the conceptual model of the project. Through this hands-on exercise, SE students have a better understanding of the four inherent difficulties of software development: complexity, conformity, changeability, and invisibility [9]. Meanwhile, students in CSC are introduced to the basic syntax and semantics of Java as a programming language as well as the concept of client/server computing. Programming assignments are given to these students to ensure their understanding of Java features. Fundamental OO concepts are introduced in SE before the OO perspective of Java programming is introduced in CSC. This is to prepare those students who are taking both CSC and SE in the same semester. As a result, SE covers OO analysis of the problem at the same time CSC covers OO implementation of the conceptual model. At the end of the first iteration, the instructor for SE can introduce the purpose and activities of architectural design. The two courses, then, meet together to learn about the architectural design of OO client/server systems. The instructors demonstrate to the students through some examples of allocating data and services in client/server systems.

5 The second iteration in SE develops the concept of the project from the first iteration into an actual product. This iteration involves design and implementation of the system. Therefore, students from both courses participate in the development. This is the iteration where the two courses interact and complement each other the most. The iteration starts at the second half of the fifth week and ends at the end of the tenth week. Most students in SE have very limited experience designing real life problems. From our past experience in teaching SE, we found that one of the main obstacles in learning design principles is not being able to visualize and hence anticipate the impact of the design. Therefore, we design parallel course plans so that, for each task, we can teach the design principles and implementation techniques at the same time but in two courses separately. For example, in the sixth week, SE covers the design of user interfaces and CSC covers the Java implementation of graphical user interfaces (GUI). Therefore, the instructor of CSC can use design documents from SE as examples and teach students in CSC how to read design documents. In addition, students will learn the Java GUI components that can be used to implement the design documents. On the other hand, the instructor of SE can use Java programs from CSC as examples to teach students the roles of user interfaces in a project and to help students organize the flow of an application through user interfaces. Students will also learn the techniques of writing design documents for user interfaces. The main goal of OO design is to define logical software specifications that fulfill the functional requirements based on decomposition by classes of objects. An essential step of detailed design is the allocation of responsibilities of objects and illustrating how they interact via message passing [6]. Thus, in the seventh week, students in SE are asked to refine the essential use cases, which are identified in the first iteration, to real use cases. For each real use case, a sequence of system operations is identified. Students are asked to define a contract for each system operation where they need to clearly specify the states of classes and/or associations before and after execution of the operation. The corresponding collaboration diagram for each contract is used to allocate responsibilities to each class and identify interactions among classes. The SE instructor can use Java programs from CSC to illustrate the concept of message passing and event-driven programming to implement OO designs. In addition, the examples can be used to analyze the impact on a design. On the other hand, in the seventh week, CSC covers the concept of threads and event handles in Java. The instructor of CSC can demonstrate how to use the Java class hierarchy to implement the class diagram that is produced in SE. In addition, the instructor can discuss the distribution of classes in a client/server environment. For the term project, users of GTS will access the system through GUIs on PCs that serve as client sites for the system. The actual data of the system is stored in an Oracle database that serves as the data server of the system. The middle-tier that is supported by the system consists of the implementation of the classes identified in the class diagram from the SE course. As a result, students will have a better understanding of the architecture of the system. We design the rest of the second iteration based on the same principle so that the students in SE are not only exposed to abstract concepts of OO design but also experience concrete applications of the concepts. The backend of the system is an Oracle database running on a server machine. Since relational database management system is not the prerequisite for either of the courses, the actual design of the database is provided by the instructor after students submit their class diagrams. This is to ensure that the implementation of the project will not be hindered by students ability in database design. However, CSC does cover basic commands in Structure Query Language (SQL) so that students can embed SQL statements in their program to retrieve data from and store data into Oracle database. In addition, CSC covers making a Java connection to an Oracle database. Students from both courses participate in implementation of the first round product. At the end of the second iteration, students demonstrate their product and submit the product for use by clients. The clients, at this point, can request additional features or make changes to the functionality of the product. However, the two courses proceed with separate routes after this point. The third iteration of SE involves the maintenance phase of software production. In addition, advance features of software engineering can be introduced to students. The instructor guides the students in evaluating the design of their project in terms of scalability and potential of reusability. If time permits, the concepts and activities of reverse engineering and re-engineering can be also introduced. At the same time, students in CSC study examples of both successfully implemented and challenged mission-critical client/server applications. They also explore other Java advanced features such as remote objects, remote method invocation, and distributed computing. Conclusion According to Standish Group [10], businesses in the United States alone spend an estimated $250 billion each year on application development. The Standish Group research shows a staggering 31.1% of projects will be canceled before they ever get completed. Further results indicate 52.7% of projects will cost 189% of their original estimates. Most projects are either over budgets or over the time estimated, and offer fewer functions than originally specified. Most of the main factors for the failure, according to the study, are related to poor design and analysis. Yet the analysts and designers are experienced software professionals. But students in undergraduate SE courses are 13a3-5

6 often novice programmers and lack design experience in any real-life software. They often find the abstract nature of the design and analysis concepts hard to comprehend. When even a medium sized term project is assigned, students have difficulty visualizing the overall architecture of the final system, not to mention the detailed design of such a system. However, instructors of SE courses usually cannot afford to discuss the implementation of any particular type of application before the term projects start. In fact, most SE textbooks discuss the implementation phase of software development in terms of team organization, documentation, and testing methods. As a result, the size of the problems used in SE courses to introduce design and analysis philosophy is typically small. Such small problems fail to convey the real-life experience of software development. In our approach, CSC supplements SE by presenting a thorough discussion of the topics necessary to implement a client/server application. In the beginning of the semester, CSC students are provided with an overview of the architecture and adequate implementation training for client/server systems. In addition, we have designed new course plans that coordinate design issues with their impact on implementation. As a result, students can better apply the design principles and analysis techniques to software development. By integrating SE with CSC, our methodology furnishes a learning environment that would provide students the much-needed experience in developing real-world-like applications. It is worth noting that client/server computing is only one of the many subject areas in CS where a problem domain is clearly defined. Thus, the proposed approach can be modified to integrate SE with another subject such as Database Management Systems, Operating Systems, or Computer Networks. (6) Larman, C. Applying UML and Patterns, An Introduction to Object-Oriented Analysis and Design, Prentice Hall, Upper Saddle River, NJ, (7) Ouyang, Y. and Wu, S. Teaching Object-Oriented Software Engineering in a Spiral Fashion Proceedings of the IASTED International Conference on Software Engineering, pp , Las Vegas, NV, October (8) Pressman, R. S., Software Engineering: A Practitioner s Approach, 4 th ed. McGraw Hill (9) Schach S. R., Classical and Object-Oriented Software Engineering with UML and Java 4 th ed. WCB McGraw- Hill 1998 (10) The Standish Group, "CHAOS" (11) Umar, A., Object-Oriented Client/Server Internet Environments, Prentice Hall, Upper Saddle River, NJ, (12) Villarreal, E. and Butler, D., Giving Computer Science Students a Real-World Experience in Proceedings of SIGCSE 98, pp , Atlanta, GA, 2/25-3/1, (13) Winslow, L. E., Programming Pedagogy A Psychological Overview SIGCSE Bulletin, Vol. 28, No. 3, pp (September 1996). References (1) Association for Computing Machinery, "Computing Curricula Report of the ACM/IEE-CS Joint Curriculum Task Force" IEEE Computer Society Press, (2) Bernstein, P., Middleware: A Model for Distributed Systems Services, Communications of the ACM, February 1996, pp (3) Boehm, B. W. A Spiral Model of Software Development and Enhancement, IEEE Computer, Vol. 21, No. 3 (May 1988). (4) Clifton, J., An Industry Approach to the Software Engineering Course SIGCSE Bulletin, Vol. 23, No. 1, pp (March 1991). (5) Henderson-Sellers, B. And Edwards, J. M. The Object- Oriented System Life Cycle Communications of the ACM, Vol. 33, No. 9 (September 1990). 13a3-6

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW

A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW A LOOK BACK: UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW John C. Knight, Jane C. Prey, & Wm. A. Wulf Department of Computer Science University of Virginia ABSTRACT

More information

A Case-Based Approach to Integrating an Information Technology Curriculum

A Case-Based Approach to Integrating an Information Technology Curriculum A Case-Based Approach to Integrating an Information Technology Curriculum Kathleen S. Hartzel 1 William E. Spangler Mordechai Gal-Or Trevor H. Jones A. J. Palumbo School of Business Administration Duquesne

More information

Course Title: ITAP 4371: E-Commerce. Semester Credit Hours: 3 (3,0)

Course Title: ITAP 4371: E-Commerce. Semester Credit Hours: 3 (3,0) Course Title: ITAP 4371: E-Commerce Semester Credit Hours: 3 (3,0) I. Course Overview The primary objective of this course is to expose students to the advanced use of information technology in the design

More information

Contents The College of Information Science and Technology 2011-2012 Undergraduate Course Descriptions

Contents The College of Information Science and Technology 2011-2012 Undergraduate Course Descriptions Contents The College of Information Science and Technology 2011-2012 Undergraduate Course Descriptions Information Science & Systems Courses INFO 101 - Introduction to Information Technology Introduces

More information

Course Title: ITAP 3471: Web Server Management

Course Title: ITAP 3471: Web Server Management Course Title: ITAP 3471: Web Server Management Semester Credit Hours: 4 (3,1) I. Course Overview The primary objective of this course is to give students a comprehensive overview of the tools and techniques

More information

Monfort College of Business Semester Course Syllabus (2015-2016)

Monfort College of Business Semester Course Syllabus (2015-2016) Monfort College of Business Semester Course Syllabus (2015-2016) COURSE PREFIX/TITLE: BACS 387 Object Oriented System Development Sem. Hrs. 3 Ed. Cap: 40 CATALOG DESCRIPTION: Prerequisites: BACS 287. Business

More information

Computer Information Systems (CIS)

Computer Information Systems (CIS) Computer Information Systems (CIS) CIS 113 Spreadsheet Software Applications Prerequisite: CIS 146 or spreadsheet experience This course provides students with hands-on experience using spreadsheet software.

More information

Client/server is a network architecture that divides functions into client and server

Client/server is a network architecture that divides functions into client and server Page 1 A. Title Client/Server Technology B. Introduction Client/server is a network architecture that divides functions into client and server subsystems, with standard communication methods to facilitate

More information

UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW

UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW UNDERGRADUATE COMPUTER SCIENCE EDUCATION: A NEW CURRICULUM PHILOSOPHY & OVERVIEW John C. Knight, Jane C. Prey, & Wm. A. Wulf Department of Computer Science University of Virginia Charlottesville, VA 22903

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

Proposal for a BA in Applied Computing

Proposal for a BA in Applied Computing Proposal for a BA in Applied Computing Introduction One of the challenges in designing Computer Science curricula is the fast pace of growth of the field of Computer Science. While the curriculum should

More information

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

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, rob@cl.uh.edu ABSTRACT In recent years, there has been a surge of

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Foundations for Systems Development

Foundations for Systems Development Foundations for Systems Development ASSIGNMENT 1 Read this assignment introduction. Then, read Chapter 1, The Systems Development Environment, on pages 2 25 in your textbook. What Is Systems Analysis and

More information

Session T1C A Cross-Disciplinary Software Engineering Project Implemented as a Web Service

Session T1C A Cross-Disciplinary Software Engineering Project Implemented as a Web Service A Cross-Disciplinary Software Engineering Project Implemented as a Web Service Pearl Brazier Department of Computer Science, University of Texas-Pan American Edinburg, TX 78539 brazier@utpa.edu María Cristina

More information

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr.

Lecture Overview. Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes. Prof. Dr. COM 401 Software Engineering Lecture Overview Object-Oriented Software Engineering: Using UML, Patterns, Java, and Software Development Processes Prof. Dr. Halûk Gümüşkaya haluk.gumuskaya@gediz.edu.tr

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

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

More information

Web-Based Database Project for the Lawton, OK Police Department: Interdisciplinary Systems Software Development at Cameron University

Web-Based Database Project for the Lawton, OK Police Department: Interdisciplinary Systems Software Development at Cameron University Web-Based Database Project for the Lawton, OK Police Department: Interdisciplinary Systems Software Development at Cameron University K. David Smith, Chao Zhao, Mike Estep, Abbas Johari Computing & Technology

More information

Elite: A New Component-Based Software Development Model

Elite: A New Component-Based Software Development Model Elite: A New Component-Based Software Development Model Lata Nautiyal Umesh Kumar Tiwari Sushil Chandra Dimri Shivani Bahuguna Assistant Professor- Assistant Professor- Professor- Assistant Professor-

More information

How To Model Software Development Life Cycle Models

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

More information

Teaching Object-Oriented Software Design within the Context of Software Frameworks

Teaching Object-Oriented Software Design within the Context of Software Frameworks Teaching Object-Oriented Software Design within the Context of Software Frameworks Zoya Ali, Joseph Bolinger, Michael Herold, Thomas Lynch, Jay Ramanathan, Rajiv Ramnath The Ohio State University, aliz@cse.ohio-state.edu,

More information

Introducing Software Engineering to the Freshman Student

Introducing Software Engineering to the Freshman Student Introducing Software Engineering to the Freshman Student Yi Liu, Wei Wang and Onyeka Ezenwoye Department of Electrical Engineering and Computer Science South Dakota State University Brookings, SD 57007

More information

New Program Development on Networking Information Technology

New Program Development on Networking Information Technology atmae white paper July 2014 New Program Development on Networking Information Technology Developing the 21st Century Workforce Dr. Xiaobing Hou Dr. Karen Tracey Dr. Shuju Wu Central Connecticut State University

More information

Abstract. Introduction

Abstract. Introduction Database Systems and Oracle: Experiences and Lessons Learned Deborah Dunn Assistant Professor Computer Science Department Stephen F. Austin State University Nacogdoches, TX 75961 (936) 468-2508 ddunn@sfasu.edu

More information

Computer Information Systems

Computer Information Systems Computer Information Systems Technology 93 Computer Information Systems Location: Patterson Campus - Bldg. E Program Information The Computer Information Systems department at is progressive and innovative

More information

Axiomatic design of software systems

Axiomatic design of software systems Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.

More information

Service Oriented Architectures

Service Oriented Architectures 8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history

More information

TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS

TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS Dr. Alan R. Peslak, Penn State University, arp14@psu.edu ABSTRACT Engineering of Complex Software Systems (IST 412) is a senior level software

More information

Chapter 8 Approaches to System Development

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

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

DATABASE DEVELOPMENT LIFE CYCLE

DATABASE DEVELOPMENT LIFE CYCLE DATABASE DEVELOPMENT LIFE CYCLE Pranshu Gupta 1 Ramon A. Mata-Toledo 2 Morgan D. Monger 3 Abstract A software development life cycle model (SDLC) consists of a set of processes (planning, requirements,

More information

The Evolution of an Advanced Database Course in an Information Systems Curriculum

The Evolution of an Advanced Database Course in an Information Systems Curriculum The Evolution of an Advanced Database Course in an Information Systems Curriculum Behrooz Seyed-Abbassi Department of Computer and Information Sciences, University of North Florida Jacksonville, Florida

More information

PCCC PCCC Course Description

PCCC PCCC Course Description Course Description CIS 101 Computer Concepts and Applications 3 credits (formerly Introduction to Computers and Information Processing) Introduces a variety of topics in computers and computing including

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

Client-server 3-tier N-tier

Client-server 3-tier N-tier Web Application Design Notes Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 642 Software Engineering for the World Wide Web N-Tier Architecture network middleware middleware Client Web Server Application

More information

Electronic Healthcare Design and Development

Electronic Healthcare Design and Development Electronic Healthcare Design and Development Background The goal of this project is to design and develop a course on Electronic Healthcare Design and Development using Unified Modeling Language (UML)

More information

Deploying Artificial Intelligence Techniques In Software Engineering

Deploying Artificial Intelligence Techniques In Software Engineering Deploying Artificial Intelligence Techniques In Software Engineering Jonathan Onowakpo Goddey Ebbah Department of Computer Science University of Ibadan Ibadan, Nigeria Received March 8, 2002 Accepted March

More information

Information Systems and Tech (IST)

Information Systems and Tech (IST) California State University, San Bernardino 1 Information Systems and Tech (IST) Courses IST 101. Introduction to Information Technology. 4 Introduction to information technology concepts and skills. Survey

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Software Development Processes Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 The essence of

More information

The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology

The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology The Online Grade Book A Case Study in Learning about Object-Oriented Database Technology Charles R. Moen, M.S. University of Houston - Clear Lake crmoen@juno.com Morris M. Liaw, Ph.D. University of Houston

More information

Software Engineering and Quality Assurance Comparison of Tools and Techniques used by Universities

Software Engineering and Quality Assurance Comparison of Tools and Techniques used by Universities Proceedings of Student/Faculty Research Day, CSIS, Pace University, May 5 th, 2006 Software Engineering and Quality Assurance Comparison of Tools and Techniques used by Universities Srinivas Vittal, Raghuvarma

More information

Eugene Wallingford Department of Computer Science University of Northern Iowa Cedar Falls, Iowa 50614-0507 wallingf@cs.uni.edu

Eugene Wallingford Department of Computer Science University of Northern Iowa Cedar Falls, Iowa 50614-0507 wallingf@cs.uni.edu TOWARD A FIRST COURSE BASED ON OBJECT-ORIENTED PATTERNS Eugene Wallingford Department of Computer Science University of Northern Iowa Cedar Falls, Iowa 50614-0507 wallingf@cs.uni.edu 1 INTRODUCTION Many

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information

A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses

A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses Nabil A. Yousif 1 and Masoud Naghedolfeizi 2 Abstract-In curricula of Computer Information Systems at Fort Valley

More information

OPTIONAL PROJECTS IN THE DATABASE COURSE: IMPLICATIONS FOR STUDENT PERFORMANCE

OPTIONAL PROJECTS IN THE DATABASE COURSE: IMPLICATIONS FOR STUDENT PERFORMANCE OPTIONAL PROJECTS IN THE DATABASE COURSE: IMPLICATIONS FOR STUDENT PERFORMANCE Dr. William I. Bullers, Jr., University of New Mexico, bullers@unm.edu ABSTRACT Projects are a common component in the database

More information

Master Degree Program in Computer Science (CS)

Master Degree Program in Computer Science (CS) Master Degree Program in Computer Science (CS) Students holding Bachelor s degree in Computer Science are accepted as graduate students, after meeting the general requirements stated below. Applicants

More information

2. Analysis, Design and Implementation

2. Analysis, Design and Implementation 2. Subject/Topic/Focus: Software Production Process Summary: Software Crisis Software as a Product: From Individual Programs to Complete Application Systems Software Development: Goals, Tasks, Actors,

More information

Description of the program

Description of the program Study program Faculty Cycle Software Engineering Contemporary Sciences and Technologies Postgraduate ECTS 120 Offered in Tetovo Description of the program The Masters programme in Software Engineering

More information

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa

COMPUTER SCIENCE. FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa FACULTY: Jennifer Bowen, Chair Denise Byrnes, Associate Chair Sofia Visa COMPUTER SCIENCE Computer Science is the study of computer programs, abstract models of computers, and applications of computing.

More information

IT3205: Fundamentals of Software Engineering (Compulsory)

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

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

INFORMATION SYSTEMS AND TECHNOLOGY MANAGEMENT

INFORMATION SYSTEMS AND TECHNOLOGY MANAGEMENT INFORMATION SYSTEMS AND TECHNOLOGY MANAGEMENT UNDERGRADUATE Bachelor's programs Bachelor of Business Administration with a concentration in information systems and technology management (http:// bulletin.gwu.edu/business/undergraduate-programs/

More information

BA 561: Database Design and Applications Acct 565: Advanced Accounting Information Systems Syllabus Spring 2015

BA 561: Database Design and Applications Acct 565: Advanced Accounting Information Systems Syllabus Spring 2015 BA 561: Database Design and Applications Acct 565: Advanced Accounting Information Systems Syllabus Spring 2015 Course Logistics Where Rehn 18 2:00 4:45 Tuesday Instructor Dr. Jim Nelson Rehn 208A Office

More information

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC) COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC) Computer Science (COSC) courses are offered by the School of Information Arts and Technologies within the Yale Gordon College of Liberal Arts.

More information

How To Design An Information System

How To Design An Information System Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

Outline. Definitions. Course schedule

Outline. Definitions. Course schedule SENG480A/CSC576A Topics in Software Engineering Software Development, Architecture & Evolution Lectures, Sep 17, 20, 2001 Hausi A. Müller University of Victoria Outline Assignment 1 due Sep 27 Last week

More information

A Software Engineering Senior Design Project Inherited From a Partially Implemented Software Engineering Class Project

A Software Engineering Senior Design Project Inherited From a Partially Implemented Software Engineering Class Project Session F4D A Software Engineering Senior Design Project Inherited From a Partially Implemented Software Engineering Class Project Pearl Brazier, Alejandro Garcia, Abel Vaca University of Texas Pan American,

More information

Department of Computer Science and Engineering

Department of Computer Science and Engineering Mississippi State University 1 Department of Computer Science and Engineering Department Head: Professor Donna Reese Office: 300 Butler Hall The Department of Computer Science and Engineering is dedicated

More information

DATABASE-DRIVEN WEBSITES: A WORKING COURSE MODEL

DATABASE-DRIVEN WEBSITES: A WORKING COURSE MODEL DATABASE-DRIVEN WEBSITES: A WORKING COURSE MODEL Paul J. Kovacs, Robert Morris University, kovacs@rmu.edu ABSTRACT As a historical study of the Internet would reveal, the original rationale of the World

More information

A Monitored Student Testing Application Using Cloud Computing

A Monitored Student Testing Application Using Cloud Computing A Monitored Student Testing Application Using Cloud Computing R. Mullapudi and G. Hsieh Department of Computer Science, Norfolk State University, Norfolk, Virginia, USA r.mullapudi@spartans.nsu.edu, ghsieh@nsu.edu

More information

Software Engineering Transfer Degree

Software Engineering Transfer Degree www.capspace.org (01/17/2015) Software Engineering Transfer Degree This program of study is designed for associate-degree students intending to transfer into baccalaureate programs awarding software engineering

More information

Teaching Requirements through Interdisciplinary Projects

Teaching Requirements through Interdisciplinary Projects Teaching Requirements through Interdisciplinary Projects Deepti Suri, Eric Durant Department of Electrical Engineering and Computer Science Milwaukee School of Engineering 1025 North Broadway Milwaukee,

More information

Students who successfully complete the Health Science Informatics major will be able to:

Students who successfully complete the Health Science Informatics major will be able to: Health Science Informatics Program Requirements Hours: 72 hours Informatics Core Requirements - 31 hours INF 101 Seminar Introductory Informatics (1) INF 110 Foundations in Technology (3) INF 120 Principles

More information

BIT Course Description

BIT Course Description BIT Course Description Introduction to Operating Systems BTEC 101 This course follows a systematic approach to operating systems explaining why they are needed and what they do. Topics include the basic

More information

Study Plan for the Bachelor Degree in Computer Information Systems

Study Plan for the Bachelor Degree in Computer Information Systems Study Plan for the Bachelor Degree in Computer Information Systems The Bachelor Degree in Computer Information Systems/Faculty of Information Technology and Computer Sciences is granted upon the completion

More information

Computer and Information Sciences

Computer and Information Sciences Computer and Information Sciences Dr. John S. Eickmeyer, Chairperson Computers are no longer huge machines hidden away in protected rooms and accessible to only a few highly-trained individuals. Instead,

More information

Faculty of Engineering and Science Curriculum - Aalborg University

Faculty of Engineering and Science Curriculum - Aalborg University Faculty of Engineering and Science Board of Studies for Computer Science Curriculum for the master s programme in Information Technology (Software Development) Aalborg University, September 2012 The programme

More information

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

Implementing Ontology-based Information Sharing in Product Lifecycle Management

Implementing Ontology-based Information Sharing in Product Lifecycle Management Implementing Ontology-based Information Sharing in Product Lifecycle Management Dillon McKenzie-Veal, Nathan W. Hartman, and John Springer College of Technology, Purdue University, West Lafayette, Indiana

More information

Computer Information Systems

Computer Information Systems Computer Information Systems 193 Computer Information Systems See Computer Science and Computer Network Engineering and Electronics sections for additional computer courses. Degrees, Certificates and Awards

More information

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

Why process models? Topic 3 Software process models. 3. Process models. What is a process model? Why process models? Topic 3 Software process models SE is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software... (IEEE Standard

More information

Online Computer Science Degree Programs. Bachelor s and Associate s Degree Programs for Computer Science

Online Computer Science Degree Programs. Bachelor s and Associate s Degree Programs for Computer Science Online Computer Science Degree Programs EDIT Online computer science degree programs are typically offered as blended programs, due to the internship requirements for this field. Blended programs will

More information

Umbrella: A New Component-Based Software Development Model

Umbrella: A New Component-Based Software Development Model 2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.

More information

PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM. Tuesdays and Thursdays, 4:00PM-5:30PM and 7:50PM 9:30PM at PLV G320

PLV Goldstein 315, Tuesdays and Thursdays, 6:00PM-7:50PM. Tuesdays and Thursdays, 4:00PM-5:30PM and 7:50PM 9:30PM at PLV G320 CRN:22430/21519 Pace University Spring 2006 CS122/504 Computer Programming II Instructor Lectures Office Hours Dr. Lixin Tao, ltao@pace.edu, http://csis.pace.edu/~lixin Pleasantville Office: G320, (914)773-3449

More information

Report on Game Design and Development Courses Meeting Knowledge Areas

Report on Game Design and Development Courses Meeting Knowledge Areas Report on Game Design and Development Courses Meeting Knowledge Areas Brent M. Dingle Summer 2014 Revised Fall 2014 and Spring 2015 Abstract This document approaches a Game Design and Development (GDD)

More information

Case Method for Computing Education (CMCE)

Case Method for Computing Education (CMCE) Case Method for Computing Education (CMCE) A Strategy for Teaching Software Engineering Emanuel S. Grant Department of Computer Science University of North Dakota North Dakota, USA grante@aero.und.edu

More information

Title: Topic 3 Software process models (Topic03 Slide 1).

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

More information

Information Technology Department

Information Technology Department Information Technology Department Information Technology Department About Us The Information Technology Department is one of the largest departments at Ahlia University, offering thirty five undergraduate

More information

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

AC 2008-1581: A COURSE SEQUENCE FOR INTEGRATING PROBLEM SOLVING AND CRITICAL THINKING IN A HYBRID OUTCOME-BASED IS/IT CURRICULUM

AC 2008-1581: A COURSE SEQUENCE FOR INTEGRATING PROBLEM SOLVING AND CRITICAL THINKING IN A HYBRID OUTCOME-BASED IS/IT CURRICULUM AC 2008-1581: A COURSE SEQUENCE FOR INTEGRATING PROBLEM SOLVING AND CRITICAL THINKING IN A HYBRID OUTCOME-BASED IS/IT CURRICULUM Azzedine Lansari, Zayed University Azzedine Lansari received a Ph.D. from

More information

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL Dominic O' Sullivan Department of Civil & Environmental Engineering National University of Ireland, Cork. Dr. Marcus

More information

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 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

More information

Assuming the Role of Systems Analyst & Analysis Alternatives

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

More information

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN

More information

Agile Techniques for Object Databases

Agile Techniques for Object Databases db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and

More information

[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information

[2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information [2006] IEEE. Reprinted, with permission, from [M. Ye and K. Sandrasegaran, Teaching about Firewall Concepts using the inetwork Simulator, Information Technology Based Higher Education and Training, 2006.

More information

Service Mediation. The Role of an Enterprise Service Bus in an SOA

Service Mediation. The Role of an Enterprise Service Bus in an SOA Service Mediation The Role of an Enterprise Service Bus in an SOA 2 TABLE OF CONTENTS 1 The Road to Web Services and ESBs...4 2 Enterprise-Class Requirements for an ESB...5 3 Additional Evaluation Criteria...7

More information

SCHOOL OF ELECTRONICS AND COMPUTER SCIENCE

SCHOOL OF ELECTRONICS AND COMPUTER SCIENCE SCHOOL OF ELECTRONICS AND COMPUTER SCIENCE Information systems and software engineering are the key disciplines that ensure effective modelling, definition of requirements and specification, and the efficient

More information

AC 2012-3090: THE METHOD OF COVERING MEP SCOPE IN AN ESTI- MATING COURSE

AC 2012-3090: THE METHOD OF COVERING MEP SCOPE IN AN ESTI- MATING COURSE AC 2012-3090: THE METHOD OF COVERING MEP SCOPE IN AN ESTI- MATING COURSE Dr. Suat Gunhan, University of Texas, San Antonio Suat Gunhan received both his bachelor s of architecture and master s of science

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 2 Process What is it? A series of predictable steps

More information

INSTRUCTIONAL STRATEGY IN THE TEACHING OF COMPUTER PROGRAMMING: A NEED ASSESSMENT ANALYSES

INSTRUCTIONAL STRATEGY IN THE TEACHING OF COMPUTER PROGRAMMING: A NEED ASSESSMENT ANALYSES INSTRUCTIONAL STRATEGY IN THE TEACHING OF COMPUTER PROGRAMMING: A NEED ASSESSMENT ANALYSES Mohd Nasir ISMAIL, 1 Nor Azilah NGAH, 2 Irfan Naufal UMAR Faculty of Information Management Universiti Teknologi

More information

Computer Science A.A. Degree, Certificate of Achievement & Department Certificate Programs

Computer Science A.A. Degree, Certificate of Achievement & Department Certificate Programs A Course of Study for Computer Science A.A. Degree, Certificate of Achievement & Department Certificate Programs The field of computer science leads to a variety of careers that all require core computer

More information

Chapter 1 The Systems Development Environment

Chapter 1 The Systems Development Environment Your Objects of SA&D Study Chapter 1 The Systems Development Environment 2011 by Prentice Hall: J.A.Hoffer et.al., Modern Systems Analysis & Design, 6 th Edition 1/55 2/55 Course Content Fundamental of

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

Master of Science in Information Technology (MS-IT)

Master of Science in Information Technology (MS-IT) Master of Science in Information Technology (MS-IT) Program Objectives The primary aim of the program is to allow IT professionals an opportunity for professional upgrading or an extension of their qualifications

More information

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1 The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

More information