.Open CS372+375 Objectives This document describes the objectives of the combined 372/375 sequence. Items covered in CS372 only are indicated (372). . Relevant ABET Accreditation Goals .List Analysis and design IV-6 Role of IS in Organisations IV-6 Theoretical foundations IV-7 Communication skills IV-14 (oral + written) Collaborative skills IV-16 Study in an IS environment IV-2 .Close.List . 372/5 Mission To know how computer technology is used in real organizations and use this knowledge to manage software development projects and analyze existing systems, propose improvements, identify problems, generate and evaluate hardware/software solutions, and draw up software requirement specifications. . 372/5 Content There should be evidence on file that demonstrates that during CSCI372/5 sequence the students: .List Worked in small groups/teams to analyze systems and propose solutions. Studied two or more existing information systems.(372) Studied how software is developed in at least one organization, for example on campus.(372) Presented their work for review by peers, faculty, and IS workers. Used at least one CASE tool. Completed a UML model for a computerized solution to a problem in an existing system. .List (Note. The solution may expressed on paper, as a presentation, and/or as a web site. It may or may not include simply prototypes. It may be a photographic or software record of a presentation. ) .Close.List Carried out a group simulation of at least one object-oriented program design. .Close.List . 372/5 Objectives After completing the 372/375 sequence a student will be able to: .List Describe real computerized systems including: enterprise servers/mainframes, dept servers, e-commerce and web-based systems, POS and office workstations, mobile systems, embedded systems, etc.(372) Quote and apply general systems theory (boxes and arrows).(372) Describe a typical information systems department and some variants.(372) Describe the traditional systems development life cycle (SDLC) and some variants(RAD, Agile,...).(372) Select and justify a suitable process/SDLC for a given situation.(372) Describe & apply simple planning techniques: CPA PERT.(372) Describe & apply simple cost/benefit techniques.(372) Use record structures to describe and evaluate existing/proposed data/information. Quote and apply elementary information theory to estimating data volumes/rates. Define a use case and give examples. Define a scenario and write simple examples of scenarios. Distinguish actors from use cases and give examples of actors. Study an existing system and describe it using data flows, processes and data stores (DFD).(372) Describe an existing system architecture using UML deployment and component diagrams. Record existing activities and business logic using UML activity diagrams (flowcharts).(372) Use structured English, UML activity diagrams, flowcharts, or tables to express business rules/logic.(372) Read and critique a set of DFDs.(372) Correct errors in a DFD model of a system.(372) Plan a new system using high level DFDs.(372) Select parts of a DFD to be computerized and justify the selection (372) Propose and justify a way to implement a part of a DFD (Application, script, user-developed, COTS, bespoke, ..., expert system). (372) Use simple UML use case diagrams + scenarios to state requirements. Correctly utilize use case extension, includes and generalization. Draw object-oriented domain models using UML class diagrams with classes, associations, roles, and multiplicities. Use state diagrams to trace the life-cycle of an object in a system. Use a state diagram to map out a session on a web site. Extend a domain model to include attributes/data based on DFDs and logic. Allocate responsibilities to classes and test result vs scenarios. Use UML message sequence diagrams to describe interactions between objects. Use UML collaboration diagrams to describe interactions between objects. Use UML collaboration diagram sequence numbers correctly. Use iteration and conditions correctly in collaboration and sequence diagrams. Translate between message sequence and collaboration diagrams. Know how to draw, read, and critique a UML class diagram with attributes and operations. Use visibility and derivation symbols correctly in a class diagram. Cross-validate a use case model plus collaboration/message sequence diagrams against a class diagram. Use the General Responsibility Assignment Patterns to place operations in a design model. (Design model = class diagram + either message sequence or collaboration diagrams). Extend simple class diagrams to include generalization, aggregation, and composition. Use some simple design patterns correctly: State, Composite, Observer, Factory, Adapter, ... Use simple deployment and component diagrams to describe a proposed architecture. .Close.List . 372/5 Options After completing the 372/375 sequence a student may: .List Use either CASE tools or low-tech techniques (chalk board, posters, cards) for documentation. Use the UML notation for parameterized, active, and interface classes. Use symbols or stereotypes to distinguish boundary, control, entity classes. Develop simple prototypes and tests as executable specifications of components. Develop a first iteration of a set of components. .Close.List .Close CS372+375 Objectives