22 February Implementation. Tournament Good concept Implementation problems Status: terminate or find an alternative that does not require fixed time.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

DOCUMENT TYPES. Digital Documents Converting documents to an electronic format will preserve those documents, but how would such a process be organized?
Software engineering tools for web development Jim Briggs 1CASE.
Revision Control Systems Amin Tootoonchian Kian Mirjalali.
Project 1 Introduction to HTML.
Chapter Concepts Review Markup Languages
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Multimedia for the Web: Creating Digital Excitement HTML, XHTML and Web Authoring.
Programming Languages Structure
Developing the NSDL User Portal Dean Krafft, Cornell University
© Prentice Hall CHAPTER 3 Computer Software.
Tutorial 11 Creating XML Document
Chapter 1 Understanding the Web Design Environment
Upgrading to XHTML DECO 3001 Tutorial 1 – Part 1 Presented by Ji Soo Yoon 19 February 2004 Slides adopted from
Developing a Basic Web Page with HTML
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
1st Project Introduction to HTML.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
Tutorial 3: Adding and Formatting Text. 2 Objectives Session 3.1 Type text into a page Copy text from a document and paste it into a page Check for spelling.
Introducing HTML & XHTML:. Goals  Understand hyperlinking  Understand how tags are formed and used.  Understand HTML as a markup language  Understand.
ECLIPSE IDE N AME : A SHOK P ADMARAJU C OURSE : T OPICS ON S OFTWARE E NGINEERING I NSTRUCTOR : D R. S ERGIU D ASCALU.
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
Chapter ONE Introduction to HTML.
Web Design Basic Concepts.
HTML Comprehensive Concepts and Techniques Intro Project Introduction to HTML.
Chapter 1 Variables in the Web Design Environment
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
1 Networks and the Internet A network is a structure linking computers together for the purpose of sharing resources such as printers and files Users typically.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Creating a Basic Web Page
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Introduction to XML cs3505. References –I got most of this presentation from this site –O’reilly tutorials.
The new version control system. Kiril Karaatanasov, July 2006 What is Subversion Subversion is a newly developed open source version control system Subversion.
Chapter 1 Understanding the Web Design Environment Principles of Web Design, 4 th Edition.
Week 1 Understanding the Web Design Environment. 1-2 HTML: Then and Now HTML is an application of the Standard Generalized Markup Language Intended to.
18 March Implementation. Tools Do you need them? When do you need them? What can they do better then you?
1 Lecture 19 Configuration Management Software Engineering.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
XP New Perspectives on The Internet, Sixth Edition— Comprehensive Tutorial 8 1 Creating Effective Web Pages Creating HTML Documents Tutorial 8.
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
CHAPTER TEN AUTHORING.
1 3. Computing System Fundamentals 3.1 Language Translators.
XML 2nd EDITION Tutorial 1 Creating An Xml Document.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
XHTML By Trevor Adams. Topics Covered XHTML eXtensible HyperText Mark-up Language The beginning – HTML Web Standards Concept and syntax Elements (tags)
Copyright (c) 2004 Prentice-Hall. All rights reserved. 1 Committed to Shaping the Next Generation of IT Experts. Creating XHTML Documents Essentials for.
INFSO-RI Enabling Grids for E-sciencE SCDB C. Loomis / Michel Jouvin (LAL-Orsay) Quattor Tutorial LCG T2 Workshop June 16, 2006.
XML Engr. Faisal ur Rehman CE-105T Spring Definition XML-EXTENSIBLE MARKUP LANGUAGE: provides a format for describing data. Facilitates the Precise.
Web Application Programming Presented by: Mehwish Shafiq.
Web Technologies Lecture 4 XML and XHTML. XML Extensible Markup Language Set of rules for encoding a document in a format readable – By humans, and –
 Programming - the process of creating computer programs.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
