Enterprise Computing Introduction



Similar documents
NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases

Practical Essbase Web Services

CASE STUDY. Enhancing the Patient Experience Harris Mobile Patient Engagement Platform

341 - Bioinformatics Android Coursework

StableFlow is a software development company, focused on software outsourcing services to companies ranging from startups to large enterprise.

Introducing Python as a main Programming Language

Offerte del 10 maggio 2013

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Business & Computing Examinations (BCE) LONDON (UK)

Impress Funders and Make Mission and Message Clear: Easy Data Visualization and Infographics. May 10,

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

HTML5 : carrier grade

ITP 140 Mobile Technologies. Mobile Topics

Bachelor of Engineering with Honours

Architecture Workshop

Do slow applications affect call centre performance?

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

SELECTING ECOMMERCE WEB HOSTING & SUPPORT

Choosing the Best Mobile Backend

Mobile Applications Developer. MAIN PURPOSE OF JOB To lead the design, development and maintenance of Android, iphone and ipad applications.

Appscend Mobile Platform Whitepaper

Web Application Architectures

Using Ruby on Rails for Web Development. Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources

CSC340: Information Systems Analysis and Design. About the Course

Human Computer Interaction

UTSC Mobile App Sample Blueprint

(Refer Slide Time: 02:17)

How To Pass Eecs 485

Web Based Application Tool (WBAT) For SMS Implementation!

How to improve service quality through enterprise feedback management?

BSB61015 Advanced Diploma of Leadership Management. Release Number 1. Online Flexible Delivery

CMS, CRM, shopping carts, Web applications

Development and Implementation of Location Based Native Mobile Application

Lutron Home Control Remote Access FAQ

Responsive, resilient, elastic and message driven system

The Developer Hiring Landscape 2015

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

Smartphone Enterprise Application Integration

Implementing Mobile Thin client Architecture For Enterprise Application

MEDIABURST: SMS GUIDE 1. SMS Guide

JOB DESCRIPTION. Work Level : Technical Reporting to: Project Manager

Information Systems and Supply Chain Management Bryan School of Business and Economics University of North Carolina at Greensboro

Getting Started Guide for Developing tibbr Apps

Here s how to choose the right mobile app for you.

Using qualitative research to explore women s responses

Course Summary. Prerequisites

Client-Side Web Programming (Part 2) Robert M. Dondero, Ph.D. Princeton University

opalang - Rapid & Secure Web Development

Financial Optimization ISE 347/447. Preliminaries. Dr. Ted Ralphs

An Overview. Executive Overview! Salestrakr LLC! Page 1

Oracle WebLogic Server: Remote Monitoring and Management

Day-Care Environment Communication and Database

Whitepaper. Trans. for Mobile

Building native mobile apps for Digital Factory

Education. Relevant Courses

How To Write A Web Server In Javascript

Gabriel Iuga. London, United Kingdom Tel: ; Website:

Travel agents guide to SMS messaging. How to use SMS messaging for marketing, booking, and customer support

Pro<DOC/> e-commerce Technology An Introduction


Choosing the web s future. Peter-Paul Koch Drupal Jam, 12 mei 2016

Copyright 2013 Splunk Inc. Introducing Splunk 6

value equivalent value

Starting and Operating An Online Business:

Software Journey to the Cloud - CATUG Discussion Document

Customer Engagement Strategy 2015/ /18

COROUTER SOLUTIONS PVT. LTD.

Sensors talk and humans sense Part II

Successful Mobility. Matej Lavric Sales Leader for Mobile CEE

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

62 Ecommerce Search Engine Optimization Tips & Ideas

Smart Campus. Creating services WITH and FOR people. Marco Pistore Research Director Fondazione Bruno Kessler Trento Project Manager Smart Campus

Lecture 6 Cloud Application Development, using Google App Engine as an example

Apigee Edge API Services Manage, scale, secure, and build APIs and apps

Development. G450 Multimedia Computing Science. Part time: COM5014

Smart and Innovative Web Solutions. Just One Click Away

CommonTime Making Business Mobile. Enterprise. CommonTime. Mobile Solutions. mdesign Platform.

A Way Out of the Mobile App Development Conundrum

Transcription:

Enterprise Computing Introduction Professor Stephen Gilmore School of Informatics The University of Edinburgh January 15, 2015

1 About this course 2 Introduction 3 Coursework Requirements Functional requirements Non-functional requirements 4 Teams 5 Closing

About this course Enterprise Computing is a Level 10 course. It is normally taken by undergraduate students in year 3. There is a coursework component and a written exam. The coursework component is worth 25% of the assessment. The written exam is worth 75% of the assessment. The coursework is in two parts. Part 1 is zero-weighted: it is just for feedback. Part 2 accounts for 100% of the coursework mark. The examination is a 2-hour paper taken in the main exam diet in April/May.

What is The Enterprise? If you were at the lecture then you heard the discussion of what the enterprise is.

Enterprise computing systems (1/2) Enterprise computing systems are very different in nature from self-governed development projects such as apps and hobby projects. For hobby projects developers themselves determine what is the best arrangement of the application, subject to some feedback from users. In enterprise computing systems one may have to work to determine what is the best arrangement of the application: it may not be at all obvious.

