Chapter 1Information Systems Analysis and Design- Is the complex organizational process whereby computer-based information systems are developed and maintained.Software Engineering Process-Is a process used to create an information system which consists of : Methodologies[方法] : Comprehensive[全面],multiple-step approaches that help developing the information system. Techniques : Processes that the analyst follows to ensure a thorough[徹底], complete and comprehensive analysis and design. Tools : Computer programs that aid in applying the techniques. Types of Information Systems and Systems Development Transaction Processing Systems (TPS) : Process Orientation - Automate handling of data about business activities (transactions) - Data of each transaction are captured, and validated transactions are stored for later aggregation [聚合]. - Goal of TPS is to improve transaction by speeding it up using fewer people, improving efficiency and accuracy and integrating with other organizational IS. 2. Management Information Systems (MIS) : Data Orientation - Takes the relatively raw data from TPS and convert them into meaningful aggregated form that managers need to conduct their responsibilities. - Providing summaries of data. - Developing an MIS calls for a good understanding of what kind of information managers require and how managers use. 3. Decision Support Systems (DSS) : - Help decision makers of the company to make proper decisions.- Provide an interactive environment in which decision makes can quickly manipulate data and models of business operations.- It concentrates on 3 components : Database (extracted from MIS and TPS), model base and user dialogue. System Development Methodology : is a standard process followed in an organization to conduct all the steps necessary to analyze, design, implement and maintain information systems. SDLC : Planning : An organization's total information system needs are identified, analyzed, prioritized and arranged. Analysis : Information system requirements are studied and structured. Design : Description of the recommended solution is converted into logical and then physical system specification. Implementation : Information is coded, tested, installed and supported in the organization. Maintenance : The information system is systematically repaired and improved. Logical design : All functional features of the system are described independently of any computer platform.Physical design : The logical specifications of the system from logical design are transformed into technology specific details. Problem with waterfall approach- System requirements "locked in" after being determined (can't change)- Limited user involvement (only in requirements phase)- Too much focus on milestone deadlines of SDLC phases to the detriment[伤害] of sound development practices. Prototyping : - Building a scaled-down working version of the system which is continually revised through close collaboration between an analyst and users. Advantages- Users are involved in design.- Captures requirements in concrete[具体] form. Case tools :- Provide automated support for some portion of the systems development process.JAD- Is a structured process in which users, managers, and analysts work together for several days in a series of intensive[集中] meetings to review system requirements. RAD (Rapid Application Developement)- Methodology created to decrease design and implementation time- Involves : prototyping, JAD, CASE tools, and code generators Agile methodologies- Motivated by recognition of software development as fluid, unpredictable, and dynamic.-3 key principles :# Adaptive rather than predictive# Emphasize people rather than roles# Self-adaptive processes eXtreme Programming- Short, incremental development cycles.- Automated tests- Two person programming teams- Coding and testing operate togetherAdvantages :- Communication between developers- High level of productivity- High quality codeChapter 3 Effective PM helps ensure- Meeting customer expectations- Satisfying budget and time constraints. System Service Request (SSR)- A standard form for requesting systems development work within an organization.Feasibility study- Study that determines whether a requested system makes economic and operational sense for an organization. Phases of Project management process- 1. Initiation : Performed to assess the size, scope, and complexity of the project and to establish procedures to support later project activities.- 2. Planning : Estimate resource requirements, develop preliminary schedule, communication plan, standards and procedures, preliminary budget, set baseline project plan.- 3. Execution : Executing the baseline project plan, Monitoring project progress against the baseline project plan, managing changes to the baseline project plan, maintaining the project workbook- 4.Close down : Close down the project, Conduct post-project reviews, Close the customer contract. Work Breakdown Structure (WBS) - The process of dividing project into manageable tasks and ensure a smooth evolution between tasks. Scheduling Diagrams-Gantt chart : Show task duration, show time overlap, show slack time in duration- Network diagram : Show task dependencies, Do not show time overlap but show parallelism, show slack time in boxes Critical path : the shortest time in which a project can be completed. Study the critical path calculation Chapter 4 Project Identification tasks (Three primary activities)1. Identifying potential development projects from a stakeholder group2. Classifying and ranking potential IS projects using value chain analysis 3. Selecting projects based on various factors. Value chain analysis : analyzing an organization's activities to determine where value is added to products/services and the cost incurred[发生] for doing so.Corporate Strategic Planning : An ongoing process that defines mission, objectives, and strategies of an organization.- It involves :1. Mission statement : Concise[简洁] statement about the main business of the organization.2. Objective statements : Series of statements that express quantitative and qualitative goals for the future position of an organization.3. Description of competitive strategy : Method will be used by the organization attempt to satisfy its mission and objectives. Main types : Low cost producer : Reflects the competing in an industry on the basis of product or service cost to the consumer. Product differentiation : Reflects capitalizing[有效利用] on a key product criterion[标准] requested by the market.product focus or niche : Similar to both the low-cost and differentiation strategies but with a much narrower market focus.Information System Planing (ISP) : Assessing the information needs of an organization and defining systems, databases, and technologies that will best meet those needsISP must be done in accordance[一致] with the organization's mission, objectives, and competitive strategy. Approaches to IS planning Top down planning : Attempts to gain a broad understanding of information system needs of the entire organization. Bottom-up planning : Identifies IS development projects based on solving specific operational business problems or taking advantage of specific opportunities. Benefits of Top down planning : 1. Broader perspective 2. Improved integration 3. Improved management support 4. Better understanding Benefits of Bottom-up planning - faster and less costly. To understand the current situation, we need to identify all functions, data entities and information systems(Processes) used by the organization.Functional decomposition : breaking high level abstract information into smaller units for more detailed planningIS Plan ComponentsInformation System Plan :1. Organizational Mission : Briefly describe mission, objective, and strategy of the organization.2. Informational inventory : Provide summary of current and future processes, functions, data entities, and information needs of the enterprise.3. Mission and Objectives of IS : Describe the role will be played in the organization to transform enterprise from current to future state.4. Constraints : Describe limitations imposed[强加] by technology and current levels of financial, technical, and personnel[人事] resources.5. Long-term plan : Summarize overall information systems needs in the company and set long-term strategies for filling the needs.6. Short-term plan : Show detailed inventory of present projects and systems and detailed plan for the current year.7. Conclusions : Describe events that can affect the plan, presently[目前] known business change elements, and description of their impact on the plan.Chapter 5Project Initiation Tasks- Initiation[启蒙] team- Relationship with customer- Project initiation plan- Management procedures- Project management environment- Project workbookProject Planning Tasks- Describe project scope and feasibility.- Divide project tasks.- Estimate resource requirements- Develop preliminary schedule- Develop communication plan- Determine standards and procedures.- Create preliminary budget- Develop statement of work.- Set baseline project plan.Business case : Justification for an information system, expressed as tangible and intangible costs and benefits, and technical/organizational feasibility of the proposed system.Baseline Project Plan (BPP) : Contains the best estimate of a project's scope, benefits, costs, risks and resource requirements.Statement of work (SOW) : Document prepared for customer that describes what the project will deliver and outlines generally at a high level all work required to complete the project.Assessing project feasibility- Economic feasibility : Cost benefit analysis to identify all the financial benefits and costs associated with a project. # Tangible benefits : Benefits that can be measured in dollars and with certainty.# Intangible benefits : Benefits that cannot easily be measured in dollars or with certainty.# One time : Cost associated with project start-up and development.# Recurring : Cost associated with ongoing evolution and use of a system. *Present value : Current value of a future cash flow. *Discount rate : Rate of return used to calculate the present value of future cash flows.* Time value of money (TVM) : refers to the concept of comparing present cash outlays[花费] to future expected returns.*Net Present Value (NPV) : Use discount rate to determine present value of cash outlays and receipts.*Return on Investment (ROI) : Ratio of net cash receipts[现金收入] to cash outlays of the project.*Break Even Analysis (BEA) : Amount of time required for cumulative[累积] cash flow to equal initial and ongoing investment.- Technical feasibility : Assessing the organization's ability to construct[构造] the proposed system.# Takes into account various project risk factors.Project risk factors :1. Project size - team size, project duration, programming effort2. Project structure - renovated[整修] system, management commitment[承诺], user perceptions[观念]3. Development group - familiarity with platform, software, development method, development of similar systems4. User group :familiarity with is development process, use of similar systems.* A system in which the requirements are easily obtained and highly structured will be less risky.* The development of a system employing[使用] commonly used or standard technology will be less risky.* Project is less risky when the user group is familiar with the systems development process and application area.- Operational feasibility : Does the proposed system solve problems or take advantage of opportunities.# Process of assessing the degree to which a proposed system solves business problems or take advantage of business opportunities.- Schedule feasibility : Can the project time frame and completion dates meet organizational deadlines ?# Process of assessing the potential time frame and completion dates for all major activities within a project meet organizational deadlines and constraints for affecting change.- Legal and contractual feasibility : Process of assessing potential legal and contractual ramifications due to the construction of a system.- Political feasibility : How do key stakeholders view the proposed system?# Process of evaluating how key stakeholders within the organization view the proposed system.Structured walkthroughs- A peer group review of any product created during the system development process.- Can be applied to BPP, to review system specification, logical and physical designs, program code, test procedures, manuals and documentation.Chapter 6Characteristics for successful requirements determination1. Impertinence[鲁莽,不管一切] (You should question everything)2. Impartiality [公正]3. Relaxing[缓和] constraints4. Attention to details5. Reframing[重新构造]Information collected from the following source : (Requirements determination)1. From interviews and observations : Interview transcripts, observation notes, meeting minutes.2. From existing written documents : Mission and strategy statements, business forms, procedure manuals, system documentation, flowcharts3. From computerized sources : JAD session results, CASE repositories, system prototype displays and reportsTraditional requirements determination methods1. Interviewing individuals : Dialogue with user or manager to obtain their requirementsTWO forms :# Open-ended : Conversational[会话式], questions with no specific answers in mind# Closed-ended : Structured, questions with limited range of possible answers.To conduct an effective interview : - Prepare interviewee : appointment, priming[引发] questions- Prepare agenda, checklist, questions.- Listen carefully and take notes.- Review notes within 48 hours.- Seek diverse[多样化] views.Advantages :- Easier to schedule than group interviewsDisadvantages :- Contradictions and inconsistencies between interviewees- Follow up discussions are time consuming2. Interviewing groups : Interview several key people togetherAdvantages :- More effective use of time- Can hear agreements and disagreements at once- Opportunity for synergies.Disadvantages : - More difficult to schedule than individual interviews.Nominal Group Technique (NGT)- A facilitated process that support idea generation by groups# Process : 1. Members come together as a group, but initially work separately. 2. Each person writes ideas. 3. Facilitator reads ideas out loud, and ideas are written on blackboard. 4. Group discusses the ideas. 5. Ideas are prioritized, combined, selected, reduced.3. Observing workers : - Direct Observation : # Watching users do their jobs. # Can provide more accurate information that self-reporting(questionnaires and interviews)4. Studying business documents : - Document Analysis : # Review of existing business documents # Can give a historical and "formal" view of system requirements Type of information to be discovered in documents :- Problems with existing system- Opportunity to meet new need- Organization direction- values of organization- Reasons for current system design- Rules for processing dataFour types of useful documents : 1. Written work procedures : Describes how a job is performed; Is a business document that formally describes work processes, provides useful information regarding system functionality and logic.2. Business form : Explicitly indicate data flow in or out of a system; Contains useful information regarding data organizations and possible screen layouts.3. Report :Enables the analyst to work backwards from the report to the data that generated it.4. Description of current information system : Potential problems with procedures documents- May involve duplication of effort- May have missing procedures.- May be out of date- May contradict information obtained through interviews.Formal & Informal systems1. Formal- Is the official way a system works as described in organization's documentation.2. Informal- Is the way a system actually works in practice- Interviews and observation reveal informal systemComparison of Observation and Document analysis1. Observation :- High information richness- Extensive time required- High expenses- Good at probing[探索] and clarification; questions can be asked during or after observation.- Observer may change behavior when observed.2. Document Analysis :- Information richness is low- less time required- Low expenses- Limited chance for follow-up and probing ,possible only if original author is available.- Document does not change simply for being red.Contemporary methods for determining requirements1. Joint Application Design (JAD)- Brings together key users, managers, and system analysts.- To collect system requirements simultaneously from key people.2. Group Support Systems (GSS)- Facilitate sharing of ideas and voicing of opinions about system requirements3. CASE tools- Used to analyze existing systems- Help discover requirements to meet changing business conditions.4. System prototypes- Iterative development process- Rudimentary[初步的] working version of system is built.- Refine understanding of system requirements in concrete[具体] termsJoint Application Design (JAD)- Intensive group-oriented[全体倾向] requirements determination technique- Team members meet in isolation for extended period of time- Highly focused- Resource intensive- Started by IBM in 1970sJAD Participants- Session leader : facilitates group process- Users : active, speaking participants- Managers : active, speaking participants- Sponsor : high-level champion, limited participation- System analysts : should mostly listen- Scribe : record session activities- IS Staff : should mostly listenEnd result- Documentation detailing existing system- Features of proposed systemCASE tools during JAD- Upper CASE tools are used (designed to support planning, analysis and design phases of SDLC)- Enables analysts to enter system models directly into CASE during the JAD session.- Screen designs and prototyping can be done during JAD and shown to users.Supporting JAD with GSS- Enable more participation by group members in JAD- Members type their answers into the computer.- All members of the group see what other members have been typing.Prototyping- Quickly converts requirements to working version of system.- Once the user sees the converted system, will ask for modifications or generate additional requestsMost useful when :- User requests are not clear.- Few users are involved in the system.- Designs are complex and require concrete form- Tools are readily available to build prototypeDrawbacks :- Tendency[倾向] to avoid formal documentation- Difficult to adapt to more general user audience.- Sharing data with other systems is often not considered.- SDLC checks are often bypassed.Business Process Reengineering (BPR)- Implementation of radical change [巨大改变] in business processes to achieve breakthrough[突破] improvements in products and services.Goals- Reorganize complete flow of data in major sections of an organization.- Eliminate unnecessary steps.- Combine steps.- Become more responsive to future change.Identification[识别] of processes to reengineer - Key business processes1. Set of activities designed to produce specific output for a particular customer or market.2. Focused on customer and outcome.3. Same techniques are used as were used for requirements determinationIdentify specific activities that can be improved through BPR.Disruptive technologies- Technologies that enable the breaking of long-held business rules that inhibit[禁止] organizations from making radical business changes.Examples :1. Initially information can appear in only one place at a time, after the technology distributed databases allow the sharing of information.2. Initially only expert can perform the complex work, after the technology expert system can aid nonexperts.3. Initially you have to find out where things are, after the technology it provides automatic identification and tracking technology knows where things are.4. Initially plans get revised periodically[定期], after the technology high performance computing can provide real-time updating.Agile methodologies for requirements determination1. Continual[持续不断] user involvement- Replace traditional SDLC waterfall with iterative analyze - design - code - test cycle2. Agile usage-centered design- Focuses on user goals, roles, and tasksChapter 7Process modeling- Graphically represent the processes that capture, manipulate, store, and distribute data between a system and its environment and among system components.DFDs of current physical and logical system- Enables analysts to understand current system.DFDs of new logical system- Technology independent- Show data flows, structure, and functional requirements of new system.Difference of DFD and flowcharts- DFDs depict[描述] logical data flow independent of technology- Flowcharts depict[描述] details of physical systems.DFD Balancing- The conservation[保持] of inputs and outputs to a data flow process when that process is decomposed to a lower level.- Number of inputs and outputs to lower level DFD equals number of inputs and outputs to associated process of high level DFD.4 different types of DFD1. Current physical - Process labels identify technology(people or systems) used to process the data.- Data flows and data stores identify actual name of the physical media.2. Current Logical- Physical aspects of system are removed as much as possible.- Current system is reduced to data and processes that transform them.3. New logical- Includes additional functions- Obsolete[过时的] functions are removed-Inefficient data flows are reorganized4. New physical- Represents the physical implementation of the new system.Primitive DFDs- Lowest logical level of decompositionWhen to stop decomposition ?- When each process has been reduced to a single decision, calculation or database operation.- When the system user does not care to see any more detail.Gap analysis- the process of discovering discrepancies [差异] between two or more sets of data flow diagrams or discrepancies within a single DFD.Chapter 8Logic modeling- DFD do not show the logic inside the processes.- Logic modeling involves representing internal structure and functionality of processes depicted on a DFD.In SDLC, the 2 sub phases of "Analysis" phase are :1. Requirements determination2. Requirements structuring (Logic modeling is part of it)List of deliverables and outcomes from logic modeling- Structured English- Decision tables- Decision trees- State-transition diagrams- Sequence diagrams- Activity diagramsStructured English- Modified form of English used to specify the logic of information processes.- Action verbs, Noun phrasesDecision tables- A matrix representation of the logic of a decision.- Specifies the possible conditions and the resulting actions.- Best used for complicated decision logic.3 parts of decision table1. Condition stubs2. Action stubs3. rulesIndifferent conditionDecision Tree- A graphical representation of a decision situation.Criteria for deciding among three models:- Determining conditions and actions : Structured English, - Transforming conditions and actions into sequence : Decision tables- Checking consistency and completeness : Structured English, Decision tables, Decision trees.Decision tablesBest on :- Portraying[描绘] complex logic- More compact[简洁]- Easier to manipulateDecision treesBest on :- Portraying simple rules- Making decisionsChapter 9Conceptual data modeling- Detailed model that captures the overall structure of data in an organization.- One kind of data modeling and database design carried out during the systems development processProcess of conceptual data modeling1. Develop a data model for the current system2. Develop a new conceptual data model that includes all data requirements of the new system.3. The final conceptual data model is translated into a physical design.4. Project repository links all design and data modeling steps performed during SDLC.- Primary deliverable is an ERD or class diagram.- Second deliverable is a set of entries about data objects to be stored in repository or project dictionary.Gathering information for Conceptual Data ModelingTwo perspectives :1. Top-down- Data model is derived from an intimate[精通] understanding of the business.2. Bottom-up- Data model is derived by reviewing specifications and business documents.Entity Relationship Modeling- Logical representation of the entities, associations and data elements for an organization or business.Candidate key- Attributes that uniquely identifies each instance and possibly selected become a primary key in a table. Identifier- A candidate key that has been selected as the unique identifying characteristic for an entity type.Criteria for selecting identifiers1. Choose a candidate key that will not change its value.2. Choose a candidate key that will never be null.3. Avoid using intelligent keys.4. Consider substituting single value surrogate[替代] keys for large composite keys.Multivalued attributes (weak entity)- An attribute that may take on more than one value for each entity instance.Example skill : A people may have more than one skill .Degree of relationship- Number of entity types that participate in a relationshipThree cases : Unary : One entity type participate in a relationshipBinary : Two entity typesTernary : Three entity typesAssociative Entity- If a relationship between 2 entities have instances exist, then we can replace the relationship to associative entity.- Data modeler chooses to model as an entity type so that a many to many relationship is converted into one to many relationship.Subtype is a subgrouping of the entities in an entity typeEx. Two subtypes of student are graduate student and undergraduate student.Supertype is a generic entity type that has a relationship with one or more subtypes.Rules for supertype/subtype relationships- Total specialization : A supertype instance must be an instance of one of the subtypes.- Partial specialization : A supertype instance may or may not be an instance of one of the subtypes.- Disjoint : A supertype instance can be an instance of only one subtype.- Overlap : A supertype instance may be an instance of multiple subtypes.4 basic types of business rules are :1. Entity integrity : Each instance of an entity type must have a unique identifier that is not null.2. Referential integrity constraints : Rules concerning the relationship between entity types.3. Domains :- Constraints on valid values for attributes.- Set of all data types and ranges of values that an attribute can assume.- data type, length, format, range, values, meaning, null support.Advantages : - Domains verify that the values for an attribute are valid.- Ensure that various data manipulation operations are logical.4. Triggering operations : Other business rules that protect the validity of attributes.- Rule that governs the validity of data manipulation operations such as insert, update and delete.- Statement of the business rule1. User rule : Statement of business rule2. Event : insert, update, delete3. Entity name : Name of entity being modified.4. Condition : condition causes the operation to be triggered5. Action : Action taken when the operation is triggered.Packaged data models- Generic data models that can be applied and modified for an organization.TWO categories1. Universal2. Industry-specificBenefits- Reduced implementation time and cost.- High quality modelingChapter 10File and database design occurs in two steps1. Develop a logical database model2. Develop a physical database design by including the technical specificationsLogical database design- Must account for[说明] every data element on a system input or output.- Normalized relations are the primary deliverables[交付成果].Physical database design- Converting relations into database tablesWell-structured relation- No redundancy, and data pertains[属于] to a single entityNormalization- The process of converting complex data structures into simple, stable data structures.Second normal form (2NF)- Each nonprimary key attribute is identified by the whole key(full functional dependency)Third normal form (3NF)- Nonprimary key attributes do not depend on each other (No transitive dependencies)All primary keys are determinantsFunctional dependency : - Emp_ID -> Name, Dept,Salry- Emp_ID, Course - > Date_CompletedReferential Integrity- An integrity constraint[完整性约束] specifying that the value of an attribute in one relation depends on the value of the same attribute in another relation.Two conditions primary key must be satisfied :1. The value of the key must uniquely identify every row in relation.2. The key should be nonredundant.Designing FieldsField- Smallest unit of named application data recognized by system software.Ex. a student name attribute might be represented in three fields : last name, first name and middle name- In general, each attribute may be represented by one or more fields.Methods of controlling data integrity1. Default value : A value a field will assume unless an explicit value is entered for that field.2. Range control : Limits range of values that can be entered into field.3. Referential integrity : Specifying the value of an attribute in one relation depends on the value of a same attribute in another relation.4. Null value : A special field value, distinct from 0, blank, or any other value, that indicates the value for the field is missing or unknownDesigning physical tablesPhysical table : A named set of rows and columns that specifies the fields in each row of the tableDesign goals :- Efficient use of secondary storage- Efficient data processingDenormalization- The process of splitting and combining normalized relations into physical tables based on affinity of use of rows and fields.Partitioning- Capability to split a table into separate sections.When to denormalize- Two entities with a one to one relationship- A many to many relationship with nonkey attributes- Reference dataFile organization- A technique for physically arranging the records of a fileObjectives- Fast data retrieval- Efficient use of storage space- Protection from failures or data loss- Security from unauthorized use1. Sequential file organization- A file organization in which rows are stored in a sequence according to primary key value.2. Indexed file organization- Index is created that allows software to locate individual rows. Rows are stored either sequentially or non-sequentially3. Hashed file organization- A file organization in which the address for each rows is determined using an algorithm.Chapter 11Forms & ReportsForm :- A business document that contains some predefined data and may include some areas where additional data are to be filled in.- Typically based on one database record.- Example : class registration sheetReport :- A business document that contains only predefined[预先确定] data.- A passive document for reading or viewing data.- Typically contains data from many database records or transactions.- Example : InvoiceCommon types of reports- Scheduled : produced at predefined time intervals for routine information[常规信息] needs.- Key-indicator : provide summary of critical information on regular basis- Exception[例外] : highlights data outside of normal operating ranges.- Drill-down : provide details behind summary of key-indicator or exception reports.- Ad-hoc : respond to unplanned requests for non-routine information needs.Table vs GraphsTable : use tables for reading individual data valuesgraphs :- Providing quick summary- Displaying trends over time.- Forecasting activity- Simple reporting of vast[巨大] quantities of informationAssessing Usability- Overall evaluation of how a system performs in supporting a particular user for a particular task.- Three characteristics :1. speed2. accuracy3. satisfactionMaximizing usability- Consistency : of terminology, formatting. navigation, response time- Efficiency : minimize required user actions- Format : appropriate display of data and symbols- Flexibility : maximize user options for data input according to preferenceMethods for assessing usability- time to learn- speed of performance- rate of errors- retention[保留] over time- Subjective satisfactionChapter 12Interface design- Focuses on how information is provided to and captured from users.Dialogue design- Focuses on the sequencing of interface displays.Both focus on :- Layout- Structuring data entry (tab order)- Controlling data input (validation and format controls)- feedback (prompting, status, warning, and error message)- dialogue sequencingInterface methods- The method by which a user interacts with the information systemCommon interaction methods1. Command line : Users enter explicit statements into a system to invoke operationsEX. MS DOS . copies a file from C drive to A drive.2. Menu : A list of system options is provided and specific command is invoked by user selection- Pop-up - Drop-down 3. Form- Data fields are formatted in a manner[某种程度上] similar to paper based forms.- allows users to fill in the blanks when working with a systemMeasures of an effective form design :- Self-explanatory[不需加以说明的] title and field headings- Distinctive boundaries- Default values- Displays appropriate field lengths- Minimize the need to scroll windows4. Object-based : Symbols are used to represent commands or functions- Icons- Use little screen space- Can be easily understood by users5. Natural language : Inputs and outputs from system are in a conventional[传统] speaking language like English.- Current implementations are tedious[乏味] and difficult to work with, not as viable[可行] as other interaction methods.Controlling data inputobjective : reduce data entry errorsCommon sources data entry errors in a field :- Appending : adding additional characters to a field- Truncating[截断] : losing characters from a field- Transcripting : entering invalid data into a field- Transposing[更换] : reversing sequence of characters in a field.Providing feedback messages1. status information : keep user informed of current situation, helpful when user has to wait for response2. Prompting cues : tell user when input is needed, and how to provide the input.3. Warning or Error messages : inform user that something is wrong, either with data entry or system operation.Dialogue Diagramming- A formal method for designing and representing human-computer dialogues using box and line diagramsGUI Dialogue Design Issues- Establish the sequence of displays that users will encounter when working with system.- Ability of some GUI environments to jump from application to application or screen to screen makes sequencing a challenge- One approach is to make users always resolve requests for information before proceeding.- Dialogue diagramming helps analysts better manage the complexity of designing graphical interfaces.Chapter 15Purpose of system implementation- To convert final physical system specifications into working and reliable software.6 major activities- coding- testing- installation- documentation- training- supportProcess of coding, testing and installation- Coding : Physical design specifications are turned into working computer code.- Testing : Tests are performed using various strategies.- Installation : The current system is replaced by the new system.Process of documentation, training, and support- Documentation : System documentation, user documentation- User training : Some of the training and support may be Application-specific. - Support : Help desk, online helpTesting methods- Unit testing : Each module is tested alone to discover any errors in code.- Integration testing : Process of combining all of the modules that a program comprises for testing purposes. Modules are typically integrated in a top-down, incremental fashion.- System testing : Process of combining all of the programs that a system comprises for testing purposes. Modules are typically integrated in a top-down, incremental fashion.Automated testing means that the computer conducts the test.Manual testing means that people complete the test.Manual testing techniquesInspection- Participants examine program code for predictable language-specific errors.Walkthrough- A peer group review of any product created during the systems development process; also called a structured walkthroughDesk Checking- The program code is sequentially executed manually by the reviewer.Automated testing techniquesSyntax checking- The compiler is run against the source code to identify syntax errors.Unit testing- Each module is tested alone in an attempt to discover any errors in code, also called module testingIntegration testing- Process of combining all of the modules that a program comprises for testing purposes. Modules are typically integrated in a top-down, incremental fashion.System testing- Process of combining all of the programs that a system comprises for testing purposes. Modules are typically integrated in a top-down, incremental fashion.Stub testing- A technique used in testing, especially where modules are written and tested in a top-down fashion, where a few lines of code are used to substitute[取代] for subordinate[下级] modules.The purpose of the testing is confirming that the system satisfies requirements.Test cases and result should be thoroughly documented so they can repeated for each revision of an application (rerun when the new version of software was developed)- test cases are usually developed by analysts and should not be created by the programmers.User acceptance testing- Actual users test a completed information system.- End result is the users final acceptance of the system.- Alpha testing : Use simulated data- Beta testing : Use real data in real user environmentTypes of alpha tests- Recovery testing : forces software to fail in order to verify that recovery is properly performed- Security testing : Verifies the protection mechanisms built into the system will protect it from improper penetration[侵入]- Stress testing : tries to break the system- Performance testing : Determines how the system performs on the range of possible environments in which it may be used(Eg. Different hardware configurations, networks, OS and so on)Installation- The organizational process of changing over from the current information system to a new one4 approaches1. Direct installation : Changing over by turning off the old system when the new one is turned on2. Parallel installation : Running the old information system and the new one at the same time until management decides the old system can be turned off.3. Single location installation : Trying out an information system at one site and using the experience to decide if and how the new system should be deployed throughout the organization.(Eg. install the system in the branch/smaller unit first)4. Phased installation : Changing from the old information system to the new one incrementally, starting with one or a few functional components and the gradually extending the installation to cover the whole new system.(Eg. install the purchasing system first, then followed by inventory system and etc)System documentation- Detailed information about a system's design specifications, its internal workings and its functionality- System documentation can further be divided into internal and external documentation# Internal documentation - Part of the program source code or is generated at compile time.# External documentation - Includes the outcome of structured diagramming techniques such as data flow and ERDUser documentation- Visual information[视觉信息] about an application system, how it works, and how to use it- Typically in the form of online helpMajor factors influencing the extent to which a system is used :- System characteristics (ease of use, reliability)- User demographics (age, degree of computer experience)- organizational support- performance- satisfactionProject close down- Evaluate team members(Reassign members to other project or terminate)- Notify all affected parties that the development project is ending and that you are switching to operation and maintenance mode- Conduct post project reviews with both your management and customers.- Close out customer contractChapter 16Process of maintaining information systems- Returning to the beginning of the SDLC and repeating development steps focusing on system change until the change is implemented.4 major activities- Obtaining maintenance requests- Transforming requests into changes- Designing changes- Implementing changesType of system maintenance1. Corrective maintenance- Changes made to a system to repair flaws in its design, coding, or implementation2. Adaptive maintenance- Changes made to a system to evolve its functionality to changing business needs or technologies3. Perfective maintenance- Changes made to a system to add new features or to improve performance.4. Preventive maintenance- Changes made to a system to avoid possible future problems.Factors that influence system maintainability1. latent defects[潜在缺陷] - the number of unknown errors existing in the system after installation.2. Number of users for a given system - Higher cost for higher number of users.3. Quality of system documentation - quality of technical system documentation including test cases.4. Maintenance personnel [维护人员] - Number and quality of personnel dedicated to[献身于] the support and maintenance of the system. 5. Tools - tools can automatically produce system documentation where none exists can also lower the maintenance costs.6. Software structure - Well structured programs make it much easier to understand and fix programs.Number of people working in maintenance has surpassed number working in development.3 possible organizational structures :1. separate : Maintenance group consists of different personnel than development group.Advantages : Improved system and documentation qualityDisadvantages : Ignorance of critical undocumented information2. Combined : Developers also maintain systems.Advantages : Maintenance group knows all about systemDisadvantages : Less emphasis on good documentation3. Functional : Maintenance personnel work within the functional business unit.Advantages : Personnel have vested[既有] interestDisadvantages : Limited job mobility[职业流动性] and human or technical resourcesSystem maintenance measures of effectivenessImportant factors to consider- Number of failures- Time between each failure- Type of failureMean time between failures (MTBF)- A measurement of error occurrences that can be tracked over time to indicate the quality of system.Configuration management- Process of assuring that only authorized changes are made to the systemBaseline modules- Software modules that have been tested, documented, and approved to be included into latest version of the system. A system librarian controls the baseline source code modules.System librarian- A person responsible for controlling the checking out and checking in of baseline modules when a system is being developed or maintained.Build routines- Guidelines that list the instructions to construct an executable system from the baseline source code.Configuration management tools- Special software systems for managing system configuration- Controls access to modules in the system libraryTwo types- Revision control : Modules labeled as unchangeable or floating (Checked out by programmer for modification)- Source code control : Extend revision control to all interrelated[相关的] modules- Historical changes can be traced and previous versions can be reconstructed.Role of CASE and automated development tools in maintenanceTraditional systems development- Emphasis on coding and testing- Changes are implemented by coding and testing first- Documentation is done after maintenance is performed- Keeping documentation current is often neglected due to time consuming nature of taskDevelopment with CASE- Emphasis on design documents.- Changes are implemented in design documents- Code is regenerated using code generators- Documentation is updated during maintenance**DONE**
Quer criar suas próprias Notas gratuitas com a GoConqr? Saiba mais.