Asstt. Prof Sonia Sharma Computer Dept 1 HTML ( Hypertext MarkUP Language ) HTML is the lingua franca for publishing hypertext on the World Wide Web.
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
HTML HYPER TEXT MARKUP LANGUAGE. INTRODUCTION Normal text” surrounded by bracketed tags that tell browsers how to display web pages Pages end with “.htm”
LBSC 690 Session 4 Programming. Languages How do we learn a language? Learn by listening Then reading Then writing How do we teach programming? Learn.
The idea of adding markup instructions to documents is not new. Before computers, authors would make annotations by hand in their written or typed documents.
Introduction to XML Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
Web Design Principles 5 th Edition Chapter 3 Writing HTML for the Modern Web.
HTML PROJECT #1 Project 1 Introduction to HTML. HTML Project 1: Introduction to HTML 2 Project Objectives 1.Describe the Internet and its associated key.
Project 1 Introduction to HTML.
Chapter 1 Introduction to HTML.
Project 1 Introduction to HTML.
Introduction to XHTML.
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
CIS 133 mashup Javascript, jQuery and XML
Presentation transcript:

22 February Implementation

Tournament Good concept Implementation problems Status: terminate or find an alternative that does not require fixed time or location

Software Engineering Elaborated Steps Concept Requirements Architecture Design Implementation Unit test Integration System test Maintenance

Tools Version Management Build Systems Integrated Development Environments

Version Management Both during and after development Both code and documentation Uses Multi-developer change control Releases Support for different environments Computers Operating systems

Top Reasons for Using Version Management Bugs which were fixed reappear Latest versions of code overwritten by old versions Which version is the right one? I have so many I have lost my latest changes

Questions Addressed Development Issues How do we integrate parallel work? How do I know which changes were in the code that was being tested? Who changed this module? When? Why? Multi-version Issues What versions have been made available to people? How do I assure that all versions get the changes that they need? What versions need to be re-released to support changes made?

Documentation that Needs Version Control Manuals: need to reflect the variations of the different releases Test data: what tests have been run and what was the result Bug reports Planned changes Any document being edited by multiple people

Basic Functions Ability to add and remove changes Ability to identify differences Record of changes made Storage of different versions Ability to get access to one or more versions Identification of all the components needed to build any version

Need a Baseline Agreed upon document or code level in large project, formally reviewed and agreed upon in your project, requires consensus agreement Basis for further development in large project, changed only through formal change control procedure In your project, changed when the developer is “comfortable”

When To Start Using Version Control Should you use it during unit testing? What is unit testing? How much structure does your unit testing require? If unit testing requires significant infrastructure or scaffolding, it makes sense to start using it very early

No Special Tools Needed Identify procedures and data needed to add and remove changes identify differences record changes made store different versions get access to one or more versions build any version

But there are tools … CVS: Concurrent Version System Subversion (SVN) SourceForge Actually uses CVS and SVN, but a different model

Concurrent Versioning System Developed in the mid 80s Predecessor RCS (Revision Control System) Vrije University, Amsterdam Now open source Until recently, the most commonly used tool ximbiot.com/cvs/wiki

What CVS Does Supports hierarchical directories manages changes on a per file basis Remote repository access import locally for use Supports parallel development merges changes identifies, does not resolve, conflicts Basic tasks getting a working copy committing changes reverting to prior level adding or removing a file synchronizing to the latest code tagging versions of files

Subversion improved version of CVS consistent interfaces except for “compelling reasons” key changes everything is versioned: directories and file meta- data as well as files atomic commits guarantee that all aspects are completed or none are better performance

SourceForge Open source development environment Free web-based facility Purchasable software as well SourceForge.net supports SourceForge.net CVS and SVN Compile farm Trackers Web site

Lots of Others Google code TRAC

Tools Version Management Build Systems Integrated Development Environments

Build System Functions System configuration Executing preprocessors compilers linkers Manage paths and libraries Create executables and libraries

Types of Build Systems Platform specific independent Part of version management systems integrated development environments nothing (standalone)

Platform Specific System: Unix make Uses a makefile Can build full systems or parts Defines dependencies Simplest example: object file depends on its source file Executes commands for any (and only) pieces that need to be rebuilt

