Information Systems Course Case Study: Wireless Campus Portal Vangel Ajanovski Institute of Informatics Faculty of Natural Sciences and Mathematics, Skopje.

Slides:



Advertisements
Similar presentations
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Advertisements

CS487 Software Engineering Omar Aldawud
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Experience from using JCSE topics in student projects V. Ajanovski, B. Jakimovski Faculty of Natural Sciences and Mathematics Skopje, Macedonia.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Use-case Modeling.
Course material for software project management with Microsoft Project Vangel Ajanovski Teaching assistant at the Institute of Informatics Faculty of Natural.
Requirements Specification
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
CS 501: Software Engineering
CS300 Planning and Executing a Project Terry Hinton Helen Treharne.
Fundamentals of Information Systems, Second Edition
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
University of Jyväskylä – Department of Mathematical Information Technology Computer Science Teacher Education ICNEE 2004 Topic Case Driven Approach for.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Principles of Object Technology Module 1: Principles of Modeling.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
UML - Development Process 1 Software Development Process Using UML (2)
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
What is Enterprise Architecture?
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Introduction To System Analysis and Design
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
INFO425: System Design INFORMATION X Chapter 8 Evaluating Alternatives for Requirements, Environment, and Implementation Evaluating Alternatives.
Object-Oriented Analysis and Design Fall 2009.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Fundamentals of Information Systems, Second Edition 1 Systems Development.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Use Cases CS 6961 – Lecture 4 Nathan Dykman. Neumont UniversityCS Lecture 102 Administration Homework 1 is due –Still reviewing the proposal, but.
PRJ566 Project Planning & Management Software Architecture.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Session 3 How to Approach the UML Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 5, 2011 Presented by Kang-Pyo Lee.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with IBM Rational Software Architect, V7.5 Module 18: Applying Patterns and Transformations.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
UML - Development Process 1 Software Development Process Using UML.
4+1 View Model of Software Architecture
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Using Rational Rose ® to construct UML diagrams.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
V7 Foundation Series Vignette Education Services.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
“This improved a lot since I started using Tango (three years ago) from scratch so I'm happy to see the efforts from the developers. Still there is room.
Introduction to UML.
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
Course material for software project management with Microsoft Project
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Software Development Process Using UML Recap
Presentation transcript:

Information Systems Course Case Study: Wireless Campus Portal Vangel Ajanovski Institute of Informatics Faculty of Natural Sciences and Mathematics, Skopje ii.edu.mk

Information Systems Course  Contents: – Concepts of IS Development, Components of an IS – Design Methodology, Structural and non-structural analysis – UML – Project Management (PERT and GANTT charts) – Reverse engineering  Workload – 2h lectures – 1h theoretical exercises – 2h practical in-lab exercises  2003/2004 – 30 students in the 4th year – Students are divided in 2 groups for lab. exercices

IS course materials and lab work  Most of the SE course materials and books dealing with software analysis and design – Give quite a good presentation of the theoretical concepts and – Are a great value for reading comprehension, but... – Usually they lack full-scale practical examples with real-world scenarios in larger SW development projects  Even more evident in IS development – Projects usually involve huge software development and managerial efforts – It is hard to present everything in detail and still confine to the volume of one or two-semester course – Authors, therefore, revert to simpler examples or even present unrelated bits of a large IS

...  We want a real information system as a case study – based on a real already developed software system – complex enough to include several intertwined SE concepts, methods and tools – simple enough to run in a simulated environment – interesting, fashionable problem to solve

The lab project overview  Wireless Campus Portal (WCP) – Consists of Web pages, WAP pages and SMS service providing useful and interesting info for the students, teachers, administration, etc... – Unites standard functions residing in the campus-wide IS  Schedule information (viewing timetables of scheduled lectures, exams, important events)  News and important announcement subscriptions (administrative announcements, notifications and reminders of schedules, etc.)  Enrollment for taking exams and presentation of exam results  Finding a free workstation in campus laboratories to do homework assignments, and others – Personalized - enables users to choose the information they need and the way they see it – Provides facilities for user intervention within the functions of the information system (for teachers and administration)

