CS 5150 Software Engineering Fall 2013

Assignments

 

Assignments

The and are corresponding to major project milestones. The first assignment is a report. The other three assignments consist of both a presentation and a report or other documentation.

With each assignment there is a survey to be completed . See the page for more information. It is important that everybody completes each survey and submits it on time. The course team uses the surveys to monitor the progress of the projects and to understand the contributions made by each member of the team.

Assignment 1

The deliverables for Assignment 1 are:

Feasibility Report

The exact form of the feasibility study is up to you. The length of the report is likely to be between five and ten pages. It should include the following:

pages on the Web site). 

Here are some example of reports from earlier classes. They are very different in style, but each provides a good example of an effective report. They are placed here with the permission of the student teams.

Assignment 2

The purpose of Assignment 2 is to describe to your client and the course team the progress up to Milestone 2. The deliverables for Assignment 2 are:

If the team is following an Milestone 2 is likely to include a first set of requirements, a provisional design, and a prototype that can be used to demonstrate the functionality of the system. If the team is following a development process, Milestone 2 should include completion of the requirements phase and preliminary design work.

Assignment 3

The purpose of Assignment 3 is to describe to your client and the course team the progress up to Milestone 3. The deliverables for Assignment 3 are:

If the team is following an Assignment 3 should mark a major milestone when you can report visible progress to your client.  If you are following a , this milestone will include the completion of the design phase and significant progress in the implementation.

Assignment 4

Assignment 4 consists of a presentation in which you will demonstrate your system in operation followed by the handover of the completed system and documentation to the client. The deliverables for Assignment 4 are:

During the semester you will be developing a set of materials that will be the handover package for your project. Because every project is different, the exact content of the package is up to you, but it should be carefully edited and suitable for handover to your client.  The final package is likely to include some or all of the following:

pages on the Web site). 

Presentations

During the semester each team will give three presentations with associated reports on the work completed. You will make a 45 minute presentation to the client, the Instructor and the Teaching Assistant assigned to your project. 

with instructions on how to schedule a time slot for your presentation. It is your responsibility to ensure that the client is available at the time you schedule. The room will be provided with a computer projector and Internet connection. 

See for advice on how to prepare for your presentations. Before the first presentation, there will be a discussion in class of the goals of the presentations and how to prepare for them.

Reports

All members of the project team should share in the production of the reports. When you have completed a report, (a) deliver it to the client, (b) send it by email to the Instructor and Teaching Assistant, (b) enter it into GForge or another software project system, for future reference.

The report for each milestone should include:

In writing each report, pay particular attention to the following:

Here are some examples of reports from earlier classes. They are very different in style, but each provides a good example of an effective report. They are placed here with the permission of the student teams.

William Y. Arms Last changed: August 2013

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

se-assignment-2-introduction-to-software-engineering-Alimerinda1 created by GitHub Classroom

Powerlearnproject/se-assignment-2-introduction-to-software-engineering-Alimerinda1

Folders and files.

NameName
6 Commits

Repository files navigation

Review Assignment Due Date

SE-Assignment-2

Assignment: Introduction to Software Engineering Instructions: Answer the following questions based on your understanding of software engineering concepts. Provide detailed explanations and examples where appropriate.

Questions: 1Define Software Engineering: Software engineering is the full development life cycle of computer systems that run on a computer . It involves the design, development, testing, deployment, and maintenance of software products.

2What is software engineering, and how does it differ from traditional programming? Software engineering is broader and focuses on the development from beginning to end. It involves the design, development, testing, deployment, and maintenance of software products. Traditional programming is more narrow and just focuses on the coding part of development

3Software Development Life Cycle (SDLC): 4Explain the various phases of the Software Development Life Cycle. Provide a brief description of each phase. Requirements: Collecting and recording user needs and system specifications. Design: Developing both high-level and detailed plans for the software architecture and user interface. Implementation: Coding and constructing the software based on the design plans. Testing: Performing various tests to verify the software's quality and functionality. Deployment: Distributing the software to users or customers. Maintenance: Offering continuous support, updates, and improvements to the software post-release.