Open Source Systems: Lots of Them GNU make Been around for a while Cons Built in Perl SCons Python scripts CMake cross-platform used in conjunction with the native build environment Jam C and C++ See also FT Jam (additional platforms)FT Jam

Apache Ant: build Introduction Workflow elements XML-based configuration files Java based contains features specifically for J2EE

Ant Control Commands (sample) Ant: Runs Ant on a supplied buildfile Ant AntCall: Runs another target within the same buildfile AntCall Exec: Executes a system command (can be OS specific) Exec Java: Executes a Java class Java Parallel: Forks a new thread for another Ant tasks Parallel Sequential: Grouping of commands Sequential Waitfor: Blocks execution until a set of specified conditions become true Waitfor

Tools Version Management Build Systems Integrated Development Environments

Integrated Development Environment What is an IDE? A programming environment integrated into a software application Normally includes Source code editor Compiler and or interpreter GUI development tools Build system May also include Graphical tools (e.g., class hierarchy diagram) Debugger Class browser Version management system

History Early programming was not done with IDEs Coding sheets and keypunches Line command make files Hardware enhancements typewriter-like terminals computer screens Which of these enabled IDEs? Why?

Dartmouth Time Sharing System (1964) Command line system Supported Basic, Algol and FORTRAN DTSS commands: NEW, OLD, LIST, SAVE, RUN Line starting with number replaced that line in the current program All other commands implied execution Considered by most people the first IDE

Today’s IDEs Menu-driven Proprietary Microsoft Visual Studio (C#, C++, Visual BASIC) Borland JBuilder (Java) Apple XCode (Mac OS X) Open Source SharpDevelop (.NET) SharpDevelop GNU Emacs (Unix) – major modes for languages GNU Emacs

Eclipse Both an IDE and an architecture IDEs Java, C++, C, C#, Python, PHP, Perl, Smalltalk, CMFL (Coldfusion), Cobol, Fortran, Prolog, Erlang (you get the idea) IDE built using architecture Enhancements through plug-ins

XML What is it? Tools How to use it?

What is XML?  XML - eXtensible Markup Language  A "standard/specification" for describing data with markup tags  Tags can describe data or a structure  XML - cornerstone of a set of technologies  XML can be used alone  Related technologies for most effective use

History of XML  Built on other technologies  GML and SGML – (Standard) Generalized Markup Language: 1960s  Before there was Word and WYSIWYG editors  HTML - HyperText Markup Language  W3C (World Wide Web Consortium) standard

.ce Introduction.ju ss The work of authors, publishers, and researchers involves, in varying degrees, three recognizable text Formatting commands:.ce center next line.ju justify right margin.ll line length.ss single spacing Script Example

Tags  Focus on data description and structure  Element -- a pair of tags with content  Attribute -- specific information about an element  Allow creation of XML Dialects  SMIL -- for multimedia (RealPlayer Multimedia players)  WML -- Wireless WAP-phones  XHTML -- XMLized version of HTML  MathML -- for mathematics  HEML -- historical events

HTML XML Uses & style Markup describes text Focus on presentation Data is text (limited reuse) (Relatively) fixed set of tags Loose syntax End tags assumed Nesting errors affect display Simple and complete Single use - for Web Uses & style Markup describes information Focus on data structure Data retains meaning Extensible - can define new tags Stringent syntax End tags required Element nesting enforced Uses related technologies Highly reusable documents

Related Technologies XML schema (XSD replaced DTD) provides the syntax defines way elements and attributes represented in a XML document eXtended Stylesheet Language (XSL) enables data reuse transform XML into other XML HTML format XML for presentation (rendering) Fonts, size, color, alignment,... Rules for ordering

Tools XML Parser XSL Processor Lots and lots of them Should you use them?

How to Use XML Key uses Separation of changeable decisions Need for multiple forms Before you invent your own tags, are there relevant ones that you can appropriate? Use of attributes versus elements continuing discussion