Enterprise computing systems (2/2) Enterprise computing systems may be governed by performance or other regulatory requirements and are subject to scrutiny from external regulators. External regulators can apply fines or other penalties for non-compliance. An enterprise computing system depends crucially on data. Data doesn t solve any problems. Data can be the problem. Enterprise computing systems may be required to serve a very broad user base, and cannot narrow their user base down to a small demographic. There can be legal requirements to make systems accessible to all.

Enterprise computing: different from apps (1/3) Mobile phone apps or web apps are subject to regulation on their design, and implementation and content. The App Store scrutinises apps which are submitted for content, and for malware. The Google Play Store does not vet apps in the same way, although all Android apps should follow the three major Android Design Principles (Enchant Me / Simplify My Life / Make Me Amazing). However, in use these apps are largely unregulated, with the possible exception of in-app purchases.

Enterprise computing: different from apps (2/3) Let s hear from an app innovator, Tech CEO Thomas Fisk of PicSong. https://www.youtube.com/watch?v=zpngsu9o4ik

Enterprise computing: different from apps (3/3) Apps can be simply for fun or because we can. Enchant Me. / If you want to do that for some reason. In contrast, enterprise computing systems are purposeful systems. We have an enterprise: we have a mission. People care. The spirit that you bring to enterprise development can be quite different from the spirit that you bring to app development. People need to use these systems. They are real world systems. Enterprises depend on them. Enterprises have stakeholders who may have widely different points of view about how the enterprise would best be run.

Enterprise computing is professional computing

The structure of enterprise computing systems Enterprise computing systems consist of distributed components. They will often consist of servers such as app servers and database servers in the back-end; and mobile apps, responsive web apps, or web sites in the front-end. They will typically contain web services which supply semi-structured data. They will typically exchange semi-structured data in the form of XML or JSON.

Outline of the coursework The goal of the coursework is to make use of a newly-released Open Data API made available by Transport for Edinburgh. The API is available at http://tfe-opendata.readme.io/v1.0 From the API you can request data about stop locations, service routes, journey planning, timetables and live bus locations for the city of Edinburgh. To access the API and use it you need an API key which looks like this:0c627af5849e23b0 030 73525508 Some of the letters and numbers of the API key have been blanked out. If you were at the lecture then you heard me say which letters and numbers these were.

Requirements Functional requirements (1/2) The functional requirements for the project are intentionally open. You are required to use the data which is made available by the Transport for Edinburgh Open Data web service, but it is not specified how you are to use it. Underspecification such as this is very common in practical software development. In contrast, it is very rare indeed to receive a fully formal specification which details all of the development work which is to be done. The guidance that you have been given is that you should make the open data information accessible. The data gives you the potential to do something: you decide what.

Requirements Functional requirements (2/2) As is often the case in practical software development, for the software development part of this course you have some freedoms which you should use as you see fit, and some constraints which you just have to learn to live with. You are free to choose the technology which you use to implement your system on the server side (if you even have a server side). You could use Python, PHP, Java, or another language of your choice. You are constrained to use TypeScript on the client side. TypeScript is a typed dialect of the JavaScript language.

Requirements Non-functional requirements (1/2) Non-functional requirements are different in nature from functional requirements. They are more difficult for non-experts to express precisely. They can be subjective. The old system is too hard to use: the new one should be easy to use. They are often not expressed precisely in quantitative terms. The old system is too slow: the new one needs to be really, really fast. Non-functional requirements are not always listed in order of importance. ( I wish they d told us that first. ) They may be presented in a more-or-less random order.

Requirements Non-functional requirements (2/2) Non-functional requirements are more likely to be spoken in a meeting than to be written down. It may be your job to write them down. That is the case here. They may be issued one-at-a-time over a series of meetings, rather than presented in full at the beginning of a project. Also the case here. A client may be more likely to change their mind about a non-functional requirement than a functional one. A client may be more hesitant about a non-functional requirement than a functional one. ( It should be like this. versus It must do this. ) Non-functional requirements may be more likely to be formulated negatively ( We don t want... ).

Requirements Non-functional requirement (#1 of 10) This picture represents non-functional requirement #1. If you were at the lecture then you heard me explain in words what it means.

The Thirteen Coursework Teams 1 Team Klingon 2 Team Romulan 3 Team Vulcan 4 Team Kirk 5 Team Spock 6 Team Scotty 7 Team Bones 8 Team Sulu 9 Team Uhura 10 Team Chekov 11 Team Transporter 12 Team Phaser 13 Team Tricorder If you were at the lecture then you heard me tell you which team you were on.

Three terms you should know When discussing software projects and their viability, there are three terms which you should know. Three terms you should know -ilities. Technical debt. Bus factor. If you were at the lecture then you heard the discussion of what these terms mean.

Things to do now Six things to do now Arrange a meeting of your team. How will you organise yourselves? Start to define the work (be creative!) and to divide up the work (be fair!). Learn about the different skills on your team. Visit the Transport for Edinburgh Open Data API and begin learning about it. http://tfe-opendata.readme.io/v1.0 Find out about TypeScript. Start learning TypeScript. Find out about JSON. Start learning JSON.