0% found this document useful (0 votes)
161 views2 pages

Software Engineering Assignment Guide

Application documents

Uploaded by

raghu1985.blr
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
161 views2 pages

Software Engineering Assignment Guide

Application documents

Uploaded by

raghu1985.blr
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Mangalayatan University, Aligarh

Faculty of Engineering & Technology


Assignment
Class/Course-M. Tech-COMPUTER
SCIENCE-Sem-II

SubjectCode-WCSL-
6201
SubjectName- Software
Engineering
Note:-All the answers have to be writteninthe assignment copies providedandto be
submittedinthe University.

Section-A
Note:-This section contains 10 multiple choice questionsand all the questions are compulsory. All questions
carry equal marks. There will be no negative marking.

Que.1. Software is defined as ___________


a) set of programs, documentation & configuration of data
b) set of programs
c) documentation and configuration of data
d) None of the mentioned
Que.2. What is Software Engineering?
a) Designing a software
b) Testing a software
c) Application of engineering principles to the design a software
d) None of the above
Que.3. Who is the father of Software Engineering?
a) Margaret Hamilton
b) Watts S. Humphrey
c) Alan Turing
d) Boris Beizer
Que.4. What are the features of Software Code?
a) Simplicity
b) Accessibility
c) Modularity
d) All of the above
Que.5. ____________ is a software development activity that is not a part of software processes.
a) Validation
b) Specification
c) Development
d) Dependence
Que.6. Define Agile scrum methodology.
a) project management that emphasizes incremental progress
b) project management that emphasizes decremental progress
c) project management that emphasizes neutral progress
d) project management that emphasizes no progress
Que.7. CASE stands for
a) Computer-Aided Software Engineering
b) Control Aided Science and Engineering
c) Cost Aided System Experiments
d) None of the mentioned
Que.8. ________ is defined as the process of generating analysis and designing documents?
a) Re-engineering
b) Reverse engineering
c) Software re-engineering
d) Science and engineering
Que.9. The activity that distributes estimated effort across the planned project duration by allocating the
effort to specific software developing tasks is ____________
a) Project scheduling
b) Detailed schedule
c) Macroscopic schedule
d) None of the mentioned
Que.10. What is a Functional Requirement?
a) specifies the tasks the program must complete
b) specifies the tasks the program should not complete
c) specifies the tasks the program must not work
d) All of the mentionedNone of the mentioned

Section-B
Note:-This section contains 6 descriptive questionsout of which 5 questions needs to be attempted. It should
be answered within 100-200 words.

Que 11. lustrate about Functional Requirements and Non-functional Requirements.

Que 12. Interpret about the feasibility studies of requirements engineering process.

Que 13. Describe about requirements validation and management.

Que 14. Explain about the importance of sequence and activity diagrams in system design.

Que 15. Describe about translating the requirements model into the design model.

Que 16. Briefly explain about software design concepts.

Section-C
Note:-This section contains 4descriptive questions out of which 2 questions needs to be attempted. It should
be answered within 250-300 words.

Que17. List and explain the following


a) Activities of generic process framework for software engineering.
b) Umbrella activities.
Que18. What is a software myth? Explain the changing nature of the software.
Que19. List and explain distinct tasks of requirements engineering.
Que20. Explain the Functional and Non-Functional requirements.

Common questions

Powered by AI

Requirement engineering involves distinct tasks such as elicitation, specification, validation, and management. Elicitation gathers the needs from stakeholders, while specification documents these needs in a structured format. Validation ensures the requirements meet user expectations and are technically feasible. Management involves tracking and updating requirements as the project evolves. These tasks ensure that the final product aligns with user needs and technical possibilities, forming a critical foundation for the development process .

Feasibility study is integral to the requirements engineering process because it assesses whether the proposed system is viable and worth pursuing. This involves technical, economic, and legal evaluations to ensure that the system requirements are realistic and achievable within constraints like budget and technology. Conducting a feasibility study early in the process helps avoid costly missteps and ensures aligned expectations among stakeholders, leading to successful project outcomes .

Translating a requirements model into a design model can improve the software development process by creating a clear and structured pathway from abstract needs to concrete solutions. This transition aids in identifying necessary system architecture, facilitating better understanding and communication among team members. It encourages consideration of various design perspectives and alternatives, ensuring comprehensive coverage of requirements through effective implementation methodologies that can adapt to changes and integration challenges .

Agile methodologies like Scrum emphasize incremental progress, flexibility, and collaboration, which are crucial in modern software development. By breaking down projects into smaller, manageable tasks and promoting frequent reassessment and adaptation, Agile methodologies address the fast-paced and often changing requirements of clients. Scrum, in particular, involves collaborative sprints and continuous feedback, allowing teams to deliver value more quickly and reduce the risk of project failure .

The key activities involved in a generic process framework for software engineering include requirement gathering, where user needs and expectations are defined; design, which translates requirements into a blueprint; implementation, involving code development and unit testing; verification and validation, ensuring the system meets requirements; and maintenance, which addresses ongoing updates and improvements. These activities ensure a structured approach to software development, resulting in high-quality products .

Distinguishing between functional and non-functional requirements is crucial because they serve different purposes in software development. Functional requirements specify what the system should do, defining tasks and services, while non-functional requirements describe how the system performs these functions, focusing on quality attributes like performance, scalability, and usability. This distinction helps in the clear documentation and management of client expectations and system constraints, which is vital during system design and evaluation .

Sequence and activity diagrams play a pivotal role in system design by providing clear and systematic visualizations of the interactions and workflows within a system. Sequence diagrams detail object interactions in a time sequence, essential for understanding the exchange of messages and how tasks are completed over time. Activity diagrams illustrate the flow of processes or activities, aiding in identifying the control flow and parallel operations within a system. Together, these diagrams facilitate comprehensive understanding and communication among stakeholders, contributing to effective system design .

CASE (Computer-Aided Software Engineering) tools enhance the software engineering process by automating repetitive tasks, facilitating better design and code management, and improving accuracy and consistency. They provide a suite of beneficial features like design analysis, code generation, and documentation support, enabling efficient handling of complex software projects, improving productivity, and ensuring high-quality software development .

Modularity and simplicity are fundamental to effective software design as they enhance manageability, readability, and scalability. Modularity involves dividing the software into distinct, independent units or modules, making it easier to understand, develop, and maintain. Simplicity ensures these units perform their functions without unnecessary complexity, reducing the potential for errors and making the system more adaptable to changes. This approach facilitates easier debugging, testing, and refining of software components .

Software myths, such as 'adding more developers speeds up production', impact the perception and development of software projects by setting unrealistic expectations and potentially leading to project mismanagement. These myths can contribute to inefficiencies, overestimated capabilities, and underestimated complexities in software projects. Addressing these misconceptions through education and realistic planning is essential to manage risks and improve outcomes in software development .

You might also like