IMIS Contemporary IS Development

Course

In Leicester

Price on request

Description

  • Type

    Course

  • Location

    Leicester

  • Duration

    1 Year

Knowledge of the fundamental concepts of object orientation, and objectoriented systems development

Facilities

Location

Start date

Leicester (Leicestershire)
24 Millstone Lane, LE1 5JN

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Theme: Development of Information Systems
Course: Higher Diploma
Module Title: Contemporary IS Development
Module Code: H33
Resources:

  • Software: An Object Oriented Programming Language, CASE Tool and SQL compliant database.
  • Students should have a working knowledge of the IMIS
  • Code of Ethics and be able to understand and apply the ethical and legal concepts contained therein

Assessment: By a single 3-hour externally set examination paper
CATS Equivalent: 200 Notional Hours:

  • 80 Hours Structured,
  • 120 Hours Directed Self-Study

SPECIFIC COURSE AIMS AND LEARNING OUTCOMES:

  • Model business situations to inform the development process using accepted standards.
  • Respond to a requirements specification by analysing and designing a contextually relevant solution.
  • Examine the social and legal impacts of developing and implementing information systems and the role played by Information Systems professionals in addressing such issues.
  • Determine effective strategies for managing information systems development.

MODULE AIMS:

To provide students with:

  • A perspective on the problems in information systems development and their underlying causes, and what can be done to help avoid them. (A1)
  • A review of contemporary system development approaches and methodologies. (A2)
  • An introduction to the Unified Modeling Language (UML) and the Unified Software Development Process. (A3)
  • Knowledge of the fundamental concepts of object orientation, and objectoriented systems development. (A4)
  • An introduction to the concept of reusability and the potential for reuse in object-oriented development. (A5)

MODULE LEARNING OUTCOMES:
Students should be able to:

A1:

  • Identify problems in information systems development and discuss their underlying causes. (LO1)
  • Explain how different approaches and human factors can contribute to the software development process. (LO2)
  • Appraise the wider ethical issues associated with information systems development and discuss their implications for computers and computerised information. (LO3)

A2:

  • Review methodologies, frameworks and approaches for information systems development. (LO4)
  • Discuss the problems of integrating new object-oriented information systems with legacy systems. (LO5)
  • Compare hard and soft systems approaches. (LO6)

A3:

  • Describe the fundamental concepts in the Unified Software Development Process (USDP). (LO7)
  • Describe the support provided by the UML for the software development process. (LO8)

A4:

  • Explain the fundamental concepts of object-orientation and the justifications for adopting an object-oriented approach to systems development. (LO9)
  • Describe the steps involved in object-oriented analysis. (LO10)
  • Describe the steps involved in object-oriented design. (LO11)
  • Explain the need for identifying and specifying control in an application, and how to do so using UML statechart diagrams. (LO12)
  • Describe the steps involved in moving from design to implementation. (LO13)
  • Design, document and implement, using an object-oriented programming language, a relatively simple information system that incorporates a Graphical User Interface (GUI), and the facility for the persistent storage of data from several entities using either a database package or files. (LO14)

A5:

  • Discuss issues of reusability in the software development process. (LO15)

DETAILED MODULE CONTENT:

LO1: Problems in IS Development

  • Problem perspectives: end-user, client and developer.
  • Issues of quality and productivity.

LO2: Development Approaches and Human Factors

  • Adopting a project life cycle.
  • Benefits from prototyping and incremental development.
  • User involvement and roles in projects.

LO3: Ethical Issues

  • Consideration of the impact that a new information system will have.
  • Project teams and professionalism; ethical behaviour.
  • Legislation affecting an information systems development project.

LO4: Methodologies, Frameworks and Approaches

  • Methodology for IS development: procedures, techniques, tools and documentation aids.
  • Structured methodologies; object-oriented methodologies; the Unified Software Development Process (USDP).
  • Dynamic Systems Development Method (DSDM): DSDM and Rapid Application Development (RAD); DSDM life cycle.
  • Agile methodologies including Extreme Programming (XP), Test Driven Development, Refactoring.
  • Open Source development: Open Source Initiative (OSI), Open Source Definition.

