ISDM Midterm Reviewer PDF
Document Details
Uploaded by CompatibleMandelbrot971
Tags
Related
- SE201.3 Systems Analysis and Design PDF
- Systems Analysis and Design in a Changing World, Fourth Edition PDF
- Systems Analysis and Design, 13th Edition Chapter 10 PDF
- Systems Analysis And Design In A Changing World Chapter 1 PDF
- Chapter 11 Systems Analysis PDF
- Systems Analysis and Design Chapter 4 PDF
Summary
This document contains information about Information Systems Development and Management, covering topics like, systems analysts, and systems development life cycle. It's an overview of the subject.
Full Transcript
Week 1 – Intro to ISDM Systems Analyst Information Systems the organizational role most responsible for the analysis and design of information systems. it encompasses the to...
Week 1 – Intro to ISDM Systems Analyst Information Systems the organizational role most responsible for the analysis and design of information systems. it encompasses the tools (combination of study the problems and needs of an organization hardware, software, data sources, in order to determine how people, methods, and telecommunications, and human expertise) that information technology can best be combined to organizations use to collect, manage, and analyze bring about improvements in the organization. data. This data guides decision-making to improve served as liaison between the stakeholders and efficiency and profitability. software development team Examples creates technical documentation, software testing, user training and actively take part in the software Expert Systems deployment Office Automation Systems Process Control Systems Systems Development Methodology a standard process followed in an organization to Components of Information Systems conduct all the steps necessary to analyze, design, 1. Hardware (computers, smartphones, and their implement, and maintain information systems. components) 2. Software (search engines, social media, Systems Development Life Cycle (SDLC) applications) a common methodology for systems development 3. Data Sources (databases and data warehouses) in many organizations; it features several phases 4. Telecommunications (PAN, LAN, MAN, WAN, that mark the progress of the systems analysis and Satellite network, Cellular data network) design effort. 5. Human expertise (System Analyst, Business Analyst, Data Analyst, Software Developer, Products of SDLC Phases Project Manager, Software Tester) Planning Humans possess a unique ability to empathize, Priorities for systems and projects; an architecture interpret emotions, and cater to the user for data, networks, and selection hardware, and experience. This empathetic understanding is vital information systems management are the result of for designing IT solutions that resonate with the associated systems Detailed steps, or work plan, needs, emotions, and expectations of end-users, for project Specification of system scope and fostering a more meaningful and user-centric planning and high-level system requirements or technological landscape. features Assignment of team members and other IS Analysis and Design resources System justification or business case is the complex, challenging, and stimulating Analysis organizational improvement process that a team Description of current system and where problems of business and systems professionals uses to or opportunities exist, with a general develop and maintain information systems recommendation on how to fix, enhance, or Application Software replace current system Explanation of alternative systems and justification for chosen alternative one of the important results of systems analysis and design a software designed to support a specific organizational function or process. Design activities, actions, and tasks required to be carried out for software development. Functional, detailed specifications of all system elements (data, processes, inputs, and outputs) A quality focus - It defines the continuous process Technical, detailed specifications of all system improvement principles of software. It provides elements (programs, files, network, system integrity that means providing security to the software, etc.) Acquisition plan for new technology software so that data can be accessed by only an authorized person, no outsider can access the Implementation data. It also focuses on maintainability and Code, documentation, training procedures, and usability. support capabilities Software Engineering Practices Maintenance Understand the problem (communication and New versions or releases of software with analysis). It’s sometimes difficult to admit, but associated updates to documentation, training, most of us suffer from hubris when we’re and support presented with a problem. Plan a solution (modeling and software design). Now you understand the problem (or so you Software Engineering think), and you can’t wait to begin coding. encompasses process, methods, and tools that Carry out the plan (code generation). The design enable complex computer-based systems to be you’ve created serves as a road map for the system built in a timely manner with quality. The software you want to build. process incorporates five framework activities— communication, planning, modeling, construction, Examine the result for accuracy (testing and and deployment—that are applicable to all quality assurance). You can’t be sure that your software projects solution is perfect, but you can be sure that you’ve designed a sufficient number of tests to uncover as Software Engineering Layers many errors as possible. Tools - Software engineering tools provide a self- Project Management operating system for processes and methods. Tools are integrated which means information created is the practice of planning, organizing, and by one tool can be used by another. overseeing the execution of a project from start to finish. Methods - During the process of software involves defining project goals, identifying tasks development the answers to all “how-to-do” and resources required to achieve them, setting questions are given by method. It has the timelines, and monitoring progress to ensure the information of all the tasks which includes project is completed on time, within budget, and communication, requirement analysis, design to stakeholders’ satisfaction. modeling, program construction, testing, and involves various processes and methodologies, support. including risk management, stakeholder Process - It is the foundation or base layer of management, and communication management. software engineering. It is key that binds all the It is essential for ensuring the success of projects layers together which enables the development of in various fields, including software development, software before the deadline or on time. Process construction, marketing, and many others. defines a framework that must be established for the effective delivery of software engineering technology. The software process covers all the Week 2 – SDLC and Software Process Systems Development Life Cycle (SDLC) a phased approach to analysis and design that holds that systems are best developed through the use of a specific cycle of analyst and user activities. Software Process is the set of related activities and associated outcome that produce a software product. Fundamental Process Activities 1. Software specification - The functionality of the Agile Model. This emphasizes flexibility and software and constraints on its operation must be adaptive planning. It promotes iterative defined development, allowing teams to deliver working 2. Software development - The software to meet the software in frequent, short iterations. This model requirement and specification must be produced. is well-suited for projects with changing 3. Software validation - The software must be requirements and a need for quick responses to validated to ensure that it does what the customer customer feedback wants. 4. Software evolution - The software must evolve to meet changing customer/client needs. Software Process Models is a specified definition of a software process, which is presented from a particular perspective and thus only provides partial information about that process. These generic models are high-level, abstract descriptions of software processes that can be Iterative Model. This model focuses on used to explain different approaches to software incremental development, where each iteration development. produces a working software component. This play a crucial role in ensuring that projects are approach allows for early prototyping and testing, executed smoothly in software development. They enabling feedback-driven improvements provide all team members with a common throughout development. language and understanding, promoting effective collaboration and communication. Different Types of Software Process Models Waterfall Model. This is a linear, sequential approach that progresses strictly top-down. It follows a structured flow, where each phase of the development cycle must be completed before progressing to the next. This model is ideal for projects with well-defined and stable requirements. Benefits of Using Software Process Models Product Revision Efficiency in Software Development by providing Maintainability. Involves the effort required to a structured approach to software development. identify, fix, and verify software failures by users They enable teams to streamline their workflows, and maintenance personnel. minimizing the risk of missed deadlines or Flexibility. Focuses on the software's ability to overlapping tasks. adapt to new situations and users without requiring changes to the software itself. Quality Assurance and Risk Management Testability. Concerns the ease of testing the facilitate robust quality assurance and risk software, including predefined results, log files, management practices. These models ensure that and automatic diagnostics to ensure all system software is thoroughly tested before deployment components are functioning correctly and to by defining specific checkpoints and validation report any detected issues. processes. Product Transition Factors to consider in choosing the right Software Process Models Portability. Ensures that the software can be When selecting a software process model for a adapted to different environments, such as various project, several factors must be taken into hardware or operating systems, allowing the same account: software to function in diverse situations. Reusability. Involves designing software modules Project size and complexity that can be reused in future projects, saving Stability of requirements development time and resources, and improving Customer involvement and feedback module quality. Team size and expertise Interoperability. Focuses on creating interfaces Schedule and time constraints that allow the software to work seamlessly with Software Quality Factors other software systems or equipment firmware. Product Operation Correctness. This refers to the accuracy, completeness, timeliness, and availability of the software's output, as well as adherence to coding and documentation standards. Reliability. Focuses on minimizing service failures by determining the maximum allowed failure rate for the software or its functions. Efficiency. Concerns the hardware resources required, such as processing power, storage, and data communication, as well as the time between recharging portable units. Integrity. Involves the security of the software system, ensuring that access is restricted to authorized users with appropriate permissions. Usability. Addresses the ease with which new staff can be trained to use and operate the software system. Week 3 – Agile Development Common Practices of Agile Development Plan-Driven Software Development 1. Customer Collaboration: Continuous involvement of the customer in the development process to A software development process that completely ensure that the product meets their needs. specify the requirements and then design, build, 2. Iterative Development: Developing software in and test a system. small, frequent increments to provide working software early and often. 3. Flexibility: The ability to respond to changing requirements, even late in the development process. 4. Self-organizing Teams: Teams have the autonomy to organize their work and decide how best to achieve their goals. Agile Development 5. Continuous Improvement: Regular reflection on processes and practices to improve efficiency and Agile methods are designed to produce useful quality over time. software quickly. They are also incremental development methods in which the increments Key Agile Methodologies/Frameworks are small, and, typically, new releases of the Kanban – a visual Agile approach where teams use system are created and made available to a board to track tasks through different stages of customers every two or three weeks. development. Tasks are represented as cards on the board, and columns represent the stages. As work progresses, cards are moved between columns to reflect the current stage of each task. Plan-driven Approach vs Agile Approach Plan-drive Approach Identifies separate stages in the software process with outputs associated with each stage Iteration occurs within activities with formal Scrum – an Agile methodology for small teams that documents used to communicate between stages involves sprints. Led by a Scrum master, the team of the process meets daily to discuss tasks and roadblocks. The Agile Approach process includes sprint planning, which outlines goals for each sprint, and sprint retrospectives, Consider design and implementation to be the which review the sprint to improve future central activities in the software process iterations. Incorporate other activities, such as requirements elicitation and testing, into design and implementation Iteration occurs across activities Requirements and design are developed together, rather than separately Scrum: Most popular framework to Regularly Extreme Programming (XP) – an Agile framework Ship Releases focused on improving team collaboration through five core values: communication, simplicity, Developed in the 1990s by Ken Schwaber and Jeff feedback, courage, and respect. XP involves Sutherland, Scrum is an Agile methodology regular releases and iterations, similar to Scrum, focused on iterative progress and collaboration, but with a stronger technical emphasis, focusing aligning with Agile principles. on how tasks are accomplished to quickly respond Roles: to customer needs. Scrum Master: Removes obstacles to ensure team efficiency. Product Owner: Represents the customer, sets priorities, and provides feedback. Development Team: Cross-functional, self- organized team that delivers product increments. Sprints and Artifacts: Sprints: Short, fixed-length development cycles (1- 4 weeks) that produce incremental product Extreme Programming: Agile practices for writing updates. good code Product Backlog: Prioritized list of requirements Extreme Programming (XP) is an Agile framework maintained by the Product Owner. focused on high-quality code and technical Sprint Backlog: List of tasks for the current Sprint. excellence. It emphasizes rigorous engineering practices to quickly adapt to changing Sprint Burndown Chart: Tracks progress by requirements. Key XP practices include: showing remaining work. Test-Driven Development (TDD): Writing tests Meetings: before code to ensure functionality and improve Daily Scrum: 15-minute daily meeting for team code quality through the Red-Green-Refactor coordination. cycle. Code Refactoring: Continuously improving code by Sprint Planning: Meeting to plan the Sprint's work, simplifying and clarifying it without altering up to eight hours for one-month Sprints. functionality. Sprint Review: Meeting to review completed Continuous Integration (CI): Frequently work, four hours for one-month Sprints. integrating code changes and using CI/CD tools to ensure rapid delivery and maintain a clean Sprint Retrospective: Meeting to discuss what codebase. went well and areas for improvement, three hours for one-month Sprints. Pair Programming: Two developers working together, one coding and one reviewing, to When to Use: Ideal for complex, long-term enhance software design and share knowledge. projects with evolving requirements and uncertain Coding Standards: Adhering to standardized code release dates. Used by various industries and formats and styles for consistency and companies including Microsoft, IBM, Yahoo, and maintainability. Google. XP is suitable for small teams (up to 12 people) working on projects with tight deadlines and emphasizes customer involvement, short identification and resolution compared to iterations, and simplicity in design. It can be used standard project management methods. independently or in a hybrid with Scrum, combining XP’s technical practices with Scrum’s management approach. Adaptive Project Framework (APF) – is designed for IT projects where unexpected changes can occur. It acknowledges that resources like budgets, timelines, or team members may change during a project. APF focuses on managing the resources currently available, rather than those initially planned. Dynamic Systems Development Method (DSDM) – an Agile method that emphasizes a full project lifecycle with a more structured approach. It consists of four main phases: Feasibility and Business Study, Functional Model or Prototype Iteration, Design and Build Iteration, and Implementation Extreme Project Management (XPM) – ideal for complex projects with high uncertainty. It involves continuously adapting processes and strategies, often shifting week to week, until the desired outcome is achieved. XPM requires high flexibility, with short sprints allowing for frequent changes, trial-and-error problem-solving, and multiple iterations for self-correction. Feature Driven Development (FDD) – combines Agile best practices with a focus on specific software features. It relies heavily on customer input to prioritize features and allows for frequent updates. The iterative nature of FDD enables teams to quickly address and fix errors as they continuously move through project phases. Adaptive Software Development (ASD) – focused on continuous adaptation, involves three overlapping phases: speculate, collaborate, and learn. Teams often operate in all three phases simultaneously, allowing for continuous learning and problem-solving. The non-linear structure and repetition of these phases enable quicker issue The 12 Principles of Agile Methods Impact: Misalignment between teams can lead to integration issues and inconsistencies. 1. Satisfy Customers Early and Often: Regular updates lead to satisfied customers and recurring Maintaining Agile Principles: revenue. Challenge: As teams grow, maintaining the core 2. Embrace Changing Requirements: Adaptability is Agile principles, such as flexibility and rapid crucial; being flexible helps accommodate late iteration, becomes harder. changes. 3. Deliver Value Frequently: Frequent delivery of Impact: Large-scale projects may become less value helps retain customers and stakeholders. agile and more rigid, deviating from Agile’s 4. Promote Collaboration: Break down silos and adaptive nature. encourage frequent team collaboration. Complexity in Communication: 5. Build Around Motivated Individuals: Agile thrives with committed and engaged team members. Challenge: With more teams involved, 6. Face-to-Face Communication: Prefer face-to-face communication becomes more complex, making it interactions for effective communication, even if difficult to ensure that all teams are aligned and virtual. informed. 7. Prioritize Working Software: Functional software Impact: Increased risk of miscommunication and is the primary measure of progress. delays in decision-making. 8. Maintain a Sustainable Pace: Ensure the work pace is manageable to avoid team burnout. Consistency in Practices: 9. Continuous Excellence: Build on excellent work to Challenge: Ensuring consistency in Agile practices enhance future agility. and standards across multiple teams can be 10. Keep It Simple: opt for the simplest solutions to difficult. complex problems. 11. Foster Self-Organizing Teams: Empower teams to Impact: Variations in implementation can lead to organize themselves for maximum value. fragmented processes and reduced overall 12. Reflect and Adjust: Regular retrospectives help efficiency. teams improve effectiveness and adapt their Scaling Frameworks: practices. Challenge: Implementing scaling frameworks like SAFe (Scaled Agile Framework), LeSS (Large Scale Scrum), or Spotify model can be complex and requires careful adaptation to fit organizational needs. Impact: Poor implementation can lead to confusion and resistance from teams. Issues of Scaling Agile Development Coordination Across Teams: Issues with Combining Agile with Plan-Driven Approaches Challenge: Agile practices, like Scrum or XP, are often designed for small, co-located teams. Scaling Conflicting Cultures: these methods to large organizations with multiple Challenge: Agile focuses on flexibility and iterative teams requires effective coordination and development, while plan-driven approaches communication. emphasize detailed upfront planning and documentation. Impact: Conflicting priorities and methodologies can lead to friction between teams and management. Integration of Processes: Challenge: Combining Agile’s iterative cycles with plan-driven approaches’ structured phases can result in mismatched processes and workflows. Impact: Difficulty in integrating practices may lead to inefficiencies and delays. Documentation vs. Flexibility: Challenge: Agile minimizes documentation, while plan-driven methods require comprehensive documentation. Impact: Balancing the need for documentation with Agile’s focus on working software can be challenging. Resource Allocation: Challenge: Agile requires adaptive resource management, whereas plan-driven approaches often rely on fixed resource plans. Impact: Misalignment in resource allocation can cause delays and resource conflicts. Change Management: Challenge: Agile welcomes change, but plan- driven approaches may resist changes once the plan is set. Impact: Integrating these approaches can result in resistance to change and difficulty in adapting to new requirements. Week 4-5 – Managing IS Project This phase involves identifying technical requirements, creating a detailed project Management Information System (MIS) schedule, communication plan, and setting goals is an important discipline that combines business using methods like S.M.A.R.T. and C.L.E.A.R. The and computing to assist organizations in digitizing scope of the project is defined, with the possibility work and managing an increasingly remote of changes needing approval from the project workforce. manager. is a planned system of collecting, storing, and Key tasks include developing a work breakdown disseminating data in the form of information structure (WBS), setting a timeline with needed to carry out the functions of management. deliverables, planning communication with is an implementation of the organizational systems stakeholders, and devising strategies for risk and procedures. mitigation and change management to prevent 5 Phases of Project Management scope creep and project delays. According to the PMBOK Guide (Project S.M.A.R.T Goals (Specific, Measurable, Management Body of Knowledge) by the Project Attainable, Realistic, Timely) Management Institute (PMI), a project The ‘SMART’ criteria ensure that the goals you set management life cycle consists of 5 distinct phases for your project are critically analyzed. It is an including initiation, planning, execution, established method that reduces risk and allows monitoring, and closure that combine to turn a project managers to make clearly defined and project idea into a working product. achievable goals. Phase 1: Project Initiation C.L.E.A.R. (Collaborative, Limited, Emotional, The project initiation phase is the first step in Appreciable, Refinable) transforming an idea into a tangible goal by Goals The ‘CLEAR’ method of setting up goals is developing a business case and defining the designed to cater to the dynamic nature of a project broadly. modern workplace. Today’s fast-paced businesses This phase involves creating a project charter, require flexibility and immediate results and CLEAR which outlines project constraints, goals, budget, can help citizen developers with that. timeline, and appoints the project manager. Key Phase 3: Project Execution stakeholders are identified, and a stakeholder register is created. The project execution stage involves your team carrying out the project work, while as the project While the project's goal and scope are clarified, manager, you establish workflows and monitor technical details are reserved for the planning progress. stage. For example, in developing an electric vehicle, specific design choices are not made Your role also includes maintaining effective during initiation, only the commitment to develop collaboration among stakeholders to ensure it within the given timeframe and budget. smooth project operations. Using project collaboration and brainstorming tools can enhance Project 2: Project Planning team efficiency, productivity, and creative The project planning stage is crucial as it processes during this phase. establishes the project's roadmap, often taking up Phase 4: Project Monitoring and Controlling nearly half of the project's timespan unless using an Agile methodology. The project monitoring and controlling phase occurs alongside project execution to ensure objectives and deliverables are met. As a project manager, you can prevent deviations from the plan by establishing Critical Success Factors (CSF) and Key Performance Indicators (KPI). Additionally, you are responsible for tracking effort and cost to keep the project within budget and provide valuable data for future projects. Best Free Project Management Software Phase 5: Project Closing The project closure phase marks the end of the project after final delivery. The project manager is responsible for terminating contracts, completing paperwork, and conducting a reflection meeting to assess successes and failures. The final task involves reviewing the entire project and compiling a detailed report, with all data securely stored for future reference. This phase ensures continuous improvement and effective documentation for future projects. Gantt Chart A Gantt chart is used to visually represent project schedules on a timeline. A typical online Gantt chart is broken up into two halves. Tasks are listed on the left side in a traditional spreadsheet fashion, but the timeline to the right offers a quick and easy way to understand the project schedule in its totality. They’re used during the project planning phase to create a project schedule but are used throughout the project execution phase as a tool to track the progress of tasks until they’re completed. Network Diagram A network diagram is a schematic that shows all the tasks in a project, who is responsible for them and the flow of work that is necessary to complete them. In other words, they help visualize the project schedule. They’re meant to provide a high-level overview of your project for purposes like presenting to executives or project investors. Network diagrams are also ideal for mapping out any type of task sequence such as operational workflows and business processes. Week 6 – Identifying And Selecting Systems best results, try to include as many team members Development Projects as possible. Systems Development Project (SDP) 2. Initiate your project involves outlining the general activities, milestones, and goals, before is the process of defining, designing, testing and sharing it with your teammates. implementing a new software application of program. 3. Perform feasibility and viability studies to refers to the iterative process of implementing and ensure that your project is doable. Ensure that the extending approaches to meet specific constraints, individual project activities all lead to the project’s which involves code design, implementation, ultimate goal and that your current staff is testing, and deployment of software components equipped to handle their responsibilities. or objects. This process also includes analyzing 4. Complete the project schedule the need to tests, training users, system migration, and the create a roadmap for the allocation of resources operational process. and detail the tasks that must be completed before Project the project can be considered complete. is defined as a sequence of tasks that must be 5. Perform a project risk analysis perform a completed to attain a certain outcome. According thorough risk analysis of your project as a whole to the Project Management Institute (PMI), the using these different methods: term Project refers to “to any temporary endeavor 1. Qualitative risk analysis with a definite beginning and end”. Depending on its complexity, it can be managed by 2. Quantitative risk analysis a single person or hundreds. 3. SWOT analysis is proposed by an individual who identifies a project-worthy need or opportunity. 4. Root cause analysis (RCA) Project Identification 5. Failure Mode Engineering Analysis (FMEA) is the process of brainstorming, analyzing, and 6. Estimate resources Double-check any cost selecting a project to initiate as a preliminary step estimates, workforce estimates, and material before the first phase of the project life cycle estimates to ensure their validity begins. 7. Submit for approval submit your final project In many cases, the individual responsible for proposal and get the approval of key project identifying and pursuing a new project is also stakeholders. responsible for creating the project proposal. This proposal generally contains a final goal, cost Project Selection and time estimates, and a list of tasks and activities is the evaluation of project ideas to help decide that are contained within the project. which project has the highest priority. It's an The Identification phase of the IT Project important part of project portfolio management Management Framework involves evaluating and (PPM), which is a process used by project deciding if a proposed project should be management organizations (PMOs) and project undertaken, based on the studying of factors like managers to analyze the potential return on costs, benefits, risks, and etc. undertaking a project. How to conduct project identification? is an integral part of a company's process for choosing a project with the highest priority to 1. Brainstorm ideas for your next project starts as accomplish soon as the project identification process does. For is the process of selecting a promising project idea identifying possible solutions based on the project form a list of various project ideas based on certain description, business need, and objectives, and condition that are set by the entrepreneur or the then assessing the costs and benefits of each firm solution. is the second step after project identification in the 2. Payback period determine the time to recover project planning cycle the cost of an investment. For instance, if you How to select a project? project you will spend $300,000 to execute a project and expect it will generate revenue at the 1. Make sure the project fits the company's rate of $30,000 per year, your payback period strategy – discuss with stakeholders whether the would be 10 years. project aligns with the company's business strategy by identifying how it supports one or 3. Discounted cash flow estimates the future cash more organizational goals, whether short-term or inflows from an investment or project, adjusted for long-term. the time value of money, which assumes that a dollar today is more valuable than a dollar in the 2. Understand your company environment – future because it can be invested. It's important to be you're aware of your organizational environment and understand your For instance, with a 5% annual interest rate, $1 in company thoroughly. Consider asking yourself the a savings account will be worth $2.12 after a year. following questions: Likewise, if you delay a $1 payment for a year, its present value is 95 cents, as you can't transfer it to > What are the company's key business drivers? your savings account to earn interest. > What are the company's strengths and 4. Opportunity costs represent the potential weaknesses? benefits a company forgoes when choosing one > Does the company have limited resources? option over another. Considering opportunity costs in decision-making enables a more > If the company has resource limitations, where is comprehensive cost-benefit analysis, allowing the it lacking? company to assess not only the current choice but 3. Consider and analyze historical data – also the missed alternatives, leading to better- when conducting analysis, refer to historical data informed decisions. and previous experiences, as environmental and 5. Ranking method a straightforward method that organizational factors that influenced past assigns a priority scale to projects based on their outcomes may still be relevant. Identify any importance. Its main advantage is its speed, changes to these factors and discuss them with making it useful when there are few criteria to executives or stakeholders. assess and the factors are simple to evaluate. 4. Decide who will be the project champion – 6. Scoring model evaluates projects based on A project champion is a high-level employee or multiple selection criteria, such as risk, ROI, and executive responsible for ensuring the project benefits. Each criterion is assigned a rating and stays on track and moves efficiently to completion, weighted according to its importance. The final using their communication skills to coordinate project score is calculated by multiplying ratings by with all stakeholders their respective weights and summing the results. Project selection methods This method is useful for comparing diverse projects. 1. Cost-benefit analysis involves estimating the total costs and potential profits of a project by 7. Analytic hierarchy process combines subjective evaluating different solutions. It starts by elements with mathematical models for a holistic approach. It compares criteria in pairs, reducing biases and errors, then normalizes and computes E-Commerce weighted scores. AHP's strength lies in its quantitative strategy, converting abstract means the use of an electronic medium for problems into numbers, providing transparency to commercial transactions, but it is commonly used decision-making. to refer to selling products and services over the Internet to consumers or other businesses. Corporate Strategic Planning Three Classes of E-Commerce is a companywide approach at the business unit and corporate level for developing strategic plans Business-to-Business to achieve a longer-term vision. The process encompasses all electronic transactions of goods includes defining the corporate strategic goals and or services conducted between companies. intentions at the top and cascading them through Producers and traditional commerce wholesalers each level of the organization. typically operate with this type of electronic Why is Corporate Strategy Important? commerce. It is important because it aligns employees and Examples: Alibaba: Alibaba is a global B2B resources with company goals, improves platform where businesses buy wholesale efficiency, and helps avoid costly mistakes. It products from manufacturers and suppliers. enhances competitiveness by refining processes. Salesforce: Provides cloud-based software The strategic planning process begins by clarifying solutions for businesses, offering CRM and sales the organization's vision, mission, and market tools. Amazon Business: Offers businesses bulk position. purchasing options, supplies, and tools to meet their operational needs. Information Systems Planning (ISP) Business-to-Consumer remains an essential ailment of corporate sectors and business planning roadmaps in today's world. involves electronic business relationships between Because information is transferred to and from businesses and individual consumers, similar to systems with different requirements for different traditional retail. It has grown significantly with the groups, it is necessary that the purposes of the rise of online stores, offering a wide range of systems must be clearly defined from the initial products. Consumers often benefit from more phase. information, lower prices, personalized service, and faster order processing and delivery. Examples: Amazon: The largest online marketplace where consumers can purchase a wide variety of products directly from businesses. Walmart: Walmart's online platform allows consumers to buy groceries, electronics, and household items. Netflix: Offers digital streaming services directly to individual consumers. Consumer-to-Consumer Information systems planning can be fragmented into four sequential phases given below: encompasses all electronic transactions of goods or services conducted between consumers. Generally, these transactions are conducted through a third party, which provides the online platform where the transactions are actually carried out. Examples: eBay: Allows individuals to sell products directly to other consumers via auction or fixed price. Etsy: Provides a platform for individuals to sell handmade or vintage items to other consumers. Facebook Marketplace: Users buy and sell products with other individuals locally. Week 7 - Initiation And Planning System An action plan that includes how decisions will be Development Project made (such as a RACI chart), a communication plan, and next steps you’ll take if your business Project Initiation case is approved is the first step in starting a new project. During the 2. Identify key stakeholders and pitch your project initiation phase, you establish why you’re project doing the project and what business value it will deliver—then use that information to secure buy- After creating a project charter or business case, in from key stakeholders. identify key stakeholders who need to approve the project, such as executive leaders, project The Project Initiation Process: 4 Steps to Get sponsors, or teams providing resources. To Started determine stakeholders, ask who needs to 1. Create a project charter or business case approve, provide resources, or influence the project. In the first step of a project, you create a project charter or business case to justify the need for the Conduct a stakeholder analysis by categorizing project and its benefits. A project charter is used them based on their level of influence and interest. for smaller initiatives, while a business case is for Additionally, notify individuals who might be larger projects requiring significant resources. impacted by the project, even if they don't need to Both documents outline key project details and approve it. Securing stakeholder buy-in early helps help pitch the initiative to stakeholders. For gain approval, support, resources, and avoids example, a project charter might be used for a roadblocks later in the project website redesign, while a business case would be 3. Run a feasibility study used for a company-wide rebranding. After pitching your project and aligning it with your 1.1 Project Charter company’s strategic plan, the next step is to A project charter demonstrates why your project is conduct a feasibility study. This study evaluates important, what it will entail, and who will work on whether the project is viable by answering two key it—all through the following elements: questions: Why: The project’s goals and purpose 1.Does the team have the necessary resources to complete the project? What: The scope of the project, including an outline of your project budget 2.Will the return on investment (ROI) justify pursuing the project? Who: Key stakeholders, project sponsors, and project team members If the answer to both is yes, you can confidently move forward. If not, the study provides data to 1.2 Business Case request more resources from stakeholders or A business case includes all the components of a adjust the project plan. project charter, along with these additional NOTE: Feasibility studies are mainly for large elements: projects with significant resource needs and may A comprehensive financial analysis, including an not be needed for smaller or previously studied estimate of the return on investment (ROI) your projects. They take time and resources, so ensure project will bring they're necessary before starting. An analysis of project risks and a risk management 4. Assemble your team and tools plan Once your project is approved and its feasibility objectives in your plan allows every team member confirmed, it's time to assemble your team, to understand project milestones workspace, and tools. Start early to find the right Adhering to the project budget: Detailed project people and follow company procedures for plans include budgetary information, including the assigning employees. Plan your team structure, allocation of funds for each facet of the project. whether hierarchical or region-based. Ensure the Creating a software project plan can help your workspace fits the project's needs, especially for team stay within the project budget. remote or onsite work, and choose the right tools for collaboration, such as email or project Ensuring high-quality work: Software project management software. plans are important because they allow you to implement quality assurance and find potential Project Planning viruses or defects in the code before delivering it outline the scope of the problem and identify to the client. You can ensure you deliver high- solutions. Resources, costs, time, and other quality software to clients by defining quality and aspects should be considered here. The planning delegating quality assurance duties. phase of the SDLC is also when the project plan is How to create a software project plan? developed that identifies, prioritizes, and assigns the tasks and resources required to build the 1. Define the scope of your software project: structure for a project. Outline the project's goals, including outcomes, tasks, budget, timeframe, and deliverables, either What is a software project plan? in a written format or bullet points. is a collection of documents that outline the tasks 2. Isolate tasks within the project: Break down the and timeline of your software development. project into smaller tasks to help determine the Software project plans typically include projected budget and assign specific teams, like creating a start and end dates, launch plans, requirements, team for quality assurance on beta code. configurations, installation procedures, databases and training standards. 3. Design time-based objectives: Set deadlines and milestones for each task, considering expected Importance of software project plans delivery times and potential delays, to ensure the Defining role and responsibilities: When planning project stays on track. your software project, you include information 4. Delegate tasks to teams or individuals: Assign about which team members can address each tasks based on complexity and expertise, such as aspect of the software development. By assigning having different teams work on design, coding roles early and documenting those assignments, sprints, and quality assurance. you can ensure accountability for each task. 5. Establish schedules for your team: Create Determining client requirements: By creating a schedules for each task and communicate labor software project plan, you determine the exact needs to help your team meet deadlines. For parameters of the client requirements. When example, a six-month project may have monthly creating your plan, ask for constant feedback from schedules outlining specific tasks. clients and other interested parties to ensure the software meets their needs. 6. Perform risk assessments: Identify potential risks that could affect the project, such as internet Meeting project deadlines: Planning for software outages, and create contingency plans to minimize projects can help you meet project deadlines by delays if issues arise. providing a clear time frame for completing each aspect of the project. Including time-based 7. Gather and analyze project data: Regularly collect and review data (e.g., budget and progress) to ensure your project remains on track. Use intervals, like weekly updates, to assess the project’s status and make informed adjustments. 8. Make adjustments to ensure success: Based on data and feedback, adjust the project scope, timeline, or task delegation as needed. Flexibility is crucial for accommodating client changes and ensuring successful project completion. Tips for Creating Software Project Plan Use software tools: Software tools can streamline the creation of software project plans by providing templates and making it easy to share with team members, ensuring that all key details are included. Create accessible guide documents: Ensure that your project plan documents are easy to access, well-organized, and readable. Before sharing with your team, improve clarity and format, and ask for feedback to confirm accessibility. Review the plan at the end of the project: After project completion, review the software project plan for effectiveness. Identify areas for improvement and gather feedback from the team to refine future plans. Week 8-9 – Requirements Determination Surveys: Questionnaires to gather feedback. Focus Groups: Small discussions with Requirements Engineering stakeholders. A systematic and strict approach to the definition, Observation: Watching stakeholders in their work creation, and verification of requirements for a environment. software system is known as requirements Prototyping: Creating a model of the system to engineering. To guarantee the effective creation of gather feedback. a software product, the requirements engineering process entails several tasks that help in The gathered requirements must be documented, understanding, recording, and managing the organized, and prioritized to ensure accuracy and demands of stakeholders. completeness. Requirements Engineering Process Requirements Specification Feasibility Study Requirements specification is the process of formally documenting all functional, non- A feasibility study assesses the viability of a project functional requirements, and constraints for a in five key areas: software system. This includes creating models 1. Technical Feasibility: Evaluates available such as ER diagrams, DFDs, and function hardware, software, and technical resources to decomposition diagrams (FDDs). It may also determine if the project can be developed with the involve further elicitation if additional knowledge current technology and skills. is needed. Key aspects include: 2. Operational Feasibility: Analyzes how well the Functional Requirements: What the system project will meet user needs and how easy it will should do, like input validation and data storage. be to operate and maintain after deployment. Non-Functional Requirements: Quality attributes like performance and security. 3. Economic Feasibility: Examines the costs versus Constraints: Limitations or restrictions during benefits of the project to determine if it is development. financially viable. Acceptance Criteria: Conditions for completing 4. Legal Feasibility: Ensures the project complies the software. with laws, regulations, and standards, including The document should be clear, use simple intellectual property concerns. language, and incorporate diagrams to ensure all 5. Schedule Feasibility: Assesses whether the requirements are understandable. Stakeholders project timeline is realistic, with clear milestones and the development team review the and resource availability to meet deadlines. specification to ensure it is complete and accurate Requirements Elicitation Functional and Non-Functional Requirements Requirements elicitation is the process of Functional and nonfunctional requirements help a gathering information about stakeholder needs software system run efficiently. Each requirement and expectations for a software system. It aims to has unique features that contribute to increased understand the problem the software will solve usability and security, since they allow software to and is critical for the success of the project. Various run faster and use strong security protocols. techniques are used for eliciting requirements, What is a functional requirement? including: A functional requirement is a technical feature Interviews: One-on-one conversations with programmed into software that helps the system stakeholders. behave and operate as intended. These requirements are essential for ensuring the system A system runs regular checks to ensure their performs tasks correctly, providing insight into the company meets the proper legal standards for system's features and functions. their specific software. An operating system provides a receipt to users Functional requirements go through three stages upon performing a transaction, and the system when performing an action: records information about the transaction in a 1. Input: This triggers the system's behavior, such saved file. as a user clicking a link. What is a non-functional requirement? 2. System behavior: The system responds to the A nonfunctional requirement improves software input, like shutting down when detecting a security performance, quality, and usability, but isn't threat. essential for the system to function. These 3. Output: The outcome of the system's behavior, requirements enhance features like speed, storage such as creating more storage space for users to capacity, and user experience. For example, a save data. nonfunctional requirement might provide extra data storage for users who need more space, Common functional requirements improving the software's overall usability. Functional requirements encompass several key Common non-functional requirements areas: Here are some common nonfunctional 1. Business requirements: Specific needs for a requirements: company’s operations, like a grocery store allowing users to enter their phone numbers for discounts. Usability: Enhances user experience by making software easy to navigate and understand, often 2. Administrative protocols: Routine system through additional features. operations, such as reporting and testing, ensuring smooth software performance. Reliability: Ensures software consistently performs without failures, safeguarding data from 3. User preferences: Features enhancing usability, loss and security threats. like navigation options tailored to user needs. Scalability: Allows expansion of storage capacity to 4. System requirements: Specifications for accommodate growing data needs. software and hardware, including tasks like data archiving or responses to security breaches. Security: Adds extra protection, like firewalls, to prevent data breaches and enhance data safety. 5. Authentication: Validating user identity to protect sensitive information, often requiring Localization: Adapts software to the user’s region, passwords or user credentials. adjusting language, currency, and time zones for easier comprehension. 6. Legal requirements: Ensuring software meets industry regulations and stays updated with Performance: Boosts system speed and efficiency, changing laws. allowing users to complete tasks quickly and effectively. Examples of functional requirements Examples of non-functional requirements An operating system requires that users enter a password and username when logging in so that An operating system translates all foreign the system can authenticate their identity. messages to the language of the system's current location. An operating system shuts down automatically Communication: Ensuring effective when detecting a potential security threat. communication with stakeholders. A system has added features that enhance Monitoring and reporting: Tracking progress and usability, which include a large cursor so that providing status updates. viewers can easily identify it on the screen and speech enabled text that allows users to type using This process helps prevent scope creep, aligns their voices. requirements with project goals, and ensures timely, quality development. Requirements Verification and Validation Requirements Verification and Validation (V&V) ensure that software meets its requirements and stakeholder expectations. Verification confirms that the software accurately implements the specified requirements. It checks for completeness, consistency, and accuracy through reviews, buddy checks, and test cases. Validation ensures that the software fulfills customer needs and expectations, preventing errors from propagating into later stages. It includes testing through simulations, prototypes, or the final software version. V&V is iterative, involving continuous checks throughout development, and requires stakeholder and team collaboration to maintain quality. Requirements Management Requirements Management involves analyzing, documenting, tracking, prioritizing, and controlling changes to requirements throughout the software development life cycle. It ensures that the software meets stakeholder expectations and remains valid as requirements evolve. Key activities include: Tracking and controlling changes: Monitoring modifications, assessing their impact, and deciding whether to approve or reject them. Version control: Keeping track of different requirement document versions. Traceability: Linking requirements to development elements like design and testing.