CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Published byModified over 5 years ago
Presentation on theme: "CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1."— Presentation transcript:
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1
CIM2564 Introduction to Development Frameworks 2 Software Development Life Cycle (SDLC) SDLC describes activities and functions that are involved in developing a software product Phases –Systems planning –Systems analysis –Systems design –Systems implementation –Systems operation and support SDLC models –Waterfall model –Interactive model
CIM2564 Introduction to Development Frameworks 3 Waterfall Model Result of each phase flows sequentially into the next phase. Typically the adjacent phases interact
CIM2564 Introduction to Development Frameworks 4 Interactive Model Planning, Analysis, and design interact continuously, followed by implementation and operation and support Constant dialog among users, managers, and systems developers
CIM2564 Introduction to Development Frameworks 5 Systems planning Purpose – identify problem’s nature/scope Systems request – begins the process & describes desired changes/improvements Systems planning – includes preliminary investigation or feasibility study End product – preliminary investigation report Systems Development Life Cycle (1)
CIM2564 Introduction to Development Frameworks 6 Systems analysis Purpose is to learn exactly how the current system operates Fact-finding or requirements determination is used to define all functions of the current system The end product for this phase is the systems requirements document Systems Development Life Cycle (2)
CIM2564 Introduction to Development Frameworks 7 Systems design Purpose is to satisfy all documented requirements Identify all outputs, inputs, files, manual procedures, & application programs Avoid misunderstanding through manager and user involvement End product is system design specification Systems Development Life Cycle (3)
CIM2564 Introduction to Development Frameworks 8 Systems implementation Construct/deliver information system Prepares functioning, documented system Write, test, document application programs User and manager approval obtained File conversion occurs Users, managers, IS staff trained to operate and support the system Post-implementation evaluation performed Systems Development Life Cycle (4)
CIM2564 Introduction to Development Frameworks 9 Systems operation and support New system supports business operations Maintenance changes correct errors or meet requirements Enhancements increase system capability After several years of operation, systems experience need for extensive changes SDLC ends with system replacement Systems Development Life Cycle (5)
CIM2564 Introduction to Development Frameworks 10 Systems development guidelines 1.Stick to a plan 2.Involve users 3.Identify milestones 4.Establish checkpoints 5.Be flexible 6.Provide accurate and reliable cost and benefit information Systems Development Life Cycle (6)
CIM2564 Introduction to Development Frameworks 11 Introduction to Development Framework Developing a large scale distributed software systems is a complex challenge, as it involves multiple hardware platforms, OS, programming languages… A number of architectures have emerged to simplify this task – Development Framework It relieves developers of the burden of dealing with the many interoperability issues associated with creating such systems E.g. Sun J2EE, Microsoft.NET
CIM2564 Introduction to Development Frameworks 12 Introduction to the.NET Framework.NET is Microsoft’s strategy for developing large distributed software systems. A core component of.NET is the.NET Framework, a component model for the Internet. A component model allows separate software components written in different languages to be combined to form a functioning system.
CIM2564 Introduction to Development Frameworks 13 A comparison Compared with Microsoft’s Component Object Model (COM), which can be described as a component model for the desktop (not originally designed to address issues associated with large distributed systems. With OMG’s Common Object Request Broker Architecture (CORBA), which provides an object-oriented architecture to build distributed systems (not originally designed as a component architecture). With Java, designed for a single programming language – Java.
CIM2564 Introduction to Development Frameworks 14 Why.NET is? Issues addressed by the.NET Framework (1) For distributed systems, interoperability is the key issue. Arise from: Type System issues –Passing an integer from one program on one machine to another machine (different data representation) –More complex to pass types between different programming languages, User Defined Type? Methods of the type? Metadata issues –Few metadata (type’s description) is included in the execution file, other systems cannot inspect the metadata of types. Dynamic Type Discovery problem.
CIM2564 Introduction to Development Frameworks 15 Issues addressed by the.NET Framework (2) Execution issues –When a developer uses a type from another language, how does the runtime environment provide access to type? –Cross-language, cross-platform problems –Lack of common execution system Other issues in integrating components –Naming, Error handling, Security, Versioning, Scalability
CIM2564 Introduction to Development Frameworks 16 Some techniques to address these issues Representation Standards: e.g. common data representation Language Standards: e.g. source code can be recompiled on different machines Architecture Standards: e.g. Remote Procedure Call (RPC), CORBA, Microsoft’s Distributed Component Object Model (DCOM) Execution Environments: e.g. Virtual Machine (VM) technology, allows code to execute on different machines
CIM2564 Introduction to Development Frameworks 17.NET Framework Architecture Applications Base Framework Common Language Runtime Type System Metadata System Execution System Windows Client Web Forms Web Services
CIM2564 Introduction to Development Frameworks 18 Elements of the.NET Framework Common Language Runtime (CLR) –The base Base Framework –A set of class libraries that can be shared by any.NET-aware language CLR + fundamental parts of the Base Framework = Common Language Infrastructure (CLI)
CIM2564 Introduction to Development Frameworks 19 Common Language Runtime Consists of three main components –Type system –Metadata system –Execution system Common Language Specification (CLS) –a specification for the minimum subset of facilities need to be provided by most languages (CLS-compliant), designed to support interoperability between most programming languages
CIM2564 Introduction to Development Frameworks 20 Base Framework Provides a number of fundamental classes E.g. Object, String, Type Object – base class for all classes String – represents a Unicode string that can be shared between programming languages Type – the fundamental building block that enables executing programs to gain access to the metadata system, obtaining the information about a specific type
CIM2564 Introduction to Development Frameworks 21 Exposing the.NET framework to the applications How the functionality of the components will be exposed? Windows Clients? Web-based? Remote Clients? Windows Clients –Supported by System.Windows.Forms namespace –Supports rich GUI applications, can be used from any.NET- compatible language Web Forms (ASP.NET) –Supports Web-based applications –System.Web.UI.Page etc Web Services (ASP. NET) –An emerging standard for exposing programmatic functionality on the Intenet –Built on top of HTTP, XML, and SOAP –Supported by the System.Web.Services namespace
CIM2564 Introduction to Development Frameworks 22 Applications built on the.NET framework Benefits –Concepts and services remain consistent across all applications e.g. database access –Substantial reuse of components –Support for multiple programming languages, does not tie you into language-specific libraries and functionality