Skip to document

Software Engineering Exam 1 (Chapters 2, 3, & 4, Scrum Guide)

Study guide for test #1.
Course

Software Engineering I (CS 07321)

3 Documents
Students shared 3 documents in this course
Academic year: 18/19
Uploaded by:
0followers
2Uploads
11upvotes

Comments

Please sign in or register to post comments.

Preview text

Software Engineering Exam 1 Study Guide Chapter 1: Introduction Key Points engineering is an engineering discipline that is concerned with all aspects of software production. is not just a program or programs but also includes all electronic documentation that is needed system users, quality assurance staff, and developers. Essential software product attributes are maintainability, dependability and security, efficiency, and acceptability. software process includes all of the activities involved in software development. The activities of specification, development, validation, and evolution are part of all software processes. are many types of systems, and each requires appropriate software engineering tools and techniques for their development Few, if any, specific design and implementation techniques are applicable to all kinds of systems. fundamental ideas of software engineering are applicable to all types of software systems. These fundamentals include managed software processes, software dependability and security, requirements engineering, and software reuse. engineers have responsibilities to the engineering profession and society They should not simply be concerned with technical issues but should be aware of the ethical issues that affect their work. societies publish codes of conduct that embed ethical and professional standards. These set out the standards of behavior expected of their members. Chapter 2: Software Processes Key Points processes are the activities involved in producing a software system. Software process models are abstract representations of these processes. process models describe the organization of software processes. Examples of these general models include the waterfall model, incremental development, and reusable component configuration and integration. engineering is the process of developing a software specification. Specifications are intended to communicate the system needs of the customer to the system developers. and implementation processes are concerned with transforming a requirements specification into an executable software system. validation is the process of checking that the system conforms to its specification and that it meets the real needs of the users of the system. evolution takes place when you change existing software systems to meet new requirements. Changes are continuous, and the software must evolve to remain useful. should include activities to cope with change. This may involve a prototyping phase that helps avoid poor decisions on requirements and design. Processes may be structured for iterative development and delivery so that changes may be made without disrupting the system as a whole. improvement is the process of improving existing software processes to improving existing software processes to improve software quality, lower development costs, or reduce development time. It is a cyclic process involving process measurement, analysis, and change. Chapter 3: Agile Software Development Key Points methods are iterative development methods that focus on reducing process overheads and documentation and on incremental software delivery. They involve customer representatives directly in the development process. decision on whether to us an agile or approach to development should depend on the type of software being developed, the capabilities of the development team, and the culture of the company developing the system. In practice, a mix of agile and techniques may be used. validation is the the process of checking the requirements for validity, consistency, completeness, realism, and verifiability. organizational, and technical changes inevitably lead to changes to the requirements for a software system. Requirements management is the process of managing and controlling these changes. from Slides: Chapter 2: Software Processes processes processes Method vs. Incremental Development Development Life Cycle (SDLC) Planning, Analysis, Design, Development, Integration Testing, Implementation, Maintenance (Pheumonic: Phase: involved determining a solid plan for developing your information system. Three main activities 1) Define the system to be developed. success factors 2) Set the project scope. defines system requirements 3) Define the high level project plan. Initiation Document (PID Planning Phase) Scope Statement Background Analysis Dependencies, and Constraints Project Plan and Governance (Team Organization Chart) Plan Plan (list of deliverables) Assessment (Risks and mitigation strategies) Costs and ROI Phase: involves end users and IT specialists working together to gather, understand, and document the business requirements for the proposed system. primary activity of this phase is to gather business requirements. Business requirements are the detailed set of knowledge worker requests that the system Must meet to be successful. Design and Development Phase: primary goal is the build a technical blueprint of how the proposed system will work. changes from a business one to a technical or physical one. technical architecture defines the hardware, software, and required networking configuration to run the system. and specifies the interfaces, parameters, and protocols used product Architecture. Integration and Testing Phase: that the system works and meets all the business requirements defined in the analysis phase. 1) Develop detailed test conditions (the details steps the system must perform along with the expected results of each step). 2) Actually perform the tests. types of testing: hoc testing testing testing testing Implementation Phase: the system to all the knowledge workers and they begin using the system to perform their everyday jobs activities Twelve Principles of the Agile Manifesto: 1. Our highest priority is to the through early and delivery valuable software. 2. changing even late in development. Agile processes harness change for the competitive advantage. 3. working software from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. people and developers must work together throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, trust them to get the job (Do not micromanage.) 6. The most efficient and effective method of conveying information to and within a development team is 7. software the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to a constant pace 9. attention to technical excellence and good enhances agility. 10. art of maximizing the amount of work not essential. 11. The best architectures, requirements, and designs emerge from 12. At regular intervals, the reflects on how to become more then tunes and adjusts its behavior accordingly. (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. is: Lightweight Simple to understand Difficult to master Process Control Models Predictive and Empirical Customer knows what he wants, engineers know how to build it, nothing changes along the way. Customer decides what he wants, engineers discover how to build it, things change along the way. The Three Legs of Empiricism (E TIA) Common definition of done. Velocity A measure of Product Backlog Items delivered per Sprint DATE TARGET PLANNING: The product will release on a specific date FEATURE TARGET PLANNING: The product will release when specific features are ready Cone of uncertainty Scrum Values: CFORC (Sea Fork) Commitment Focus Openness Respect Courage

Was this document helpful?

Software Engineering Exam 1 (Chapters 2, 3, & 4, Scrum Guide)

Course: Software Engineering I (CS 07321)

3 Documents
Students shared 3 documents in this course

University: Rowan University

Was this document helpful?
Software Engineering Exam 1 Study Guide
Chapter 1: Introduction Key Points
-Software engineering is an engineering discipline that is concerned with all aspects of
software production.
-Software is not just a program or programs but also includes all electronic
documentation that is needed by system users, quality assurance staff, and developers.
Essential software product attributes are maintainability, dependability and security,
efficiency, and acceptability.
-The software process includes all of the activities involved in software development.
The high-level activities of specification, development, validation, and evolution are part
of all software processes.
-There are many types of systems, and each requires appropriate software engineering
tools and techniques for their development Few, if any, specific design and
implementation techniques are applicable to all kinds of systems.
-The fundamental ideas of software engineering are applicable to all types of software
systems. These fundamentals include managed software processes, software
dependability and security, requirements engineering, and software reuse.
-Software engineers have responsibilities to the engineering profession and society
They should not simply be concerned with technical issues but should be aware of the
ethical issues that affect their work.
-Professional societies publish codes of conduct that embed ethical and professional
standards. These set out the standards of behavior expected of their members.
Chapter 2: Software Processes Key Points
-Software processes are the activities involved in producing a software system.
Software process models are abstract representations of these processes.