5Agile vs. Waterfall Models: Compare and contrast the Agile and Waterfall models of software development. What are the key differences, and in what scenarios might each be preferred? Aglie is an adaptive software development methodolgy and it is used when requirements are not well understood and theres a high techincal risk ,it focuses on iterative and an incremental approach to software development.

Waterfall is a predictive approach which assumes projects can be planned out in advance ,requirements are well understood and when we have low risk.It follows a sequential ,waterfall development process and you cant go back to the previous step.It goes from planning,analysis,design and then implementation

6Requirements Engineering: What is requirements engineering? Describe the process and its importance in the software development lifecycle. Requirements engineering is the process of gathering stakeholder input,requirements for the software we are trying to build and and we can use things like questionnaries ,surveys,researching vendor soultions,set interviews etc to get to know what the stakeholder need from the software.This ensures that user needs are met and there arent any mismatches between what is required and what is developed.That is analysis of requirements and we can also group them into non-functional and functional requirements and get to see whats importanst and whats nice to have for the software .From there we move on to requiremenst specifications here we draft a document detailing use cases,which includes use case diagrams and descriptions we can include activity diagrams ,functional and non functional requirements,state machine diagrams etc.From there we move onto requirments validation this ensures the documentated requirments accurately reflect stakeholder requirements.Its important to do this because we need to ensure that stakeholder needs are met when the software is developed.This can also reduce scope creep ,it can set a foundation for development and most importantly it ensures users are involved in everything.

Software Design Principles: 7Explain the concept of modularity in software design. How does it improve maintainability and scalability of software systems?

Dividing a software system into separate, self-contained pieces (modules) that communicate with one another via well defined interfaces is known as modularity.The code is essesstially broken down into pieces called modules ,functions and each pieces contributes a single task to the entire program,the modules can be called and we make use of parameters.

Advantages of Maintaining Modularity:

Modification Isolation: Modifications made to one module hardly affect other modules. Simplified Debugging: Problems with isolated modules are easier to find and address. Reusability: Modules can be utilised again in other projects or in other sections of the application. Simpleness of Understanding: It is simpler to understand and handle smaller parts.

Scalability Independent Development: Various teams are able to work on various modules at the same time. Module distribution can enhance load handling by distributing them among multiple servers. Incremental Upgrades: Individual modules can be changed or upgraded. Resource Allocation: Performance can be improved by optimising critical components.

Testing in Software Engineering: 8Describe the different levels of software testing (unit testing, integration testing, system testing, acceptance testing). Why is testing crucial in software development?

Software Testing Levels: Unit Testing Emphasis: Individual parts. Goal: Confirm that every module operates as intended. Significance: Prevents errors in programming and guarantees its accuracy.

Integration Testing : Emphasis: Interactions among the modules. Goal: Guarantee that modules are interoperable. Significance: detects flaws in the interface and guarantees integrated functionality.

System Testing Highlight: A comprehensive, cohesive system. Verify that the system satisfies requirements is the goal. Makes sure the system performs as planned in a setting similar to production.

Acceptance Testing : Final user system is the main focus. Goal: Ascertain that the system satisfies user needs. Importance: Verifies that software meets business requirements and is prepared for deployment.

Importance: High standards are ensured and flaws are avoided via quality assurance. Reliability: Boosts robustness by locating and fixing flaws. User satisfaction: Enhances user experience and satisfies user requirements. Cost Efficiency: Lowers expenses and labour by finding flaws early on. Risk management provides stability and security by identifying problems prior to deployment.