Project Phases  Phase 1 consists of development of test-bed web and wireless applications implementing functions of general interest:  Schedule information  News and important announcement subscriptions – The students have to start this development with assessment of user needs and proposition of solutions in a detailed technical specification, continued with an established project management plan.  Phase 2 introduces reverse-engineering concepts to the students, and they go on with exploring and reverse-engineering existing work, given to them in source code  Phase 3 – semestar projects, students split in groups and add new features to the system model  Phase 4 – (optional) rebuild the system with new features

Phase 1  With the start of the project, students are presented a partly completed design model, specified using UML – Created with reverse engineering of an existing platform – This platform was built completely in Java and itself took a substantial amount of work, partly in customizing the third-party open-source libraries that were used. – This is why it was decided to try a combination of forward and reverse engineering to specify the further development.  Rational Rose is chosen as an UML modeling tool – There is possibility of acquiring a full version for free  Rational Unified Process (or a variation) is used in order to finish the analysis and design phases of the new platform

...  Students should start with business-level use-cases. Depending on the number, importance and complexity of use-cases some of them will be left aside and the work will focus on the rest  While the model mostly revolves around describing the existing portal platform, it also serves to note some of the future feature requests. Students should prepare a detailed system model, precisely defining all of the system level use-cases that should be designed and developed as application features.  Students have to prepare a complete use-case documentation set, including: – Description of the use-case in more detail – Pre- and post-conditions – Alternative scenarios – Activity diagrams for the most complex scenarios

Phase 2  Phase 2 is done in two global steps – Reverse-engineering of SMS service system – Reverse-engineering of Web and WAP applications  The gathered information from the already developed classes should be linked to use-case realizations and decided on other use-cases that will be realized. – This is lab work and is done in order to practice the process of reverse-engineering Java code, web and WAP generating JSP-s, and as a result get UML class diagrams – Students are given a package of Java source files, together with one open-source library and access to several required packages and other libraries. – The final result should be a class diagram(s) of associations of all the classes forming the background application processing services.

...  The second step involes reverse-engineering of the web and WAP applications. – In this exercises it is important to show the associations for static and dynamic pages, how they link together and the results of the pages that are processed at server side. – The aim of the exercise is to point-out reusable and problematic parts of the web and WAP application and then do rework  The third step is logical reverse design of the current realization – Students should try to mark classes that perform same elementary functions and – agree on the use-case realizations performed with these classes – Agree on the coverage of this realization with regard to the newly built model

...  Sequences of actions – Sequences of actions as responses to user-given commands cannot be reverse-engineered, it is left as a task for the students to map the different class methods in sequence or collaboration diagrams specific for each use-case realization – This is a very useful process, and probably the hardest part of all the work, since they have to be able to read code written by others and provided with just minimal set of documentation  Components and building blocks – As part of the reverse-engineering process all executable and library components should be discovered and a proper mapping of all classes should be performed. – It is of great significance to find out dependences among components in order to be able to build them in proper order and link together in packages the classes with similar or joint functions.

...  During the last part of the process students are assigned with the packaging of components and deciding on the server platforms.  This task also involves the creation of a deployment architecture.  There are other steps that should be done in parallel to the packaging, like: – Deciding on the type of deployment – whether manual or automated; – Researching and deciding on the deployment operating system and overall software platforms and – Managing activities that consist the project development, deployment and documentation tasks.

Phase 3  Divided in several study groups (depending on the total number of students) – Each of the students will attack the system from a different perspective and try to find resolutions for each imperfection  For example, 30 students divided in 5 groups – One group could try to do reverse-engineering and refactoring of the code – The second group could try to fill-in missing design parts starting from the use-cases – The third group could work on a functional decomposition and perform mapping of the modules, and class operations to elementary functions – The fourth group could concentrate on the functional testing – The fifth group could go on the code documentation.

Students still have to start with something