LO5: Legacy Systems

  • Problems arising through interaction of systems built using different technologies.
  • Integrating new object-oriented systems with non-object-oriented systems: object wrappers; screen scrapers.

LO6: Hard and Soft Systems Approaches

  • Participatory Design; soft methodologies (for example, Checkland's Soft Systems Methodology (SSM) and Mumford's Effective Technical and Human Implementation of Computer-based Systems (ETHICS).
  • How hard and soft methodologies differ.
  • Combining hard and soft approaches (for example, using SSM as the front-end to a hard systems development approach).

LO7: Unified Software Development Process

  • USDP phases: Inception; Elaboration; Construction; Transition.
  • USDP disciplines: Business Modelling; Requirements; Design; Implementation; Test; Deployment; Configuration and Change Management; Project Management; Environment.
  • Object-oriented analysis; object-oriented design.
  • Iterative and incremental development.

LO8: The UML

  • What is meant by a model; the distinction between a model and a diagram.
  • Diagrams provided in the UML; the concept of a model in the UML.

LO9: Object-Orientation

  • Fundamental concepts in an object-oriented approach: abstraction and encapsulation; event-driven systems and message passing; class and instance; object state; relationships between classes; inheritance and polymorphism.
  • Benefits and limitations of object-orientation.

LO10:Object-Oriented Analysis

  • Use-case driven development; use case realizations.
  • Use cases and requirements specification; use case diagrams and use case descriptions.
  • Definition of a Domain Model in the USDP; using class diagrams to illustrate a domain model: finding objects and classes; adding attributes to appropriate classes; adding associations; determining multiplicity.
  • Attributes and state; link and association.
  • Specification by contract.
  • Algorithmic and non-algorithmic methods for describing operation logic.

LO11:Object-Oriented Design

  • Object interaction and collaboration: developing object collaboration from use cases.
  • The UML concepts of collaboration and interaction.
  • Using UML sequence and collaboration diagrams to model object collaboration.
  • Criteria for good design: coupling; cohesion; designing controller classes; message handling; assigning responsibilities to classes; Class, Responsibility, Collaboration (CRC) cards.
  • Specifying classes: attributes, operations, visibility.
  • Designing associations and navigability.
  • UML interfaces and the realize relationship.
  • Designing operations/methods.

LO12:Designing Control using Statecharts

  • The notion of control in an application: for example, modelling state dependent variations in behaviour; the relationships between statecharts and other system models.
  • Fundamental control concepts: state, event, transition, action; basic UML notation for drawing statecharts.
  • Relevant example of constructing a statechart: for example, to model an object lifecycle or a human-computer dialogue.

LO13:Moving to Implementation

  • Mapping designs to code: creating class definitions from detailed class diagrams: attribute definitions, method signatures; adding reference attributes; deriving the code for methods from interaction diagrams; implementing container/collection classes in code; adding accessor methods; adding constructors.
  • Storing objects in files; serialization.
  • Testing in an object-oriented system; unit testing: testing individual classes; integration testing: testing groups of collaborating classes, testing use cases; sub-system testing, system testing; acceptance testing.

LO14: System Building

Students should design, build and implement a simple system using object-oriented analysis and design methods, starting from a set of system requirements. Note that this is not intended as an exercise in requirements determination, but as an exercise in specifying and constructing a system from a given set of requirements. This will typically involve:

  • the production of relevant object-oriented analysis models
  • use of a Computer Aided Software Engineering (CASE) tool for at least part of the system building process
  • production of an object-oriented design specification to include the following:
  • detailed class diagrams
  • interaction diagrams
  • at least one relevant statechart diagram
  • an appropriate user interface design incorporating input/output (I/O) design.
  • coding the system and implementing it using an object-oriented programming language.
  • Students should be encouraged to build incrementally with the first build dealing with input and output to the screen, the second build dealing with file I/O or database I/O.

LO15:Reusability

  • What is reusable software; the arguments for reuse; idea (only) of reusable software components.
  • Idea (only) of patterns: reuse in analysis; reuse in design.

IMIS Contemporary IS Development

Price on request