Version Control Systems: 9What are version control systems, and why are they important in software development? Give examples of popular version control systems and their features. Software tools for tracking changes to source code and coordinating work among team members (e.g., Git, Subversion). 6 Git Distributed Version Control features include flexible collaboration and offline work. Branching and Merging: strong merging capabilities combined with a light branching structure. Performance & Speed: Most processes are carried out locally, and the system is designed for speed. Data Integrity: Makes use of cryptographic hashing to guarantee the accuracy of repository data. Before committing, the staging area (index) allows for the selective staging of modifications. Rich Toolkit: Numerous utilities and version control tools. Huge Community: A vibrant community with a wealth of assistance and documentation. Citations:

Visit https://git-scm.com/doc for the Git documentation. Git-Scm.com/book/en/v2 Pro Git Book

Software Project Management: 10Discuss the role of a software project manager. What are some key responsibilities and challenges faced in managing software projects?

Software project management involves guiding a team's efforts to accomplish project objectives within specified limitations, such as scope, schedule, and budget. It plays a crucial role in ensuring:

  • Punctual Completion: Maintaining project timelines.
  • Financial Oversight: Supervising expenses to avoid exceeding budgets.
  • Quality Assurance: Guaranteeing the end product meets prescribed criteria.
  • Resource Optimization: Efficiently utilizing available resources.
  • Risk Mitigation: Identifying and addressing potential risks.

Challenges in Software Project Management

Scope Expansion: The inclination for project scope to grow beyond initial specifications, resulting in elevated expenses and timeframes. Resource Limitations: Constrained access to proficient personnel, financial restrictions, and time constraints can present obstacles in project implementation.

Software Maintenance: 11Define software maintenance and explain the different types of maintenance activities. Why is maintenance an essential part of the software lifecycle?

Maintenance of Software Updating and changing software to fix bugs, enhance functionality, adapt to new settings, and guarantee continued usability is known as software maintenance.

Categories of Maintenance Tasks Corrective maintenance involves fixing flaws and faults that were found in the programme while it was still in use. Adaptive maintenance is the process of changing software to take into account modifications to its external environment, like new operating systems or hardware. Perfective maintenance is the process of improving a piece of software's functionality or performance in response to user input or changing needs. Preventive maintenance involves proactively detecting and fixing possible problems to stop them before they become bigger ones. Maintenance's Significance Throughout the Software Lifecycle

Maintenance is essential for:

ensuring the operation and dependability of software throughout time. software adaptation to changing user requirements and technology environments. maximising return on investment through increasing software systems' longevity and worth. Citations:

In 2016, Sommerville, I. Software Development. Wesley-Adobe. Atlee, J. M., and S. L. Pfleeger (2015). Engineering Software: Concepts and Applications. Pearson.

Ethical Considerations in Software Engineering: 12What are some ethical issues that software engineers might face? How can software engineers ensure they adhere to ethical standards in their work? Privacy Concerns and Ethical Issues in Software Engineering managing and making sure that private user information is protected. Discrimination & Bias: Creating algorithms and systems that don't support or reinforce prejudices or discriminate against particular populations. Developing secure software to stop breaches and safeguard user data is one way to address security vulnerabilities.

Respecting Ethical Guidelines Ongoing Education: Through professional development and training, stay current on ethical standards and best practices. Ethics Review: To find and fix such problems, conduct routine ethical evaluations of projects and code. Openness and Responsibility: Be transparent in your communication with stakeholders regarding ethical issues and assume accountability for making moral decisions.

Johnson, D. G. (2016). Computer Ethics. Prentice Hall. Gotterbarn, D. (1991). Software Engineering Code of Ethics. Link

Submission Guidelines: Your answers should be well-structured, concise, and to the point. Provide real-world examples or case studies wherever possible. Cite any references or sources you use in your answers. Submit your completed assignment by [due date].

Name:Alimerinda Mlambo

I made use of AI and my notes from school and google..

Contributors 2.

Browse Course Material

Course info.

  • Prof. Kevin Amaratunga

Departments

  • Civil and Environmental Engineering
  • Mechanical Engineering

