90 likes | 215 Views
SWE3613. “Development” Technology and Tools. This decade’s (2010-2020) growing “digital” society. Industrial / Utility / Transportation / Military / Medical / etc. Devices & Robots. DB. Personal & Business Computers. Servers. DB. Cloud (satellite/network/communications).
E N D
SWE3613 “Development” Technology and Tools
This decade’s (2010-2020) growing “digital” society Industrial / Utility/ Transportation/ Military / Medical/ etc. Devices & Robots DB Personal & Business Computers Servers DB Cloud (satellite/network/communications) “Personal” Devices “home” Devices
Multiple Execution Platforms • The development environment/platform and Tools may be different depending on the execution environment. • Computing Servers, Personal Computers, Desktops, Real-Time systems commonly runs on following operating systems: • MS Windows, • UNIX-like, • Apple Mac OS • LynxOS, FreeRTOS, Windows CE, etc. (real-time, embedded systems) • Computing /Mobile Device Code may need different tools in order to run on: • Apple iOS • Google Andriod • Blackberry • MS Windows Phone
Popular Programming Languages • Many compilers for popular programming languages such as: • Java (may be used for all major operating systems) • C ++ (may be used for all major operating systems) • C# (predominantly for MS .Net framework) • C • Ruby on Rails
Browser/Server Related User Interface Technology • HTML • VB Script • PHP • JavaScript • Java Server Page (JSP) • MS’s Active Server Page (ASP) • Ajax
Managing/Processing Data • The predominant Databaseis still Relational DB with SQL language such as: • Oracle • MySQL • MS SQL Server • IBM DB2 • New,Distributed File & “Big” Data Analysis: • Apache Hadoop with “tools” such as • Amazon Web Services (AWS) • Splunk • MapReduce (part of Hadoop)
Some “Integrated” Software Development Platform Examples • Free/Open Source: • ECLIPSE IDE for programming in Java, ADA, C/C++, Perl, PHP, Python, Ruby on Rail, JavaScript, etc. • Has different sets of integrated tools: • Java Development Tool (JDT) • C/C++ Development Tool (CDT) • PHP Development Tool (PDT) • ORACLE: • Java Platforms includes DB interface, GUI dev., etc.: • Standard Edition (SE) for small projects • Enterprise Edition (EE) for large enterprise • Micro Edition (ME) for mobile devices
Testing Tools • Automated Test Tools has 2 major components: • Development (Creation and Editing) of Test Cases (test “scripts”) which are stored in files • Execution of test scripts and recording of test results • Some Sample Tools: • Silk Test (formerly from Borland) from Micro Focus • Unified Functional Test (formerly Mercury QuickTest) from HP • Rational functional Test from IBM
Project/Code Repository & Version Control • Multi-user Repository with: • Files and versioning of files • Basic Create/Delete functions • Checkout, Checki-in, Lock, Unlock, View, etc. functions user2 View V1 of code user1 Checkout Check-in user3