As Taught In

  • Software Design and Engineering

Learning Resource Types

Foundations of software engineering, assignments.

ASSIGNMENTS SOLUTIONS
Problem Set 1 ( ) ( )
Problem Set 2 ( ) ( )
Problem Set 3 ( ) ( )
Problem Set 4 ( ) ( )
Problem Set 5 ( ) ( )
Problem Set 6 ( ) ( )
Problem Set 7 ( )
Pole Data for Problem Set 7 ( )
( )

facebook

You are leaving MIT OpenCourseWare

Pardon Our Interruption

As you were browsing something about your browser made us think you were a bot. There are a few reasons this might happen:

  • You've disabled JavaScript in your web browser.
  • You're a power user moving through this website with super-human speed.
  • You've disabled cookies in your web browser.
  • A third-party browser plugin, such as Ghostery or NoScript, is preventing JavaScript from running. Additional information is available in this support article .

To regain access, please make sure that cookies and JavaScript are enabled before reloading the page.

Software Engineering Nptel Week 2 Assignment Answers

Course Link: Click Here

Software Engineering Nptel Assignment 2 Week 2 Answers

Session: JULY-DEC 2024

Q1. Which one of the following activities would span all stages of a software development life cycle (SDLC) in waterfall-based software development? a. Coding b. Testing c. Project management d. Design e. Requirements specification

Answer: c. Project management

Q2. In waterfall model of software development, unit testing is carried out during which phase of the waterfall model? a. Implementation phase b. Testing phase c. Maintenance phase d. Design phase e. Requirements specification phase

Answer:a. Implementation phase

For answers or latest updates join our telegram channel: Click here to join

These are Software Engineering Nptel Week 2 Assignment Answers

Q3. In waterfall-based development, which one of the following phases accounts for the maximum effort during development of a typical software? a. Implementation b. Testing c. Designing d. Specification e. Feasibility study

Answer: b. Testing

Q4. Which of the following advantages can be expected to accrue when iterative waterfall model is used for a project? a. Easy to understand, easy to use, especially by inexperienced staff b. Milestones are well understood by the team c. Provides requirements stability during development d. Strong management control (planning, staffing, tracking etc) on the project e. Project progress can be accurately monitored by the project manager, as a result schedule slippages are rare f. Continual integration of the developed code occurs throughout the life cycle g. Continual customer interactions

Answer: a. Easy to understand, easy to use, especially by inexperienced staff b. Milestones are well understood by the team c. Provides requirements stability during development d. Strong management control (planning, staffing, tracking etc) on the project e. Project progress can be accurately monitored by the project manager, as a result schedule slippages are rare

Q5. Which of the following project characteristics would suggest that a waterfall model-based development would be appropriate? a. Requirements are well defined and stable b. Technology is understood c. Development team have experience with similar projects d. Delivery date has been aggressively set e. Substantial reuse of code is targeted

Answer a. Requirements are well defined and stable b. Technology is understood c. Development team have experience with similar projects

Q6.Which of the following are not known shortcomings of the iterative waterfall model of software development? a. All requirements must be known upfront b. Can give a false impression of progress c. Integration is one big bang at the end d. Little opportunity for customer to pre-view the system. e. Inadequate documentation produced as part of the process f. Number of phases in the model is ill defined

Answer: e. Inadequate documentation produced as part of the process f. Number of phases in the model is ill defined

Q7. Which one of the following may be experienced by a software development team when it adopts a systematic development process model in preference to a build-and-fix style of development? a. Increased documentation overhead b. Increased development cost c. Increased maintainability d. Increased development time e. Increased code size f. Increased code efficiency

Answer: a. Increased documentation overhead

Q8. Prototyping life cycle model is appropriate when a project suffers from which one of the following risks? a. Schedule slippage b. Manpower turnover c. Incomplete and uncertain requirements d. Poor quality of outsourced work e. Technological obsolescence

Answer: c. Incomplete and uncertain requirements

Q9. Which of the following sections are not important to an effective business case document and can be omitted? a. Cost b. Benefit c. Risk d. Configuration management e. Team structure

Answer: d. Configuration management e. Team structure

Q10. The operation phase of the waterfall model is a synonym for which one of the following phases? a. Coding and unit testing phase ? b. Integration and system testing phase c. Maintenance phase d. Design phase e. Requirements specification phase

Answer: c. Maintenance phase

All Weeks of Software Engineering: Click here

For answers to additional Nptel courses, please refer to this link:  NPTEL Assignment Answers

image

IMAGES

  1. Solved CS310

    software engineering assignment 2

  2. PPT

    software engineering assignment 2

  3. Software Engineering

    software engineering assignment 2

  4. Formal Methods in Software Engineering

    software engineering assignment 2

  5. software engineering assignment 2

    software engineering assignment 2

  6. M. Roohan Software Engineering Assignment 2

    software engineering assignment 2

VIDEO

  1. Advnaced topics in software engineering assignment 3

  2. Introduction To Software Engineering L2

  3. Software Engineering

  4. Software Engineering Week 3 || NPTEL ANSWERS || MYSWAYAM || #nptel #nptel2024 #myswayam

  5. NPTEL Software Engineering Week 2 Assignment 2 Solution July-Dec 2023

  6. Software Engineering| Assignment 1 Solutions

COMMENTS

  1. PDF G22.2440-001

    Assignment Layout Assignment 2 Assessment. Assignment is neatly assembled on 8 1/2 by 11 paper. Cover page with your name (last name first followed by a comma then first name), username and section number with a signed statement of independent effort is included. Problem and system analysis documentation is correct.

  2. CS 5150 Software Engineering: Assignments

    Assignment 2. The purpose of Assignment 2 is to describe to your client and the course team the progress up to Milestone 2. The deliverables for Assignment 2 are: Presentation on Milestone 2 (group assignment) Report on Milestone 2 (group assignment) Survey 2 (individual assignment) If the team is following an iterative process Milestone 2 is ...

  3. Assignment 2- Designing UML Diagrams

    Jorge Basilio Software Engineering - Assignment 2: Designing UML Diagrams Instructor: Matt McClintock 03-17-Assignment 2: Designing UML Diagrams. As the IT lead in a start-up company that is marketing smart thermostats for residential heating and cooling systems, my task is to design a system that is easy to install and user-friendly. In order ...

  4. CS 4403

    Date. Rating. year. Ratings. DF CS 4405 W4 - This is the discussion assignment of unit 1, week 1. Assignment Unit6 - Develop a test strategy for testing the entire application chosen in unit 3. CS 4403 Unit 6 WA - Software engineering 2 course assignments. Show 8 more documents.

  5. Written Assignment 2 Software Engineering 2

    WRITTEN ASSIGNMENT 2 SOFTWARE ENGINEERING 2. Developing a CPM for ABC's Project Design Phase The Critical Path Method (CPM) is a popular project management technique that helps plan and manage complex projects. It involves several steps to effectively schedule and execute project tasks. Conger (2008) outlines six key steps for applying the ...

  6. Solved Software Engineering Assignment 2

    Software Engineering Assignment 2 - Designing a Restaurant Ordering System: A UML Modeling Challenge. Description. You work for a new start-up that wants to develop and sell software that allows restaurants to digitalize their menus and create an order process for their customers. The goal is to streamline the logistics for a food business.

  7. G22.2440-001

    Course Title: Software Engineering Course Number: g22.2440-001. Instructor: Jean-Claude Franchitti ... Assignment 2 Assessment. Assignment Layout . o Assignment is neatly assembled on 8 1/2 by 11 paper. o Cover page with your name ...

  8. Computer Science 307

    Software Engineering Definition, History & Processes Computer Science 307 - Assignment 1: Configuration Management Computer Science 307 - Assignment 3: Component & User Interface Design

  9. PDF G22.2440-001

    Assignment is neatly assembled on 8 1/2 by 11 paper. Cover page with your name (last name first followed by a comma then first name), email, and section number with a signed statement of independent effort is included. (Part I) Brainstorming, modeling, and architectural evaluation documentation is satisfactory.

  10. PDF CS 425 Software Engineering Assignment #2

    CS 425 Software Engineering Assignment #2 September 17, 2013 Due: Friday, September 27, 2013, 5:00 p.m. (by email to [email protected] ... [Ian Sommerville, Software Engineering, 9th Edition, Addison-Wesley 2010]. Recommended length: 130 to 250 words. [15 points] Note on submission: Remember that this is an individual assignment ...

  11. se-assignment-2-introduction-to-software-engineering-Ikeoluwatech

    Assignment: Introduction to Software Engineering Instructions: Answer the following questions based on your understanding of software engineering concepts. Provide detailed explanations and examples where appropriate. Questions: Define Software Engineering: What is software engineering, and how does it differ from traditional programming?

  12. PDF Requirement Engineering

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window.

  13. Software Engineering Assignment 2

    Software Engineering Assignment 2 - Free download as PDF File (.pdf) or read online for free.

  14. Powerlearnproject/se-assignment-2-introduction-to-software-engineering

    Requirements engineering is the process of gathering stakeholder input,requirements for the software we are trying to build and and we can use things like questionnaries ,surveys,researching vendor soultions,set interviews etc to get to know what the stakeholder need from the software.This ensures that user needs are met and there arent any ...

  15. Assignments

    Software Design and Engineering; Learning Resource Types grading Exams with Solutions. assignment Presentation Assignments. assignment_turned_in Programming Assignments with Examples. assignment Written Assignments. Download Course. Over 2,500 courses & materials

  16. Assignment 2

    EE CE430 - Assignmen t 2. This assignment mus t be submitted as one pdf file of four sections. Section 1 cont ains answer s to part. one, section 2 con tains answer s to p art two, se ction 3 cont ains a scanned cop y of the three sk e tches to. develop in par t 3, and section 4 cont ains the names of the pr oject team.

  17. Introduction to Software Engineering: Assignment 2

    COMP2404AB (Fall 22) -"Introduction to Software Engineering" Assignment 2 of 4 - Due Monday October 31st, 11:59 pm 1 Submission Instructions Submit to Brightspace on or before the due date a compressed file (.tar or .zip) that includes 1. Header and source files for all classes instructed below. 2. A working Makefile that compiles and links all code into a single executable. The Makefile ...

  18. Software Engineering Assignment Answers Week 2

    #softwareengineering #nptel #nptelwithateeqSoftware EngineeringIn this video, we're going to unlock the answers to the Software Testing questions from the NP...

  19. SOFTWARE ENGINEERING FUNDAMENTALS

    Software engineering fundaments part 2 assignment 52 marks this assignment is continuation of assignment please note that this is an individual assignment, not. Skip to document. ... Software Engineering IV (SFE401T) 3 Documents. Students shared 3 documents in this course. University Tshwane University of Technology. Info More info.

  20. Software Engineering Nptel Week 2 Assignment Answers

    Design phase. e. Requirements specification phase. Answer:a. Implementation phase. For answers or latest updates join our telegram channel: Click here to join. These are Software Engineering Nptel Week 2 Assignment Answers. Q3. In waterfall-based development, which one of the following phases accounts for the maximum effort during development ...

  21. Software Engineering 600 assignment

    Software Engineering 700 Assignment 2. Software Engineering 100% (2) 2. Lecture Notes week 6 t15. Software Engineering 100% (1) 226. SE 600 MCQS - MCQS. Software Engineering 100% (1) 8. 2023 Contact EXAM Programming 631(2022S1PRO631B) Attempt review. Software Engineering 100% (1) 26. Software Engineering Reviews.